Protocolli per reti di sensori wireless : Zigbee Livello applicazione
IEEE 802.15.4 e Zigbee Protocolli per reti wireless a bassa potenza e basso costo ●
Standard based
IEEE 802.15.4 sviluppa lo strato fisico e MAC della rete Zigbee sviluppa lo strato di rete e applicativo caratteristiche primarie rete wireless: ●
Limitato consumo di energia
●
Bassi costi
●
Grandezze end point minime
●
Sviluppo rete di sensori a maglie che supporti un ampio numero di sensori
Zigbee: perche' utilizzarlo? Generale ●
E' un protocollo specifico per reti radio piccole
●
Gli standard: Zigbee Alliance
Caratteristiche ●
Bassi costi di produzione
●
Bassi consumi energetici
●
Flessibilita' ~ gestisce molti nodi
●
Sicurezza ~ AES 128bit
●
Range ~ 75m in LOS (line-of-sight) condition
molti campi di utilizzo
Architettura Zigbee Architettura stratificata del protocollo: – – – –
Application framework:datatype Device object (ZDO) Application Support sublayer (APS) Componenti di sicurezza
in piu' utilizza gli strati implementati dal protocollo 802.15.4 Architettura della rete: – – –
Coordinatore Router zigbee End-device
I nodi hanno un indirizzo unico a 64 bit ~Ogni dispositivo e' costituito da una radio e da piu' tipi di sensori che condividono l'uso della radio per la comunicazione sulla rete.
La comunicazione: APS, Cluster, endpoint L'APS fornisce il supporto per le applicazioni nella comunicazione. Definisce in particolare le strutture di comunicazione usate dallo strato applicazione Utilizza : Profili applicativi : descrizione struttura – Cluster : mezzi di comunicazione – Endpoint : porte I profili applicativi possono essere privati o standard –
Binding Connessione tra dispositivi tramite endpoint ●
●
Ogni messaggio e' identificato da : destinatario e tipo di risorsa L'APS contine indirizzo mittente indirizzo destinatario clusterID e profileID
problema: ●
Per la presenza di molti bind per dispositivo e' necessaria la memorizzazione della tabella bind
Tipologie di Binding ●
Direct binding il dispositivo conosce I bind delle applicazioni che deve gestire. In caso di fail si ha perdita di memoria
●
Binding con cache utilizzo una cache per memorizzare la tabella bind Aumento l'overhead – Annullo la possibilita' perdita dati zigbee ha aggiunto negli standard la gestione di una seconda cache –
Cluster library Collezione di cluster e attributi con significato specifico ●
●
Definiscono molti domini funzionali Riutilizzo cluster
All'interno delle librerie sono descritti sia i cluster sia gli attributi e gli identificativi dei cluster. Beestack: fornisce una implementazione della libreria cluster di zigbee. ●
Viene utilizzato per la definizione del dominio funzionale che viene utilizzato in home automation
Zigbee device profile Definizione cluster del binding. Classi di comandi forniti: –
– –
Discovery dispositivi e servizi ● Comandi che offrono il mezzo per avere informazioni sui membri della rete e sui servizi offerti. Da la possibilita' di conoscere I profili attivi Gestione dei Binding ● Per la gestione binding sono presenti molti comandi Gestione della rete ● Comandi per ottenere informazioni dalla rete al fine di controllarla
Comandi di gestione Binding Gli standard Zigbee forniscono molti comandi per la gestione binding: ●
End-device-bind binding tramite stimoli esterni. Inviato dal dispositivo alla cache per segnalare bind
●
Bind-register il dispositivo scarica dalla cache la tabella dei bind
●
Repleace device sostituzione dispositivo
●
backup/recover bind table comandi di backup e recover da cache secondaria
Commissioning Task di configurazione per dispositivi di rete wireless : ●
●
Vi sono memorizzati i parametri necessari per l'applicazione. Non sono tutti impostati dal programmatore
Vi sono parametri dell'applicazione che e' necessario siano impostati dall'utente o dall'installatore. E' naturalmente necessario tenere di conto della necessita' di elasticita' e di coesistenza con gli altri dispositivi.
Scenari e concetti L'utente e' solito idealizzare un sistema wireless. ● ● ●
Rete auto configurante Immediata operativita' della rete Alcuno sforzo per l'installazione della rete
Problemi: ●
Determinazione di appartenenza determinazione rete di appartenenza
●
User-definable bindings binding personalizzati da utente
Soluzioni per l'automazione della rete ●
Shrink-wrap
Preconfigurazione dispositivi ●
Commissioning tramite bottoni con feedback <E-mode Easy> Utilizzo bottoni per effettuare il binding manuale dei dispositivi. Come feedback vengono utilizzati led.
Queste soluzioni sono utili su piccole reti e riducono la flessibilita' della rete. Vi sono problemi nell'utilizzo di queste due modalita' nelle reti molto distribuite.
Soluzioni per reti ampie ●
Commissioning tool <S-mode System> utilizzo laptop per interfacciarsi sulla rete; I laptop non entrano a far parte della rete che interfacciano.
●
Remote Commissioning <S-mode System> versione del commissioning tool mediante gestore remoto. Viene utilizzata una connessione gprs e wan per la connessione con il gateway della rete Zigbee. ~ Il commissioning durante la fase di sviluppo software viene utilizzato per testare il prodotto affinche' soddisfi tutte le richieste dell'applicazione. Esistono infatti task di commissioning per il test delle varie funzionalita' (velocita' commission rete, gestione rete ecc.).
Standard per il commissioning Standard forniti da Zigbee per l'utilizzo di parametri. Definisce 3 classi di parametri: ●
Membership parametri di informazione sulla rete e sui membri della rete
●
Group & Bindings metodo di connessione tra dispositivi e appartenenza alla rete a connessioni logiche uno a molti molti a uno
●
Application parametri utilizzati per il commissioning di particolari applicazioni presenti sul zigbee device profile con utilizzo del cluster commissioning.
Commissioning cluster Fornisce I comandi standard over-the-air per la gestione del commissioning tra membri della rete. Attributi per il controllo del commissioning: Controllo routing – Connessione dei dispositivi ottimizzazione della rete. –
Comando principale per il commissioning fornito dagli standard ●
Restart Device Request : comando di restart per attuazione di configurazioni. Vengono resi attivi attributi di configurazione.
SAS – Startup Attributes Set Set di attributi per l'avvio: – – – –
Startup control Extended PAN ID <EPID> Channel Mask Security information ● Key ● Address
~ Usato per determinare come I dispositivi devono collegarsi alla rete. Vengono eseguite le seguenti fasi : – – – –
Coordinator Join Rejoin Connessione
si puo' notare che esistono vari stati del SAS di un dispositivo
Problema: sicurezza della rete Monitoraggio della rete da sistema esterno non autorizzato: ●
●
Pacchetti criptati con AES 128bit – Criptazione pacchetti – Richiede poca memoria Chiavi di sicurezza – Non scambiate over-the-air
Soluzioni alternative per costituire un sistema di sicurezza sono implementate tramite comandi standard Zigbee
Soluzioni alternative 1 Vengono impiegati metodi del binding e del membership: ●
Memebership – – – – – –
Enable/disable permit join method ● abilita/disabilita il permesso di join sul router Leave command ● Forza a lasciare la rete Preferred EPID e channel mask ● Preconfigurazione valori riconoscimento rete Preconfigured key ● Chiave di sicurezza pre configurata Allowed device ● Lista di dispositivi verificati Connessione ● Gestione join tramite commissioning tool
Soluzioni alternative 2 ●
Binding effettuato tramite il gestiore binding di Zigbee metodi di binding: – – – –
Pre configurated ● I dispositivi conoscono gia' I bind (A-mode) Service discovery ● Uso comando Match-desc sui cluster End device binding method ● Intervento utente con comando end-device-bind (E-mode) Tool based binding ● Binding impostati tramite tool
Commissioning Group Attraverso il cluster group, Zigbee da la possibilita' di effettuare comunicazioni del tipo multicast interne alla rete. Particolarita': ●
indirizzo a 16 bit
●
Nessun overhead (non viene usato broadcast)
●
Comunicazione uno a molti
vengono forniti metodi per la gestioni di gruppi multicast interni alla rete Zigbee: ●
Preconfigured: preconfigurato per il gruppo
●
Discovered: membri identificati tramite proprieta del dispositivo
●
Buttons : annessione al gruppo tramite bottoni
●
Tool based o cache: migliora le prestazioni della rete.
Verifica e gestione errori Per effettuare una verifica dell'impianto e' necessario impostare sul dispositivo, una configurazione apposita. – –
Correzione codice Verifica funzionamento dispositivo
Troubleshooting strumento per risolvere errori presenti sul codice del programma. –
Costituito da task per la ricerca di errori