Termoigrometro per il corso SVILUPPARE PROTOTIPI HARDWARE E SOFTWARE PER INTERNET DELLE COSE

In allegato a questo post si possono trovare i file sorgenti dei progetti NetBeans e degli sketch per gli Arduino per l’esercitazione dei moduli “Implementazione Harware ed Elettronica” e “Covalida e Testing” del corso “SVILUPPARE PROTOTIPI HARDWARE E SOFTWARE PER INTERNET DELLE COSE” (https://www.sviluppareiot.it/) di abacons (http://www.abacons.com), edizione del pomeriggio,  che prevedeva la realizzazione di un “termoigrometro” web, utilizzando due Arduino, al primo dei quali si doveva collegare un sensore DHT11 per rilevare temperatura e umidità, e al secondo quattro LED di un colore che si dovevano illuminare/spegnere a seconda dei valori di temperatura rilevati, e altri quattro di un altro colore che si dovevano illuminare/spegnere invece in base ai valori di umidità.

I valori di temperatura e umidità rilevati dal DHT11 dovevano essere trasemssi in seriale a un PC o a un Raspberry, che doveva elaborarli e in base a una certa scala (impostata a piacere) doveva inviare dei comandi a un secondo PC o Raspberry utilizzando il protocollo HTTP mediante una invocazione del comando “curl”.

Sul secondo PC o Raspberry una Servlet doveva ricevere la richiesta HTTP e rilevarne i parametri (t0, t1, t2, t3, t4 e h0, h1, h2, h3, h4) e in base agli stessi inviare tramite comunicazione seriale dei comandi a un altro Arduino a esso collegato mediante USB per fargli modificare i valori logici da LOW ad HIGH dei pin ai quali erano collegati i LED, in modo da accendere/spegnere gli stessi LED relativi a temperatura e umidità.

Le comunicazioni seriali sono state realizzate utilizzando la libreria nrjavaserial (https://github.com/NeuronRobotics/nrjavaserial).

Un video di come dovrebbe funzionare il tutto lo si può trovare su https://youtu.be/gK9hal2-pBA

Nel video si può vedere un Arduino Uno e uno Yun. Il progetto può essere realizzato con due Uno, ma al momento di realizzarlo avevo a disposizione un solo Uno, per cui il secondo l’ho sostituito con uno Yun.

Inoltre i collegamenti alla rete sono stati eseguiti mediante Ethernet, ma si potevano eseguire tranquillamente sfruttando le schede WiFi dei Raspberry o dei PC.

Ecco i sorgenti: