0

Temperatura con il NodeMCU e risultati in WiFi

Share

Come leggere la temperatura con il NodeMCU e trasmettere i dati in WiFi

Il NodeMCU è una scheda di sviluppo basata sul modulo ESP8266 che offre la possibilità di connettersi al WiFi e di interagire con il mondo esterno tramite sensori e attuatori. In questo articolo ti spiegheremo come utilizzare il NodeMCU per leggere la temperatura da un sensore e trasmettere i dati in WiFi.

Materiali necessari

Prima di iniziare, assicurati di avere a disposizione i seguenti materiali:

  • NodeMCU
  • Sensore di temperatura (ad esempio, il sensore DS18B20)
  • Resistenze (se necessarie per il sensore di temperatura)
  • Breadboard (se necessaria per collegare il sensore di temperatura)
  • Cavi jumper per collegare i componenti

Collegamento del sensore di temperatura al NodeMCU

Prima di poter leggere la temperatura, è necessario collegare il sensore di temperatura al NodeMCU. Se stai utilizzando il sensore DS18B20, ecco come puoi collegarlo:

  1. Collega il pin VCC del sensore al pin 3V3 del NodeMCU
  2. Collega il pin GND del sensore al pin GND del NodeMCU
  3. Collega il pin DATA del sensore al pin D2 del NodeMCU

Assicurati di consultare il datasheet del tuo sensore di temperatura per conoscere i pin corretti da utilizzare.

Programmazione del NodeMCU

Una volta collegato il sensore di temperatura al NodeMCU, è necessario programmare il NodeMCU per leggere la temperatura e trasmettere i dati in WiFi. Puoi utilizzare l’IDE di Arduino per scrivere il codice e caricarlo sul NodeMCU. Ecco un esempio di codice:


#include <OneWire.h>
#include <DallasTemperature.h>
#include <ESP8266WiFi.h>

const char* ssid = "il_tuo_ssid";
const char* password = "la_tua_password";

#define ONE_WIRE_BUS D2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  
  Serial.println("Connected to WiFi");
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float temperature = sensors.getTempCByIndex(0);
  
  Serial.print("Temperature: ");
  Serial.println(temperature);
  
  delay(5000);
}

Nel codice sopra, viene inizializzato il sensore di temperatura, viene stabilita la connessione WiFi e viene letto il valore della temperatura ogni 5 secondi. Il valore della temperatura viene quindi stampato sulla console.

Trasmissione dei dati in WiFi

Ora che il NodeMCU è in grado di leggere la temperatura, è possibile trasmettere i dati in WiFi. Puoi utilizzare diverse opzioni per trasmettere i dati, ad esempio inviarli a un server remoto o utilizzare un servizio di cloud come Blynk o ThingSpeak. Puoi modificare il codice precedente per adattarlo alle tue esigenze di trasmissione dei dati.

Ad esempio, se desideri inviare i dati a un server remoto, puoi utilizzare la libreria WiFiClient per stabilire una connessione TCP con il server e inviare i dati tramite il protocollo HTTP o MQTT. Assicurati di conoscere l’indirizzo IP e la porta del server a cui desideri inviare i dati.

Se preferisci utilizzare un servizio di cloud come Blynk o ThingSpeak, dovrai prima creare un account sul servizio e ottenere le credenziali di accesso. Successivamente, puoi utilizzare le librerie specifiche del servizio per inviare i dati al tuo account.

Conclusioni

Utilizzare il NodeMCU per leggere la temperatura da un sensore e trasmettere i dati in WiFi è un’operazione relativamente semplice grazie alle potenzialità offerte dalla scheda e dalla comunità di sviluppatori. Con pochi componenti e un po’ di codice, è possibile realizzare un sistema di monitoraggio della temperatura basato su WiFi.

Speriamo che questo articolo ti sia stato utile per iniziare a utilizzare il NodeMCU per leggere la temperatura e trasmettere i dati in WiFi. Buon divertimento con i tuoi progetti!