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