Come visualizzare i dati dei sensori IoT

IoT

Per tutti gli utenti che si addentrano nell'entusiasmante mondo dei progetti IoT DIY, una sfida comune che incontrano spesso è come visualizzare efficacemente i dati generati dai loro dispositivi personalizzati utilizzando app mobili o browser web. Questi dispositivi sono spesso costruiti attorno ad Arduino o schede ESP, e consentono ai produttori di creare soluzioni innovative per un'ampia gamma di applicazioni. Tuttavia, il pezzo mancante del puzzle è trovare un modo semplice, diretto e affidabile per visualizzare e interagire con i dati del sensore.

Immagina ora che il tuo dispositivo stia controllando l'umidità con un ESP32 e desideri essere in grado di visualizzare i tuoi dati in tempo reale abbastanza rapidamente in modo da poter intraprendere azioni in base a eventi specifici. Esistono molti modi per pubblicare i dati dei sensori. Alcuni richiedono tempo e altri sono più veloci da configurare. Vediamo ora quali sono alcuni dei metodi più comuni.

Metodi più comuni di visualizzazione dei dati IoT

Utilizzare un'app mobile per visualizzare i dati connessi tramite Bluetooth

Il Bluetooth è una scelta molto diffusa per collegare i dispositivi IoT alle app mobili. Gli utenti possono stabilire una connessione Bluetooth, inviare dati dal proprio dispositivo IoT all'app mobile e visualizzarli in tempo reale. Sono disponibili numerosi esempi di app mobili e librerie appositamente progettate per questo scopo. Le app pronte all'uso, tuttavia, risultano troppo generiche e non abbastanza flessibili se si desidera una dashboard personalizzata. Le soluzioni locali, come il Bluetooth, richiedono di essere fisicamente vicini al dispositivo IoT per accedere ai dati, il che può limitare il monitoraggio e il controllo remoto.

Integrare un server Web nel dispositivo

L'integrazione di un server Web all'interno del dispositivo IoT consente di visualizzare i dati utilizzando un browser Web. Richiede che il dispositivo disponga di connettività di rete e di solito viene implementato collegando il dispositivo a un punto di accesso Wi-Fi o con il dispositivo che crea il proprio hotspot Wi-Fi. Sebbene sia possibile creare la propria implementazione del server Web, una delle soluzioni più diffuse è quella di utilizzare la libreria ESPAsyncWebServer. Essa consente al dispositivo IoT di servire pagine HTML personalizzate che presentano i dati. Si tratta di una soluzione molto flessibile e personalizzabile, ma allo stesso tempo complessa e adatta soprattutto a utenti esperti. L'ambito di questa soluzione è in genere locale, ovvero è necessario trovarsi sulla stessa rete del dispositivo, anche se, con una configurazione più avanzata abilitando il port forwarding nel router, è possibile accedere al dispositivo in remoto da qualsiasi luogo. Uno dei principali vantaggi è la sua bassa latenza, in quanto i dati mostrati nella pagina Web provengono direttamente dal dispositivo senza alcuna elaborazione. D'altra parte, è una soluzione che richiede un alto livello di abilità di programmazione e inoltre, a causa della natura immutabile del firmware, ogni modifica in una dashboard richiede la ricompilazione del codice e il reflashing del firmware. Infine, l'incorporamento di un server Web o di uno stack Bluetooth all'interno del dispositivo può richiedere molte risorse, ciò potrebbe limitare le capacità del dispositivo o richiedere un microcontrollore più potente, aumentando sia i costi che la complessità.

Inviare i dati del sensore IoT a un sistema esterno

I dispositivi IoT possono inviare dati a sistemi esterni utilizzando diversi protocolli, come MQTT o HTTP. Sebbene esistano molte implementazioni basate su HTTP, quelle basate su MQTT sono le più popolari ed è diventato lo standard de facto nella comunicazione IoT grazie al suo modello leggero, efficiente e di pubblicazione-sottoscrizione, che lo rende adatto per dispositivi con risorse limitate e applicazioni IoT scalabili e in tempo reale.

L'invio di dati a sistemi esterni si basa su un'infrastruttura esterna. Sono necessari almeno i seguenti componenti:

  • Un server che riceve (e archivia, se necessario) i dati
  • Un server Web che implementa l'applicazione e che consente all'utente di accedere e visualizzare i dati

Entrambi i componenti possono essere eseguiti sullo stesso computer o su computer diversi. Questi computer possono in genere essere self-hosted o cloud-hosted.

Piattaforme self-hosted: l'utente è proprietario dell'infrastruttura, in genere a casa o in locale, e dei computer in cui viene eseguita l'applicazione di monitoraggio. Di solito ci sono due modi diversi per implementare questi sistemi:

  • Distribuisci un'applicazione (open source) sulle tue macchine che può essere utilizzata immediatamente
  • Costruisci il tuo sistema completo da solo

Le piattaforme self-hosted pronte all'uso sono state tradizionalmente le più adottate grazie alla loro natura open-source, alla flessibilità, al supporto della community di sviluppatori e all'ampia gamma di componenti aggiuntivi ed estensioni. Queste soluzioni richiedono la creazione e la manutenzione dell'infrastruttura, il che le rende a volte complesse e dispendiose in termini di tempo e risorse. Inoltre, sebbene il software sia gratuito, l'hardware su cui girano sta diventando sempre più costoso e difficile da trovare. Tutte queste limitazioni hanno contribuito all'aumento di popolarità delle soluzioni cloud-hosted principalmente per la loro comoda natura non presidiata, ma anche perché semplificano lo sviluppo del firmware dei dispositivi, la loro scalabilità e le opzioni di personalizzazione disponibili.

Piattaforme cloud-hosted: l'infrastruttura e i computer si trovano in un cloud di proprietà del provider dell'applicazione. Indipendentemente dalla soluzione scelta, alcuni sistemi offrono la possibilità di integrarsi con sistemi esterni, offrendo l'opportunità di diffondere i dati su varie piattaforme. I principali limiti di queste soluzioni sono la loro dipendenza da una connessione Internet e il fatto che possono comportare alcuni costi quando sono richieste funzionalità avanzate. Un approccio comune è quello di facilitare il trasferimento dei dati a piattaforme come IFTTT, una scelta ampiamente adottata. IFTTT può facilitare ulteriormente azioni come l'archiviazione di dati in un database MySQL o l'aggiunta di righe a un foglio Google. Puoi usare anche Arduino Cloud per archiviare e visualizzare i dati dei tuoi dispositivi. Arduino Cloud è una piattaforma ospitata su cloud che fornisce un ambiente user-friendly per sviluppare il software dei dispositivi IoT e per creare dashboard personalizzabili e approfondite utilizzate per monitorare e controllare i tuoi dispositivi IoT. Arduino Cloud è una piattaforma ospitata in cloud progettata per semplificare l'intero processo, dallo sviluppo del firmware al monitoraggio e al controllo dei dispositivi da qualsiasi luogo. Il servizio è stato creato con l'obiettivo di democratizzare l'IoT, proprio come Arduino ha permesso ai produttori di progettare con facilità. Le funzionalità di sviluppo online, l'archiviazione del codice e le dashboard intuitive di Arduino Cloud lo rendono una scelta interessante per gli appassionati di IoT. Indipendentemente dal fatto che tu sviluppi offline o online, l'archiviazione del codice nel cloud elimina la necessità di backup manuali e consente lo sviluppo da qualsiasi luogo.

In definitiva

La visualizzazione dei dati IoT non deve essere un'attività complessa, costosa o dipendente dalla posizione. La scelta della soluzione giusta per te dipende dal tuo caso d'uso e dalle tue esigenze specifiche. Le soluzioni locali, come Bluetooth o server Web incorporato, richiedono la vicinanza fisica al dispositivo IoT per accedere ai dati, il che limita il monitoraggio e il controllo remoto. Se stai cercando di semplificare la visualizzazione dei dati IoT, prendi in considerazione l'idea di provare Arduino Cloud e sbloccare il suo pieno potenziale per i tuoi progetti.

Per consultare esempi e progetti seguire il link sottostante:

5 ways to visualize your Arduino or ESP sensor data | Arduino Blog

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend