Avete appena comprato la scheda Arduino Nano IoT33 e volete utilizzarla per monitorare la temperatura di casa e visualizzare i dati online, da qualunque posto? Vediamo come creare un progetto che consenta di misurare temperatura ed umidità di casa utilizzando un sensore DHT11 ed Arduino Nano IoT33: utilizzeremo sia il cloud che la lettura in locale con IDE Arduino.
Progetto n.1: programmare IoT33 in locale con IDE.
Operazioni preliminari.
Per prima cosa, occorre far riconoscere la scheda all’ambiente di programmazione IDE, per cui dovete aprire il gestore delle schede con TOOLS>BOARDS>BOARDS MANAGER ed aggiungere le schede del tipo “SAMD BOARDS” . Successivamente dovete aggiungere la libreria DHT tra le librerie utilizzabili e quindi dovete andare nel menù TOOLS>MANAGE LIBRARIES e cercare DHT.h ed importarla. Infine, nel menù TOOLs>BOARDS dovreste trovare la scheda IOT 33 Nano tra le schede SAMD, selezionatela e impostate, infine, la porta corretta su cui è la scheda.
Adesso creiamo lo sketch.
Il programma da utilizzare è il seguente:
include <DHT.h>
DHT dht(4, DHT11);
float temperatura, umidita;
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(500);
temperatura=dht.readTemperature();
umidita=dht.readHumidity();
Serial.print(“Humidity: “);
Serial.print(umidita);
Serial.print(“\t Temperature: “);
Serial.print(temperatura);
Serial.println(“°C “);
}
Spiegazione: lo sketch prevede di includere la libreria DHT.h per il sensore DHT11, poi crea un oggetto dht della classe DHT collegato al pin 4 e di tipo DHT11 e introduce le due variabili “temperatura” ed “umidita”.
Nel Setup si avviano il monitor seriale con trasmissione su usb a 9600 bit/s e il DHT. Nel loop si leggono i valori di temperatura ed umidità, li si inseriscono nelle variabili e si visualizzano i dati sul monitor seriale del IDE.
Realizzazione del circuito.
Il DHT11 va collegato al pin D4 di Arduiono Nano IoT33 (che nel codice è indicato con pin 4) ed ai pin 3.3Volt e GND, guardate le figure per capire dove sono.
Progetto n.2: programmare IoT33 con Arduino Cloud.
Per poter vedere i valori di temperatura e umidità online, utilizzando una interfaccia grafica, possiamo usare la piattaforma di ARDUINO CLOUD che ci consentirà di riprodurre una interfaccia grafica, come quella nella immagine sotto, eventualmente adattabile anche alla visione su smartphone. Arduino Cloud possiede comunque una App che consente di visualizzare gli elementi grafici in maniera più efficace.
Operazioni preliminari.
Come prima cosa occorre che vi registriate su Arduino Cloud andando all’indirizzo https://cloud.arduino.cc/ . Potete utilizzare direttamente il vostro account Google o Facebook oppure fare la normale procedura inserendo email e password. Ogni registrazione crea un account che ha diritto a gestire 2 device. Se vogliamo pilotare altri device possiamo registrare un secondo account oppure fare un abbonamento al costo di 1.99€ al mese per 10 device. Una volta registrati, fate accesso alla piattaforma inserendo Username e Password.
1) Come prima cosa occorre creare un nuovo progetto (THINGS) per cui andate sulla rispettiva scheda e fate click su CREATE THINGS:
A questo punto si apre una finestra che vi consente di dare un nome al progetto (scegliete il nome “Home meteo” ) e poi di effettuare alcune operazioni:
associare una scheda (device) IoT come Arduino Nano IoT 33 o schede di terze parti.
Creare delle variabili che conterranno i dati di monitoraggio (esempio temperatura ed umidità)
Inserire i parametri del vostro wifi.
In effetti il sistema prevede che Arduino Nano IOT33 legga i dati dai sensori, poi si colleghi al WiFi di casa e invii tali dati al Cloud che a sua volt li pubblica per visionarli da un browser. Procediamo allora a fare tali operazioni: per prima cosa associate un DEVICE, indicate se si tratta di una scheda originale Arduino o di terze parti, date ad esso un nome (un nome viene proposto in automatico). Questa procedura consente al Server Cloud di riconoscere ed “allacciare la scheda”. Durante la procedura vi verrà chiesto di scaricare un programma, detto AGENT, che serve a stabilire un punto di collegamento tra scheda e computer, voi scaricate ed eseguite l’agent.
Nella foto sotto potete vedere una fase del riconoscimento di una scheda NANO IOT33: il software vi dice il tipo di scheda e vi propone un nome per identificarla che è possibile modificare.
La seconda operazione da fare è quella di impostare i dati del vostro WiFi. Premete il pulsante in basso a destra e inserite il nome della WiFi (ssid) e la chiave per accedere. Ultima procedura è quella di creare 2 variabili per le due informazioni acquisite dal sensore DHT11 : temperatura e umidità. Nella immagine sotto il nome assegnato al vostro Arduino Nano Iot3T 33 è DannyeNopin, la rete è invece Wind e le variabili sono float temperatura e float umidita.
La scheda SKETCH.
Una volta impostati device, WiFi e variabili si passa alla scheda Sketch per creare il programma. Potete scrivere il vostro programma direttamente nella scheda ma se siete più smalizziati potreste accedere all’editor completo premendo il tasto “FULL EDITOR”. In effetti accedendo al Editor completo vedrete altri 2 programmi creati in automatico dal Cloud: un programma che contiene a dichiarazione delle variabili create ed un’altro che contiene i codici segreti del WiFi che avete inserito.
Aprite il FULL EDITOR ed andate in SKETCHBOOK dove troverete il file *.ino da modificare: in effetti esiste già uno sketch di base con i codici per allacciarsi al cloud: questo programma va modificato inserendo le informazione per gestire i sensori con cui si vuole operare. Aggiungete prima la libreria DHT.h, nello sketch basta che compaia #include<DHT.h> (eventualmente, andando su LIBRARY MANAGER e DHT SENSOR LIBRARY potete aggiungere altre librerie e premete il pulsante INCLUDE sulla libreria importata.
Nello sketch compaiono richiami al cloud di Arduino, attenti, non li modificate, aggiungete invece Serial.begin(9600) per avere i risultati sulla seriale, dht.begin() per avviare il dht11. ed un codice simile a quello visto nel progetto precedente.
Se avete per prima cosa importato il device Nano IOT 33, vi troverete una finestra del tipo qui sotto:
In questo caso dovete tornare indietro e creare le variabili. Vediamo come si creano le variabili float, di sola lettura: temperatura e umidita. Aggiungete le variabili una per volta, dovete dire che sono di tipo float, di sola lettura (il cloud legge il sensore ma non invia dati ad esso) e impostate una interrogazione periodica “”Periodicaly” ogni secondo.
Mettiamo online IoT33: premete Configure in Network ed inserite i dati del WIFI.
Per accedere allo sketch la scheda è quella nell’immagine.
Questo è il pulsante per il FULL EDITOR.
Il programma da inserire è il seguente, delle variabili temperatura ed umidita non va dichiarato il tipo perché è già fatto nel programma creato dal Cloud.:
Questo sotto è il programma di interfaccia creato in automatico dal Cloud.
Nel monitor seriale, leggerete i dati.
Ora, per controllare i risultati sull’interfaccia grafica va creata una DASHBOARD. Andate sulla scheda omonima, inserite un nome a piacere per la dashboard e premete ADD. Scegliete Gauge o Graph. Ogni volta che create un oggetto grafico dovete linkarlo alla variabile da rappresentare. Create la dashboard DHT11.
Aggiungete 2 GAUGE alla dashboard collegandoli alle 2 variabili temperatura ed umidita.
Ora visualizzerete i risultati anche sul web oltre che sul monitor seriale. Il progetto è terminato.
Complimenti per il suo sito veramente bello e fatto bene.
Saluti Alessandro Giovannetti