Z-WAVE, Scelte Tecniche - Parte Seconda
Dopo il piccolo break con lo scorso articolo, rieccoci nuovamente a parlare di Z-Wave. Nell'ultimo articolo sull'argomento ci siamo lasciati parlando delle tipologie di dispositivi che popolano la tecnologia. Andando avanti su questo argomento, si può dire che i due gruppi (alimentati da rete elettrica o da batterie) si differenziano principalmente per la capacità di agire o meno da ripetitori. I nodi alimentati da rete elettrica principale posseggono questa caratteristica ed agiscono dunque da nodi attivi. Quelli alimentati a batteria, per ragioni di economia energetica, non hanno questa capacità e non posso inoltrare informazioni sulla rete e, quindi, possono essere considerati come nodi terminali.
Riassumendo, ritengo di poter schematizzare le tipologie come nella seguente matrice:
|
MASTER |
SLAVE |
||
Componente |
Tipo |
Componente |
Tipo |
|
ALIMENTATO DA RETE |
Controllore |
Configuratore |
Controllore |
Config. Secondario Ripetitore |
Ripetitore |
Nodo Std. |
Ripetitore |
||
A BATTERIE |
Controllore |
Configuratore Mobile |
Controllore |
Config. Sec. Mobile |
Nodo Std. |
Nodo Terminale |
|||
IBRIDO |
|
|
Nodo Std. |
Nodo Terminale Ripetitore |
Come anticipato, per ovvie motivazioni energetiche, i nodi a batteria sono realizzati in modo da utilizzare il canale di comunicazione il meno possibile. Tipicamente quando serve (alla rivelazione di un qualche sensore, alla variazione importante di una qualche grandezza misurata), quando programmato (ad intervalli di tempo prestabiliti – Wake Up Time) o su richiesta manuale. Questo approccio consente di minimizzare il dispendio di energia consentendo loro di operare per anni prima di un cambio batteria.
Con questo sistema il nodo a batteria non è in grado però di rispondere ad eventuali richieste di aggiornamento o comandi di riconfigurazione in tempo reale a meno di un risveglio manuale. Il controllore, quindi, metterà in coda la richiesta/comando e appena il nodo obiettivo si risveglierà gli verrà recapitata/o.
Per ovviare a questa latenza esiste anche una ulteriore tipologia di nodo a batteria: i Frequently Listening Receiver Slave (FLiRS). In molte applicazioni non è consentita la latenza di wake up e si richiede ai nodi una reattività più immediata. Con i FLIRS questo problema si supera poiché tali dispositivi ascoltano sul canale radio frequentemente eventuali esigenze comunicative che li riguardano.
Per capire la distinzione di questi due approcci, basti pensare a due tipici esempi: la riconfigurazione di un sensore che legge parametri ambientali non è una operazione a priorità assoluta e pertanto la latenza di Wake Up (in genere tra i 1800 e i 3600 secondi) è tollerabile; l’apertura di una porta invece è una operazione che può tollerare qualche istante di latenza e per questi casi i dispositivi FliRS sono necessari.
ARCHITETTURA
Dal punto di vista architetturale, i nodi della rete vengono organizzati in modo ben definito. Essenziali sono due etichette: Home ID (HID) e Node ID (NID).
L’ Home ID è il numero identificativo della rete. Questo numero è:
· Unico (nessuna rete Z-wave può avere un HID uguale ad un'altra)
· Trasparente (L’utente non è a conoscenza di tale numero ma è il chip Z-Wave che ne è dotato dalla sua creazione)
Il Node ID è il numero progressivo che viene assegnato ad un nodo all’atto della sua associazione ad una rete Z-Wave. Questo numero è
· Unico all’interno della rete di appartenenza (All’interno della stessa rete non possono esistere due nodi diversi con uno stesso id)
· Noto (L’utente ha conoscenza del numero identificativo del nodo e tramite questo lo distingue tra gli altri)
Oss: 2 Dispositivi che appartengono a 2 reti Z-Wave possono avere lo stesso Node ID ma hanno per forza Home ID differenti.
CARATTERISTICHE DI BASE
Questa semplice strutturazione torna utile anche considerando che una mesh network Z-Wave può essere composta al massimo da 232 nodi. Due sono motivi principali:
· l’architettura con HID e NID consente la permanenza in una stessa area di più reti Z-Wave indipendenti
· è possibile inglobare una rete all’interno dell’altra
Tutto ciò, unito alla cifratura dei messaggi, al controllo di coerenza ed altro, consente praticamente la coesistenza di più reti Z-wave negli stessi spazi fisici senza possibilità di interazioni indesiderate tra esse.
INCLUSIONE
L’associazione di un dispositivo ad una rete Z-Wave avviene tramite il meccanismo dell’ Inclusione.
Un dispositivo/nodo che appartiene ad una rete non può essere incluso in un'altra a meno di una preventiva esclusione (che coincide di fatto con un reset alla configurazione di fabbrica).
Il controllore è l’unico dispositivo capace di includere nuovi nodi assegnando loro i NIDs e costruendo la rete. Per includere un nuovo nodo è necessario effettuare due operazioni:
· abilitare il controllore all’inclusione
· attivare il meccanismo di inclusione sul nodo
Il controllore dunque entra in una fase di ascolto mentre il nodo comunica il Node Information Frame (NIF) ovvero una sorta di carta di identità del dispositivo. Recepito il NIF il controllore inizia la fase di intervista per caricare l’intera descrizione del dispositivo e consentire dunque lo scambio del corretto tipo di informazioni.
SICUREZZA
Per molti prodotti Z-Wave il Security Layer nativo costruito sull’ HID risulta essere sufficiente a garantire un elevato standard di sicurezza. Lì dove però tale standard può risultare esiguo, si pensi ad esempio ai door locks per l’accesso agli edifici, i prodotti Z-Wave implementano un ulteriore livello di sicurezza AES128. Si tratta dunque dell’ Advanced Encryption Services a 128 bit utilizzato anche per l’home banking.
Da quanto argomentato, credo si possano intuire le ragioni che hanno spinto ad adottare alcune soluzioni piuttosto che altre e viene di conseguenza l’apprezzamento per le caratteristiche offerte da questa tecnologia.
A questo punto credo si possano affrontare con spirito critico anche le problematiche da cui è affetta Z-Wave tanto a livello DIYer che a livello professionale. Nel prossimo articolo tenterò di sviscerare l’argomento.
MaP