- Componenti richiesti
- Schema elettrico
- Configurazione Thinger.io per registratore di temperatura ESP8266
- Configurazione IFTTT per data logger NodeMCU
- NodeMCU di programmazione per la registrazione dei dati
- Registrazione dei dati su Thinger.io da NodeMCU
- Creazione di endpoint in Thinger.io per inviare avvisi e-mail
In precedenza abbiamo utilizzato NodeMCU per registrare i dati di temperatura nel foglio di Google. Ora qui invieremo i dati al cloud IoT Thinger.io e li visualizzeremo in un formato grafico attraente. Un sensore BMP180 è interfacciato con NodeMCU ESP8266 per raccogliere i dati di temperatura, umidità e altitudine, che verranno inviati alla piattaforma Thinger.io. In questo tutorial impareremo come gestire le diverse funzionalità della piattaforma thinger.io, come dispositivi, endpoint, bucket di dati o token di accesso.
Componenti richiesti
- NodeMCU ESP8266
- BMP180 Sensore di pressione
- Cavi per ponticelli
- Breadboard
Schema elettrico
Lo schema del circuito per questo registratore di dati ESP8266 è molto semplice, qui solo il sensore BMP180 è interfacciato con NodeMCU.
Il sensore BMP180 utilizza il protocollo di comunicazione I2C. Quindi è necessario collegare i pin SCL e SDA di BMP180 ai pin SCL e SDA (D1 e D2) di NodeMCU. Inoltre, collegare il pin V IN e GND di BMP180 a 3,3 V e GND di NodeMCU. Non collegare il sensore direttamente a 5 V perché può danneggiare il sensore in modo permanente.
Per saperne di più su NodeMCU, controlla vari progetti IoT basati su NodeMCU ESP8266.
Configurazione Thinger.io per registratore di temperatura ESP8266
Thinger.io è una piattaforma open source per l'Internet delle cose. Fornisce tutti gli strumenti necessari per prototipare, ridimensionare e gestire i prodotti connessi in modo molto semplice. Thinger.io fornisce tre strumenti essenziali, ovvero Data Bucks, Dashboard ed Endpoint per lavorare con i dati dei dispositivi; questi strumenti possono essere utilizzati per visualizzare i dati del dispositivo ed estendere l'interoperabilità dei dispositivi.
Data Bucks: lo strumento Data Bucks può essere utilizzato per memorizzare i dati del dispositivo in modo scalabile, programmando diversi intervalli di campionamento o registrando eventi generati dai dispositivi.
Dashboard: lo strumento Dashboard ha alcuni pannelli con widget personalizzabili che possono essere creati in pochi minuti utilizzando la tecnologia drag and drop per visualizzare i dati memorizzati e in tempo reale.
Endpoint: gli endpoint possono essere utilizzati per integrare la piattaforma con altri servizi come IFTTT, servizi Web personalizzati, e-mail o chiamare altri dispositivi.
In questo registro ESP8266, esploreremo questi strumenti.
Per inviare dati a Thinger.io, è necessario creare un account gratuito sulla piattaforma Thinger.io e seguire i passaggi seguenti per connettere il dispositivo.
Passaggio 1: il primo passaggio è creare un nuovo dispositivo. Per creare un nuovo dispositivo, fare clic su Dispositivi nella scheda del menu e quindi fare clic sul pulsante Aggiungi dispositivo.
Quindi compila il modulo con l'ID del dispositivo, la descrizione e le credenziali oppure genera credenziali casuali per il tuo dispositivo e fai clic su " Aggiungi dispositivo ".
È tutto; il tuo dispositivo è pronto per la connessione. Nella fase successiva, programmeremo il NodeMCU per inviare i dati alla piattaforma Thinger.io.
Configurazione IFTTT per data logger NodeMCU
Qui stiamo usando IFTTT per inviare avvisi e-mail quando la temperatura supera un limite. IFTTT (If This Then That) è un servizio basato sul Web tramite il quale possiamo creare catene di istruzioni condizionali, chiamate applet. Utilizzando queste applet, possiamo inviare e-mail, Twitter, notifiche di Facebook.
Per utilizzare IFTTT, accedi all'account IFTTT se ne hai già uno o creane uno.
Ora cerca " Webhooks " e fai clic sui Webhook nella sezione Servizi.
Quindi, nella finestra Webhook, fare clic su "Documentazione" nell'angolo in alto a destra per ottenere la chiave privata. Copia questa chiave, questa chiave verrà utilizzata durante la creazione di Endpoint in Thinger.io.
Successivamente, crea un'applet utilizzando webhook e servizi di posta elettronica . Per creare un'applet, fai clic sul tuo profilo e quindi su " Crea. '
Ora nella finestra successiva, fai clic sull'icona " Questo ". Ora cerca Webhook nella sezione di ricerca e fai clic su " Webhook ".
Ora scegli il trigger " Ricevi una richiesta Web" e inserisci il nome dell'evento come temporaneo, quindi fai clic su Crea un trigger.
Dopodiché, fai clic su " Allora quello" e quindi su E-mail.
Ora nell'email, fai clic su "inviami un'e-mail" e inserisci l'oggetto e il corpo dell'e-mail, quindi fai clic su crea azione. Nell'ultimo passaggio, fare clic su " Fine " per completare la configurazione dell'applet.
NodeMCU di programmazione per la registrazione dei dati
Il codice completo per l' invio dei dati a Thinger.io è riportato alla fine della pagina. Qui stiamo spiegando alcune parti importanti.
Avvia il codice includendo tutte le librerie richieste. Il ThingerESP8266.h è utilizzato per stabilire una connessione tra la piattaforma degli oggetti e la NodeMCU mentre Adafruit_BMP085.h viene utilizzato per leggere i dati BMP sensore. È possibile installare la libreria ThingerESP8266.h dal gestore della libreria degli IDE di Arduino.
#includere
Successivamente, inserisci le credenziali nel codice, in modo che il dispositivo possa essere riconosciuto e associato al tuo account.
#define USERNAME "Nome utente del tuo account" #define DEVICE_ID "NodeMCU" // Nome del tuo dispositivo #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Quindi, inserisci il nome dell'endpoint. L'endpoint viene utilizzato per integrare la piattaforma con servizi esterni come IFTTT, richiesta HTTTP, ecc.
#define EMAIL_ENDPOINT "IFTTT"
Definire le variabili per memorizzare i dati di pressione, temperatura e altitudine.
int Pressione, temperatura, altitudine;
All'interno del loop void (), leggi i dati del sensore. Il tipo di dati pson può contenere diversi tipi di dati. Quindi il tipo di dati Pson viene utilizzato per ricevere più valori contemporaneamente.
cosa >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Utilizzare la condizione if per chiamare l'Endpoint se il valore della temperatura supera i 15 gradi. Qui i dati sono il nome dell'endpoint.
if (Temperature> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Sending Data");
Registrazione dei dati su Thinger.io da NodeMCU
Ora collega il sensore BMP a NodeMCU e carica il codice. Il NodeMCU utilizzerà le credenziali del tuo account per connettersi al dispositivo che hai creato in precedenza. Se si connette correttamente, apparirà connesso, come mostrato nell'immagine sottostante:
Puoi controllare le statistiche del tuo dispositivo come Dati trasmessi, Dati ricevuti, Indirizzo IP, Tempo di connessione, ecc. Semplicemente facendo clic sul nome del dispositivo dal menu Dispositivi.
Dato che ora stiamo ricevendo i dati, creeremo una dashboard per visualizzare i dati utilizzando i widget.
Per creare un dashboard, fare clic su Dashboard dalla scheda del menu, quindi fare clic su " Aggiungi dashboard ".
Ora nella finestra successiva, inserisci i dettagli del dashboard come nome, ID e descrizione del dashboard, quindi fai clic su Dashboard.
Successivamente, accedi alla nuova dashboard facendo clic sul nome della dashboard. Per impostazione predefinita, la dashboard apparirà vuota. Per aggiungere i widget, devi prima abilitare la modalità di modifica facendo clic sull'interruttore in alto a destra della dashboard. Quindi fare clic sul pulsante " Aggiungi widget" .
Quando fai clic sul pulsante " Aggiungi widget" , verrà visualizzato un popup in cui puoi selezionare il tipo di widget, il colore di sfondo, ecc. Nel mio caso, ho selezionato il widget Indicatore.
Quando si fa clic su Salva, verrà visualizzata la schermata successiva in cui è necessario selezionare la modalità Valore sorgente, Dispositivo, Risorsa, Valore e Aggiorna. Seleziona tutti i valori e quindi fai clic sul pulsante Salva.
Ora ripeti la stessa procedura per il resto delle variabili. La mia dashboard aveva questo aspetto:
Creazione di endpoint in Thinger.io per inviare avvisi e-mail
Ora creeremo un endpoint per integrare Thinger.io con IFTTT. Un endpoint può essere chiamato dal dispositivo per eseguire qualsiasi azione, come inviare un'e-mail, inviare un SMS, chiamare un'API REST, interagire con IFTTT, chiamare un dispositivo da un account diverso o chiamare qualsiasi altro endpoint
Per creare un endpoint, fare clic sull'opzione "Endpoint" dalle schede del menu, quindi fare clic su "Aggiungi endpoint".
Ora nella finestra successiva, inserisci i dettagli richiesti. I dettagli sono:
Endpoint Id: identificatore univoco per il tuo endpoint.
Descrizione endpoint: scrivi una descrizione o informazioni dettagliate sull'endpoint.
Tipo di endpoint: seleziona il tipo di endpoint dalle opzioni fornite.
Nome evento del creatore: inserisci il nome dell'applet IFTTT.
Maker Channel Key: la chiave segreta del tuo webhook.
Successivamente, fai clic su Test Endpoint per verificare se tutto funziona. Dovrebbe inviarti un'e-mail con un avviso sui dati di temperatura.
Invece di utilizzare IFTTT Webhook Trigger, puoi inviare un'e-mail o un messaggio Telegram oppure puoi inviare una richiesta HTTP utilizzando le funzionalità Endpoint.
In questo modo è possibile utilizzare un NodeMCU ESP8266 per registrare i dati di temperatura, pressione e altitudine dal sensore BMP180 a Internet.
Alla fine della pagina sono riportati un video funzionante e il codice completo.