In questa guida vedremo come inviare le letture di temperatura con la scheda NodeMCU ESP8266 a ThingSpeak. A scopo dimostrativo, utilizzeremo un sensore BME280, ma possiamo facilmente modificare lo sketch per utilizzare qualsiasi altro sensore. La scheda ESP8266 sarà programmata con Arduino IDE.
ThingSpeak ci consente di pubblicare le letture dei sensori sul loro sito Web e di tracciarle in grafici con timestamp. In questo modo possiamo accedere alle letture del sensore da qualsiasi parte del mondo o condividerle con altri utenti.
Esistono molti modi per inviare le letture di temperatura dalla NodeMCU a ThingSpeak. In questo tutorial useremo uno dei modi più semplici, usando la libreria thingspeak-arduino . Questa libreria fornisce metodi per pubblicare facilmente le letture dei sensori in singoli campi o in più campi.
Preparazione Arduino IDE con NodeMCU ESP8266
Per questo tutorial programmeremo l’ESP8266 usando l’Arduino IDE. Quindi, assicurati di avere il componente aggiuntivo ESP8266 installato
Installazione della libreria ThingSpeak
Per inviare le letture dei sensori a ThingSpeak, utilizzeremo la libreria thingspeak-arduino. Puoi installare questa libreria tramite Arduino Library Manager. Vai su Sketch > #include libreria > Gestione libreria… e cerca ” ThingSpeak“. Installa la libreria ThingSpeak di MathWorks.
Installazione delle librerie BME280
Come accennato in precedenza, pubblicheremo le letture del sensore BME280. Quindi è necessario installare anche le librerie per interfacciarsi con il sensore BME280.
Allo stesso modo andare su Sketch > #include libreria > Gestione libreria… e cerca ” Adafruit_BME280“.
Costruire il circuito
La costruzione del circuito è molto semplice. Basta collegare il sensore BME280 alla scheda NodeMCU ESP8266.
Utilizzeremo la comunicazione I2C con il modulo sensore BME280. Per questo, colleghiamo il sensore ai pin SCL (GPIO 5) e SDA (GPIO 4), come mostrato nel diagramma schematico seguente.
ThingSpeak – Creiamo un nuovo account
Vai su ThingSpeak e fai clic sul pulsante ” Get Started For Free ” per creare un nuovo account. Questo account è collegato a un account Mathworks. Se hai già un account Mathworks, potresti accedere con questo.
Creazione di un nuovo canale
Dopo che l’account è pronto, accedere, aprire la scheda ” Channels ” e seleziona “My Channels“.
Premere il pulsante “New Channel” per creare un nuovo canale.
Digita un nome per il tuo canale e aggiungere una descrizione. In questo esempio, pubblicheremo solo la temperatura. Se desideriamo pubblicare più letture (come umidità e pressione), possiamo abilitare più campi.
Fare clic sul pulsante Save Channel per creare e salvare il canale.
API Ket ThingSpeak
Per inviare i valori da ESP8266 a ThingSpeak, è necessaria la API Key di scrittura. Apriamo la scheda ” API Keys ” e copia la “Write API Key” in un luogo sicuro, perché ci servirà nel codice della NodeMCU ESP8266.
NodeMCU ESP8266 – Codice Arduino IDE
Per far funzionare il codice, è necessario inserire le credenziali di rete nelle seguenti variabili:
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";
Inserire il numero del canale su cui stai pubblicando. Se hai creato un solo canale in ThingSpeak, il numero del canale è 1, altrimenti puoi vedere il numero del canale nella scheda Private View .
unsigned long myChannelNumber = 1;
Infine, inserire la Write API Key che abbiamo ottenuto precedentemente:
const char * myWriteAPIKey = "XXXXXXXXXXXXXXXX";
Dimostrazione
Dopo aver inserito le credenziali di rete, il numero del canale e la chiave API, caricare il codice sulla scheda NodeMCU ESP8266.
Aprire il monitor seriale e premere il pulsante RST integrato. Dopo 30 secondi, dovrebbe connettersi al Wi-Fi e iniziare a pubblicare le letture del sensore su ThingSpeak.
Andiamo sull’account ThingSpeak creato e vedremo le letture della temperatura pubblicate su un grafico.