IoT facile con Arduino MKR WIFI 1010

Nelle scorse settimana ho già parlato più volte di IoT ma rileggendo quanto scritto mi rendo conto che questi acronimi a volte sono incompressibili, quindi questa volta inizio provando a dare qualche definizione sperando sia comprensibile a tutti.

Cose vuol dire IoT

L’Internet of Things (IoT) è una tecnologia in crescita che consente la connessione di dispositivi e oggetti alla rete internet, in modo da poterli controllare e raccogliere dati da essi. Ciò consente di automatizzare molte attività quotidiane e di raccogliere informazioni preziose per diverse applicazioni.

Dove e quando viene usato l’IoT?

In genere in ambiti e applicazioni ben definite come ad esempio:

  • la domotica, che consente di controllare il riscaldamento, l’illuminazione, gli allarmi e gli elettrodomestici di casa da remoto;
  • il controllo urbano, che consente di monitorare i sistemi di traffico, l’illuminazione pubblica e la raccolta dei rifiuti;
  • l’industria 4.0, che consente di monitorare la produzione e gli impianti industriali per migliorare l’efficienza e ridurre i costi;
  • la sanità, che consente di monitorare la salute dei pazienti a distanza e se necessario fornire assistenza.

I vantaggi dell’ IoT

Uno dei vantaggi di questo approccio è la possibilità di raccogliere grandi quantità di dati che possono poi essere utilizzati per migliorare l’efficienza e ridurre i costi

Ed è proprio questo il motivo per cui l’IoT è diventato così importante, in quanto l’analisi di dati consente di ottimizzare ed automatizzare, attivare allarmi in caso di anomaie e dove possibile segnalare la necessità di un intevento umano.

Come in tante cose a tutto questo ci si arriva un passo alla volta tramitre la creazione di prototipi ed è qui che tornano utili quelle cosine di cui ho parlato qui l’altro giorno.

La mia esperienza con Arduino e IoT

Anche sa mia esperienza è limitata ritengo sia comunque significativa perchè nel giro di quelche ora sono riuscito a creare un piccolo progetto capace di generare un grafico con l’andamento settimanale di temperatura e umidità diviso per stanza.

Per realizzarla ho usato un Arduino MKR WiFi 1010 che ho scelto dopo diverse ricerche in quanto dotata di un buon numero di connessioni e sopratutto di un chip integrato per la connessione WIFI (e che – molto importante – grazie alla sua libreria WiFiNINA permette la comunicazione in https necessaria per le API di alcuni servizi).

In breve quello che ho fatto possiamo riassumerlo in 3/4 punti:

  • Collegare alla MKR WiFi 1010 un sensore capace di leggere umidita e temperatura (DHT11)
  • Facendomi aiutare da un DST1302 (un RTC – Real Time Clock) sono andato ad interrogare il sensore ad intervalli specifici (3 letture/ora).
  • Usando il modulo WiFi integrato ho quindi mandato i dati online che sono stati registrati su un database e che tramite una paginetta web vengono mostrati con una curva in relazione al tempo.
  • Infine per capire se tutto funzionava collegato alla MKR WiFi 1010 c’è anche un display LCD I2C 1602 che mi mostra i valori inviati online e nel caso la temperatura scende sotto i 19 gradi un bot di telegram mi manda una notifica

Nella prossima versione (alla quale sto pian piano lavorando) sto realizzando un disaccopiamento tra la MKR WiFi 1010 che gestirà sempre l’invio dei dati online ma che grazie ad un modulo radio NRF24L01 sarà impostata come slave rivecendo i dati dei altre due schede a cui colleghero il DHT11 e che trametteranno i dati della lettura dei sensori.
In questo modo sarà in grado di registrare i dati provenienti da più stanze contemporanemente e magari metterli in relazione…

Elenco servizi online per IoT

Tutto questo però, senza la parte di “visualizzazione grafica“, serve molto a poco,…
Ecco quindi è un piccolo elenco di alcuni dei principali servizi online IoT che ho trovato online.

  1. ThingSpeak – ThingSpeak è una piattaforma IoT per la raccolta, l’analisi e la visualizzazione dei dati. Offre una varietà di strumenti per la creazione di grafici e dashboard, nonché la possibilità di integrare i dati con altre piattaforme come MATLAB e Salesforce.
  2. Adafruit IO – Adafruit IO è una piattaforma IoT per la raccolta, l’elaborazione e la visualizzazione dei dati. Offre un’interfaccia user-friendly per la creazione di dashboard e la visualizzazione dei dati in modo semplice e intuitivo.
  3. Thinger.io – Thinger.io è una piattaforma IoT per la creazione di prototipi IoT. Offre una vasta gamma di strumenti per la raccolta dei dati, l’elaborazione e la visualizzazione, nonché la possibilità di integrare i dati con altre piattaforme come Google Sheets e IFTTT.

Questi servizi offrono molte opzioni con la possibilità di raccogliere e gestire grandi quantità di dati anche se “ovviamente” i piani gratuiti hanno grosse limitazioni sulle funzionalità.

LIX Una nuova piattaforma per IoT

Anche noi (inteso come mavida) stiamo sviluppando un servizio di questo tipo.
Per il momento il nome in codice è LIX ed è stato progettato per rispondere alle esigenze delle applicazioni domotiche e/o Industria 4.0, fornendo un set di API super-semplice ma altrettando potente per la raccolta e la visualizzazione dei dati.

Attualmente le personalizzazioni che possono essere gestiste direttamente dall’utente sono limitate e prevedono solo la visualizzazione dei dati con diversi tipi di grafici, ma stiamo sviluppando alcuni elementi che presto permetteranno altri tipi di personalizzazioni.

Lix IoT Grafico a linee
Lix – Esempio visualizzazione dati con grafico a linee ad assi indipendenti


La raccolta dei dati può essere organizzata in base a dei “nomi” in grado di indentificare il nome o la posizione del dispositivo (es DHT_CUCINA, DHT_SOGGIORNO) e con alcuni hook possiamo anche impostare degli allarmi (su valori soglia) con l’invio delle notifiche via Telegram in base ai dati raccolti. In questo modo, è possibile essere imformato in tempo reale su anomalie o problemi.

Presto penso apriremo una beta pubblica per tutti quelli che avranno il piacere di provarlo ma se vuoi qualche info in più scrivimi.

.:: Maurizio Pelizzone
.:: Maurizio Pelizzone

Sono Maurizio Pelizzone, mi occupo di #wordpress per lavoro realizzando siti, temi e plugin personalizzati.
Quando serve faccio anche consulenza e formazione a distanza su WordPress, Woocommerce e Gutenberg

2 commenti

  1. Ciao Maurizio, ottimo articolo. Ti segnalo che anche arduino ha il proprio cloud, con un setup dedicato che ti permette di mandare la telemetria della mkr Wi-Fi 1010 in mento di 5 minuti, con un approccio davvero low code 🙂

    • Wow….
      Un commento qui come si faceva una volta: Non ci posso credere.
      Si ho iniziato a guardare anche quello ed ho visto che c’è anche un interessante integrazione con Alexa che mi interessa molto.

      … e cmq mi sono reso conto solo adesso che lavori proprio per Arduino.
      mi piacerebbe fare una chiaccherata per capire bene cosa fai visto che fino a poco tempo fa ti occupavi proprio di IoT

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *