Università degli Studi di Trieste Laurea in Ingegneria dell’Informazione Sistema di Monitoraggio Traffico real-time con centralizzazione su rete WAN/3G e completo di client Android Laureando: Stefano Altin Relatore: Prof. Ing. Sergio Carrato Anno Accademico 2014-15 Correlatore: Ing. Piergiorgio Menia Obiettivo Realizzare un sistema di monitoraggio traffico effettuando una centralizzazione dei dati visualizzazione real-time su dispositivo mobile trasmissione a server di Centralizzazione Schema Generale Radar EpCore Server Centrale Client Android Soluzione Quattro dispositivi: • Radar in tecnologia Doppler • Modulo di controllo EpCore088 • Router 3G • Dispositivo mobile Android Soluzione: dispositivi Radar in tecnologia Doppler Modulo di controllo EpCore088: • 2 interfacce seriali • Interfaccia Ethernet • Basso assorbimento, modulo industriale, piccole dimensioni, adatto per installazione sul campo Soluzione: dispositivi Router 3G • LAN con interfaccia Ethernet e Access Point WiFi • WAN su rete cellulare 3G e Ethernet (non usata) Dispositivo mobile Android • Connettività 3G e WiFi (non usata) Caratteristiche radar • Nome prodotto: MD-01 • Interfaccia: RS-232 • Informazioni acquisite: velocità, lunghezza, gap e headway • Formato dei dati: <identificativo|velocità|lunghezza|gap|headway|0|0> EpCore088 Funzionalità: • Ricezione dati di transito dal radar • Memorizzazione locale temporanea dei dati (circular buffer) • Centralizzazione degli eventi di transito: • ad un Client Android • ad un Server Centrale (periodicamente) EpCore Il controllore utilizzato è l’EpCore088 Utilizza il sistema operativo Nut/OS Caratteristiche principali: • Multithreading • Interrupt Driven I/O Multithreading • Esecuzione pseudo-contemporanea di più thread • I thread vengono eseguiti secondo una priority queue dipendente da: • • Numero di processi • Priorità assegnata al thread Il Nut/OS prevede il multithreading Cooperative Multithreading cooperative Il sistema operativo non ha il controllo completo dei thread Il thread deve rilasciare il controllo al sistema per il task switching Sono previste due modalità di rilascio della CPU per un thread attivo: • Chiamata di Sleep per un tempo prefissato • Chiamata di I/O in un driver gestita ad interrupt Focus: Struttura EpCore Programmazione modulare Struttura implementata internamente all’EpCore: Client EliSerial Server EliTcpClient EliTcpSocket EliTcpServer Implementazione EpCore Tre thread principali: • Ricezione dati dal radar e bufferizzazione nel circular buffer • Processo Server: attesa di connessione dal Client Android e trasmissione dei dati a fronte della connessione • Processo Client: tentativo periodico di connessione al server Centrale Client Android Applicazione Android Caratteristiche: • Visualizzare sul dispositivo • Funzionalità real-time Client Android Funzionalità: • Connessione verso un indirizzo IP e una porta specifica • Verifica della validità delle acquisizioni ricevute • Visualizzazione delle informazioni sul transito Conclusioni Il progetto ha dato esito positivo: • Assenza di perdita di dati trasmessi dal radar • Corretta visualizzazione delle letture ricevute su dispositivo mobile anche in modalità real-time • Connessione al Server Centrale con completa memorizzazione dei dati acquisiti Dimostrazione Router TCP/IP Ethernet IP LAN 192.168.20.254 / 24 Radar IP WAN pubblico statico 151.1.228.131 / 24 TCP/IP 3G TCP/IP Wi-Fi EpCore IP : 192.168.20.1 / 24 DFGTW : Router Port : 50201 RS-232 Dati N A T Internet RS-232 PC Server IP : 192.168.20.100 / 24 Port : 2048 TCP/IP 3G Debug Android Client