Per semplicità, descriverò questo usando una tipica installazione di smart home come riferimento, ma qui nulla è stato risolto dall'applicazione. La topologia di alto livello è ugualmente adatta per un'applicazione di monitoraggio dell'azienda agricola che copre diversi chilometri con migliaia o sensori, il monitoraggio dei parcheggi in una città o la gestione dell'illuminazione in un edificio per uffici.
Tratterò il problema approssimativamente in strati della gerarchia dei dispositivi, il che potrebbe corrispondere alla crescente complessità di un'installazione o alla creazione di scenari di casi d'uso specifici. Ecco il mio diagramma generalizzato che copre l'intera rete.
Livello di nodo
Il singolo nodo nel mio diagramma è una lampada connessa WiFi con un interruttore di esclusione fisica locale. Il nodo ha spesso sia funzioni di sensore che di controllo e una piccola quantità di calcolo / archiviazione locale. Idealmente, il nodo può agire in modo autonomo. Il nodo può assumere il controllo dagli switch locali, direttamente sulla LAN (se dispone di WiFi / Bluetooth) o dall'hub locale o dal cloud. Un nodo manterrà spesso una connessione TCP persistente con l'hub o il cloud.
Una posizione in genere contiene diversi nodi, con funzioni diverse, che utilizzano varie opzioni di connettività. Una casa intelligente potrebbe raccogliere dati di temperatura, attività e video interni / esterni. I sensori remoti possono utilizzare connessioni diverse a Internet. I nodi in genere utilizzano microcontrollori , spesso a basse frequenze di clock.
Livello hub In una casa intelligente, potrebbero esserci diversi hub (uno per ciascun fornitore di dispositivi), aggregazione o gerarchia. L'hub può essere combinato nel router o autonomo. L'hub non ha nemmeno bisogno di essere attivo nella rete (oltre a inoltrare i pacchetti). Tuttavia, l'hub potrebbe essere responsabile dell'inoltro dei comandi a un nodo, ovvero comandi provenienti da altri nodi connessi localmente o da un server remoto. L'hub potrebbe implementare lo store-forward dei dati, la compressione o il filtraggio dei dati. Davvero, l'hub è solo un facilitatore. Oggi, l'hub è la prima parte della rete che ha la capacità di fornire DNS pubblico, il che lo rende in grado di pubblicare le informazioni sulla struttura della rete sul sistema completo. Come descritto in questa domandaspesso è necessario un hub per il bridge tra Wired / WiFi TCP-IP e un protocollo radio a bassa potenza, come zigbee o bluetooth a bassa energia . Gli hub sono generalmente costruiti attorno a microprocessori e sono meno limitati rispetto ai nodi.
Terminali di roaming Altrimenti noto come smartphone. Questi sono spesso il punto principale dell'interazione dell'utente. Un semplice nodo può presentare la sua intera interfaccia utente tramite uno smartphone, una volta che il nodo può stabilire un collegamento diretto o mediato con un dispositivo specifico. Il raggiungimento di questo richiede fondamentalmente un meccanismo per stabilire la fiducia / proprietà / associazione. Un terminale può stabilire se il proprio hub si trova sulla rete locale, se deve eseguire tutte le comunicazioni tramite un server esterno o se è in grado di cercare l'indirizzo IP che consente il routing diretto al proprio hub "home". Quest'ultimo scenario richiede in genere che il router sia configurato per il port forwarding.
Servizio cloudÈ comune che il servizio cloud esegua la maggior parte del lavoro nello stack, sebbene ciò non sia sempre necessario (e non tutte le implementazioni richiederanno alcuna funzione cloud). La funzionalità più utile che può fornire un server esterno (indirizzato pubblicamente) è l'orchestrazione. Ogni nodo e elemento intermedio della rete è in genere in grado di comunicare tramite un canale diretto a questo server e il server può facilmente passare i messaggi da un dispositivo all'altro. Il server può aggregare dati e presentare visualizzazioni all'utente. In base alla configurazione dell'utente, può anche inoltrare informazioni ad altri utenti (ad esempio, il controllo dell'accesso e del riscaldamento può essere concesso agli ospiti, gli avvisi di alluvione / incendio / intrusione potrebbero utilizzare altre opzioni di rete per generare avvisi). Il cloud è anche ben posizionato per accogliere altre fonti di dati,