EMB_84

EMBEDDED 84 • MAGGIO • 2022 56 SOFTWARE | DATA TRANSMISSION È evidente la maggiore precisione del DHT22 rispetto al DHT11 su un intervallo più ampio di temperatura e umi- dità. Entrambi i sensori utilizzano un singolo pin digitale per ottenere simultaneamente le letture di temperatura e umidità. In figura 2 sono mostrati i due sensori. Realizzazione pratica Dato che utilizzeremo l’IDE di Arduino per programma- re le schede ESP8266, occorre innanzitutto installare l’I- DE di Arduino dal sito ufficiale www.arduino.cc. Una volta installato l’IDE Arduino, dobbiamo installare la scheda ESP8266 nell’IDE. Apriamo l’IDE e clicchiamo File > Impostazioni; nel- la barra degli indirizzi in basso “URL aggiuntive per il Gestore schede” inseriamo il link http://arduino.esp8 266. com/stable/package_esp8266com_index.json . Poi, con Strumenti > Scheda > Gestore Schede, digi- tiamo “esp8266” nella barra di ricerca; selezioniamo e installiamo il firmware di gestione della scheda ESP8266 “ESP8266 by ESP8266 Community“. Si visualizzerà un’immagine come in figura 3. Installiamo le librerie di gestione del sensore DHT11 Per utilizzare il sensore DHT11, utilizzeremo la libreria “DHT sensor library” di Adafruit e la libreria “Adafruit Unified Sensor”. Quindi, dall’IDE di Arduino clicchiamo su Sketch -> #Includi libreria -> Gestione librerie. Nel- la barra di ricerca del Gestore delle librerie, digitiamo “DHT” e installiamo la libreria “DHT sensor library”. Poi, sempre nella barra di ricerca del Gestore delle li- brerie, digitiamo “Adafruit Unified Sensor” e, una volta trovata, la installiamo. Scopriamo il MAC address delle due schede ESP8266 Per inviare messaggi tra i due dispositivi ESP, dobbiamo conoscere il loro indirizzo MAC (Media Access Control - Ogni scheda ha un indirizzo MAC univoco assegnato da utilizzare nelle comunicazioni all’interno di una rete). Quindi, apriamo l’IDE e copiamo in un nuovo sketch il seguente codice che poi caricheremo su ciascuna scheda collegandola al computer con un cavo USB. // Complete Instructions to Get and Change ESP MAC Address: https://RandomNerdTutorials.com/get-chan- ge-esp32-esp8266-mac-address-arduino/ #include “WiFi.h” void setup(){ Serial.begin(115200); WiFi.mode(WIFI_MODE_STA); Serial.println(WiFi.macAddress()); } void loop(){ } Per ogni scheda, dopo aver caricato il codice, apriamo il Monitor seriale che imposteremo ad un baud rate a 115200. Premiamo il pulsante di reset RST/EN dell’E- SP8266 e sul monitor seriale visualizzeremo l’indirizzo MAC della scheda. Annotate l’indirizzo MAC associan- dolo alla relativa scheda. Realizziamo il circuito del progetto Per ogni scheda ESP8266 Node MCU e relativo sensore DHT11, realizziamo il montaggio del circuito elettrico ese- guendo i collegamenti dei componenti con dei jumper su una breadboard sperimentale come mostrato in figura 4. Programmiamo le due schede ESP8266 Il codice riportato nel riquadro realizza una comunica- zione bidirezionale tra i due ESP per la trasmissione dei dati di temperatura e umidità mediante il protocol- lo ESP-NOW. Copiamo il codice del progetto (possiamo scaricarlo dal sito: https://raw.githubusercontent.com/Ru- iSantosdotme/Random-Nerd-Tutorials/master/Projects/ ESP8266/ESP_NOW/ESP_NOW_Two_Way.ino) in un nuovo sketch e carichiamolo su ciascuna delle due sche- de ESP, ma solo dopo aver inserito nel codice il MAC ad- dress associato alla rispettiva scheda. Fig. 2 – I sensori DHT11 (a sinistra) e DHT22 Fig. 3 – Installazione della scheda ESP8266

RkJQdWJsaXNoZXIy Mzg4NjYz