Nel sesto di questa serie di articoli su KNX IoT, Bruno Johnson e Wouter van der Beek spiegano come utilizzare Thread per KNX IoT.
La trasformazione digitale é stata uno dei maggiori argomenti strategici delle riunioni in agenda dell’esecutivo dell’azienda negli ultimi anni. L’opportunitá di sviluppare servizi digitali a partire da applicazioni basate su cloud richiede connessioni di rete basate su protocollo Internet (IPv6) verso i dispositivi di contorno che diventano interfaccia utente. Aziende di ogni forma e dimensione nell’automazione degli edifici commerciale hanno richiesto soluzioni wireless IoT per renderlo possibile, e l’Associazione KNX ha risposto rilasciando KNX IoT Point API (KNX IoT).
Introduzione a Thread
Come già spiegato nel nostro articolo “KNX IoT: Parte 2 – i vantaggi di Thread“, Thread è una rete a maglie basata su IPv6. In questo articolo spiegheremo Thread in modo più dettagliato, compreso il modo in cui può essere utilizzato per i dispositivi KNX IoT.
La rete a maglie di Thread contiene diversi ruoli di rete di Thread, come illustrato nella Figura 1.
Router di confine del filo
Il router di confine (BR) di Thread è l’entità di rete che collega la rete Thread alla rete IT più ampia. Questa entità è necessaria quando lo strumento software di configurazione KNX, ETS, è in esecuzione come applicazione PC sulla rete IT. È inoltre necessario per altre comunicazioni di rete, ad esempio utilizzando KNX IoT Router (vedere la Parte 5 di questa serie) per collegare KNX IoT ad altri dispositivi KNX.
Il Router di Confine Thread è una funzione di rete standard. Questo prodotto può avere molteplici aspetti e può essere basato su apparecchiature di rete, ad esempio Thread può essere un’estensione di un router Wi-Fi. Inoltre, sono possibili altre esecuzioni, ad esempio l’integrazione con il dominio dell’applicazione. Si noti che Thread consente di utilizzare più router di confine in una rete Thread, per garantire la ridondanza.
Ciò consente di partizionare le reti di Thread in modo intenzionale o non intenzionale (se un Router si guasta per qualche motivo), senza interrompere il funzionamento.
Affianco al Router di Confine, Thread specifica i tipi di dispositivi che possono assumere diversi ruoli nella rete. Per spiegare le diverse tipologie di dispositivi, bisogna capire prima i ruoli della rete Thread.
Ruolo del Router
Il nodo router è l’entità di rete che instrada i messaggi IPv6 tra i nodi thread, sia altri nodi router che dispositivi finali. Si tratta di una funzione di rete della rete Thread.
Ruolo del Dispositivo Finale
Il ruolo del Dispositivo Finale è un nodo foglia. Dal punto di vista della rete, parla solo con il suo genitore (un router). Questi ruoli del dispositivo finale sono il REED (Router Eligible End Device – Router Idoneo come Dispositivo Finale) o il dispositivo finale.
Ruolo di Leader
Il Leader è un ruolo specifico di un nodo Router. Il primo nodo router della rete diventa Leader. Il Leader è responsabile delle decisioni relative alla rete, ad esempio può promuovere i dispositivi idonei al router a router per migliorare la connettività, se necessario. In una rete Thread esiste un solo Leader. Se il Leader fallisce, un altro Router diventerà il Leader. Tutti i router memorizzano i dati di rete, ma solo il Leader può modificarli.
REED (Router Idoneo come Dispositivo Finale)
Il dispositivo REED può avere il ruolo di Router o di Dispositivo Finale Threade si aggiorna dinamicamente a Router da Dispositivo Finale quando la rete Thread si espande e, viceversa, si declassa da Router a Dispositivo Finale quando la rete si contrae. Il dispositivo REED è molto utile, in quanto consente alla rete Thread di autogestirsi.
ED (Dispositivo Finale – End Device)
Questo dispositivo supporta solo il ruolo di End Device. Il dispositivo ED può connettersi solo a un dispositivo con ruolo di router o al Router di Confine
SED (dispositivo Sleepy End)
Questo dispositivo supporta solo il ruolo di ED, ma è in grado di andare in sleep. La differenza principale è che quando il dispositivo va a riposo, si stacca dalla rete Thread (cioè non comunica via radio). Il router padre memorizzerà nella cache il traffico in entrata per tale dispositivo, in modo che quando sarà nuovamente attivo, riceverà il traffico in entrata.
Il dispositivo SED può connettersi solo a un dispositivo con ruolo di router o al Router di Confine e passa automaticamente al genitore se perde la connettività.
Estensione Maglia
Questo dispositivo non è stato menzionato in precedenza, ma in realtà si tratta di un router o dispositivo REED alimentato dalla linea. Lo scopo di questo dispositivo è quello di estendere la portata della maglia di rete, cioè può essere posizionato dove il collegamento diretto alla rete è debole. Questo dispositivo può essere un dispositivo Thread puro, ovvero non viene implementata alcuna funzionalità applicativa sul dispositivo.
Implicazioni
Come si applicano questi ruoli di Thread ai dispositivi IoT KNX?
I dispositivi KNX IoT basati su Thread dovranno essere implementati come dispositivi REED, ED o SED, altrimenti non faranno parte della rete Thread. Questa sembrerebbe essere una decisione separata dalla funzione del dispositivo KNX, ma lo è?
Tutti i dispositivi KNX IoT implementano una serie di blocchi funzionali, che é poi lo scopo del dispositivo. La scelta dell’hardware per realizzare lo scopo del dispositivo dipenderà dal fatto che il dispositivo sia alimentato dalla linea (sempre acceso) o da fonti a bassa energia (come la raccolta di energia o l’alimentazione a batteria). La regola generale è che se il dispositivo è alimentato dalla linea, si dovrebbe costruire un dispositivo REED. Per tutte le altre sorgenti, si può costruire un dispositivo finale e persino un dispositivo finale dormiente se la funzione del dispositivo KNX IoT può essere realizzata con hardware che consuma poca energia o può essere periodicamente spento (cioè non consuma energia attiva).
Esempi di ED e SED KNX IoT
Ad esempio, se un dispositivo invia dati solo periodicamente, come un sensore di temperatura, e se l’acquisizione dei dati del sensore di temperatura è a basso consumo, si può creare un SED. Se l’acquisizione dei dati del sensore è continua, allora si può ancora realizzare un SED (per evitare il consumo di energia aggiuntivo utilizzato dal trasmettitore RF), ma potrebbe essere un dispositivo ED.
Per i dispositivi che hanno richieste in arrivo e richiedono una risposta tempestiva, il dispositivo può essere un ED o un REED.
Per i dispositivi che hanno richieste in arrivo, ma la cui esecuzione è lenta, come ad esempio un sensore di qualità dell’aria, questi possono essere eseguiti come SED.
I dispositivi che richiedono l’alimentazione di rete a causa dell’hardware aggiuntivo, devono essere costruiti come REED. Ne sono un esempio gli apparecchi di illuminazione.
Riassunto
Thread consente di sviluppare i dispositivi KNX IoT in modo da soddisfare il budget di potenza richiesto. La scelta di REED, ED o SED deve essere fatta in base al fabbisogno di potenza delle periferiche che compongono la funzione del dispositivo.
Bruno Johnson e Wouter van der Beek sono rispettivamente CEO e COO di Cascoda Limited. Cascoda è un’azienda di comunicazioni che produce radio e moduli semiconduttori sicuri per l’IoT e guida lo sviluppo di standard di comunicazione IoT sicuri per gli edifici e le città intelligenti. I suoi prodotti risolvono i problemi di portata, affidabilità, sicurezza, potenza e scalabilità per l’IoT industriale e commerciale grazie a innovazioni brevettate e ai più recenti standard di sicurezza, tutti integrati in moduli IoT economici a bassissimo consumo.