Ethical DIY

Progetti hardware & software etici


Menu orizzontale con sottomenu CSS








 


Progetti hardware
Basetta sperimentale per ESP01

Dati costruttivi della basetta sperimentale

Download dei file necessari per la realizzazione della basetta sperimentale



Informazioni di base

Come installate la IDE di Arduino

Configurazione di ESP01

Caricamento dei programmi

Le librerie necessarie



Programmi vari

Creare un Web server

Temperatura e umidità con
DHT11/DHT/21/DHT22


Controllo di 1/2 relè via WiFi

DHT11/DHT21/DHT22 + 1 relè

Una stazione meteorologica con BMP280

Ricevere la data e l'ora esatta

Una stazione meteorologica con OpenWeatherMap

Monitorare la qualità dell'aria con BMP680



Programmi con Telegram






 
Programmi con in Db Firebase







Controllo della temperatura
e umidità con ESP01

Uno dei progetti più comuni sul WEB per ESP01 è quello che permette, insieme al popolare DHT11, di visualizzare sul proprio browser la temperatura e l'umidità di un locale.
In questa pagina sono presenti due programmi: il primo, con un singolo DHT11; il secondo ne utilizza due, per monitorare, per esempio, temperatura e umidità in casa e all'esterno.


dht11
DHT11

Il sensore di temperatura e umidità DHT11 (oppure DHT11 o DHT22)è conveniente ed utilizzato in una miriade di progetti. Nominalmente funziona a 5v, però si comporta egregiamente anche a 3,3v, quindi può essere utilizzato senza problemi anche con ESP01.
Si può collegare direttamente (facendo attenzione alla polarità) sia al connettore "DG1" (porta GPIO2) che "DG2" (porta GPIO0) della nostra basetta sperimentale.
Naturalmente nulla vieta di utilizzarne un paio, per leggere per esempio la  temperatura e umidità sia all'interno di casa che all'esterno. E' sufficiente aggiungere alcune righe al programma.


In commercio si trova per  pochi euro un modulo che integra un DHT11, un ESP01 e i componenti necessari al loro funzionamento. E' sufficiente alimentarlo, dopo aver caricato il programma su ESP01.
Le dimensioni sono molto ridotte, perché l'ESP01 viene posto sopra il sensore. Ma proprio questo particolare, che rende il tutto molto compatto, potrebbe forse falsare leggermente la lettura della temperatura, causa il riscaldamento del modulo WiFi. Se si riscontrasse questo problema, sarebbe sufficiente spostare leggermente il sensore, dissaldandolo dalla basetta e collegandolo all'esterno di essa con alcuni brevi cavi.

esp01_esp
Il modulo per la trasmissione di temperatura/umidità


Il progetto con UN DHT11/DHT21/DHT22


Lo sketch utilizza un web server, che permette di visualizzare su di un qualsiasi browser (da PC, smartphone o tablet) una pagina che mostra, con una cadenza di alcuni secondi, la temperatura e l'umidità registrata.

Usando un adattatore, caricare il programma su ESP01. Clicca qui se hai bisogno di alcune info per caricare il programma.
Verificare di aver caricato tutte le librerie necessarie. Nel caso fosse necessario, le puoi scaricare dalla IDE di Arduino, oppure scaricarle da questi link:
ESP8266WiFi.h
ESPAsyncTCP.h
ESPAsyncWebServer.h
Adafruit_Sensor.h
DHT.h

Inserire la SSID della propria rete e la password di accesso all'interno del programma.

Dopo aver caricato il programma, aprire il monitor seriale, impostando la connessione a 115200 bps e
scollegare e ricollegare  ESP01 al PC. Se tutto ha funzionato correttamente, dopo pochi secondi si dovrebbe leggere l'indirizzo IP del proprio modulo WiFi.
Non deve preoccupare il messaggio "Failed to read from DHT sensor!" è normale, in quanto non si è ancora collegato il DHT11.

Clicca qui per visualizzare il programma

Clicca qui per scaricare il programma in formato ".zip"

dhtpcb
Il modulo DHT11 sulla basetta sperimentale


1dht
Lo schema di posizionamento


ssiddht
Inserire SSID e password


dhtmon
L'indirizzo di ESP01 da inserire nel
browser per visualizzare i dati.



Il programma funziona indifferentemente con i sensori DHT11, DHT21 o DHT22, però è necessario selezionare il sensore corretto nello sketch.
dhtx
E' necessario togliere le due barre "//" (che trasformano quello che segue in un semplice commento) per rendere attivo il sensore utilizzato: il sensore attivo il questo caso è quello nel quadrato verde  (DHT11) . Se si usasse un DHT22, togliere le barrette alla seconda riga e porle davanti  a DHT11; lo stesso per DHT21.
Attenzione: mi è capitato di acquistare, sia su Amazon che su Ali Express, dei sensori venduti come DHT11, e apparentemente perfetti. Però quando li ho utilizzati, davano risultati strani, come la temperatura di -0,5° invece che 22°! Variando i parametri nel programma e utilizzando la definizione relativa a DHT22, tutto è andato a posto!

dht21DHT22

dht21
DHT21


1dhtbrw
  Ed ecco, in tutto il suo splendore, la pagina che appare sul browser del proprio PC, smartphone o tablet.
La visualizzazione è piacevole, perché oltre ai dati, appaiono anche due simpatiche icone.

Purtroppo il collegamento è limitato all'interno della propria rete WiFi


Video basetta spermentale






Video con modulo commerciale






I dettagli del progetto sono reperibili a questo indirizzo del sito di "randomnerdtutorials", e quindi esterno al nostro, a cui va tutta la nostra gratitudine:
 https://randomnerdtutorials.com/esp8266-dht11dht22-temperature-and-humidity-web-server-with-arduino-ide/


Il progetto con DUE DHT11




pcb2dht
I due DHT11 posizionati sulla basetta sperimentale


su2dht
Lo schema di posizionamento

Il progetto con due DHT11 è del tutto simile a quello con un solo modulo; naturalmente sono state eseguite le modifiche affinché si riuscisse a gestire separatamente i due sensori, per misurare la temperatura e umidità di due locali, oppure all'interno e all'esterno della propria abitazione.
Perciò valgono le stesse regole applicate al progetto precedente, ovvero:
  • verificare di avere installato tutte le librerie necessarie;
  • inserire nello sketch la SSID della propria rete e la password;
  • prendere nota dell'indirizzo IP del proprio ESP01, da riportare sul browser per visualizzare le informazioni.

    Si ricorda che i programmi funzionano solo all'interno della propria rete WiFi.



Ed ecco come appaiono i dati nel browser. Il modulo che si occupa di visualizzare la temperatura e l'umidità "Indoor", ovvero all'interno della casa è quello posto su "DG2", collegato alla porta "GPIO0",mentre quello che rileva i dati all'esterno (outdoor) è posto sul connettore "DG1", relativo alla porta "GPIO2".

Attualmente l'aggiornamento è ogni 20 secondoi circa, ma nel caso il sistema sia alimentato a batteria, converrebbe utilizzare degli intervalli più lunghi, per aumentarne la durata.

Clicca qui per visualizzare il programma

Clicca qui per scaricare il programma in formato ".zip"

2dhtbrw


 



Per contatti: info@ethicaldiy.org