- Componente necesare
- Diagrama circuitului
- Setarea Thinger.io pentru înregistratorul de temperatură ESP8266
- Configurare IFTTT pentru NodeMCU Data Logger
- Programarea NodeMCU pentru înregistrarea datelor
- Înregistrarea datelor pe Thinger.io de la NodeMCU
- Crearea punctului final în Thinger.io pentru a trimite Alertă prin e-mail
Am folosit anterior NodeMCU pentru a înregistra datele de temperatură în foaia Google. Acum, aici vom trimite date către cloud- ul Thinger.io IoT și le vom afișa într-un format grafic atractiv. Un senzor BMP180 este interfațat cu NodeMCU ESP8266 pentru a colecta datele de temperatură, umiditate și altitudine, care vor fi trimise pe platforma Thinger.io. În acest tutorial, vom învăța cum să gestionăm diferite caracteristici ale platformei thinger.io, cum ar fi dispozitivele, punctele finale, pachetele de date sau jetoanele de acces.
Componente necesare
- NodeMCU ESP8266
- BMP180 Senzor de presiune
- Sârme jumper
- Breadboard
Diagrama circuitului
Diagrama circuitului pentru acest jurnal de date ESP8266 este foarte simplă, aici doar senzorul BMP180 este interfațat cu NodeMCU.
Senzorul BMP180 utilizează protocolul de comunicație I2C. Deci, trebuie să conectați pinii SCL și SDA ai BMP180 la pinii SCL și SDA (D1 și D2) ai NodeMCU. De asemenea, conectați pinul V IN și GND al BMP180 la 3,3V și GND al NodeMCU. Nu conectați senzorul direct la 5V, deoarece acesta poate deteriora permanent senzorul.
Pentru a afla mai multe despre NodeMCU, verificați diverse proiecte IoT bazate pe NodeMCU ESP8266.
Setarea Thinger.io pentru înregistratorul de temperatură ESP8266
Thinger.io este o platformă Open-Source pentru Internetul obiectelor. Oferă toate instrumentele necesare pentru a prototipa, scala și gestiona produsele conectate într-un mod foarte simplu. Thinger.io oferă trei instrumente esențiale, adică Data Bucks, Dashboard și Endpoint pentru a lucra cu datele dispozitivelor; aceste instrumente pot fi utilizate pentru a vizualiza datele dispozitivului și a extinde interoperabilitatea dispozitivelor.
Data Bucks: instrumentul Data Bucks poate fi utilizat pentru a stoca datele dispozitivului într-un mod scalabil, programând diferite intervale de eșantionare sau înregistrând evenimente generate de dispozitive.
Tablou de bord: instrumentul Tabloul de bord are câteva panouri cu widget-uri personalizabile care pot fi create în câteva minute folosind tehnologia drag and drop pentru a vizualiza datele în timp real și stocate.
Puncte finale: Punctele finale pot fi utilizate pentru a integra platforma cu alte servicii, cum ar fi IFTTT, Servicii Web personalizate, e-mailuri sau pentru a apela alte dispozitive.
În această înregistrare ESP8266, vom explora aceste instrumente.
Pentru a trimite date către Thinger.io, trebuie să vă creați un cont gratuit pe platforma Thinger.io și să urmați pașii de mai jos pentru a vă conecta dispozitivul.
Pasul 1: Primul pas este crearea unui dispozitiv nou. Pentru a crea un dispozitiv nou, faceți clic pe Dispozitive din fila meniu și apoi faceți clic pe butonul Adăugare dispozitiv.
Apoi completați formularul cu ID-ul dispozitivului, descrierea și acreditările sau generați acreditări aleatorii pentru dispozitivul dvs. și faceți clic pe „ Adăugați dispozitiv ”.
Asta e tot; dispozitivul dvs. este gata să se conecteze. În pasul următor, vom programa NodeMCU pentru a trimite datele către platforma Thinger.io.
Configurare IFTTT pentru NodeMCU Data Logger
Aici folosim IFTTT pentru a trimite avertismente prin e-mail atunci când temperatura depășește o limită. IFTTT (If This Then That) este un serviciu bazat pe web prin care putem crea lanțuri de instrucțiuni condiționale, numite applet-uri. Folosind aceste appleturi, putem trimite notificări prin e-mail, Twitter, Facebook.
Pentru a utiliza IFTTT, conectați-vă la contul IFTTT dacă aveți deja unul sau creați un cont.
Acum căutați „ Webhooks ” și faceți clic pe secțiunea Webhooks în Servicii.
Apoi, în fereastra Webhooks, faceți clic pe „Documentație” în colțul din dreapta sus pentru a obține cheia privată. Copiați această cheie, această cheie va fi utilizată în timp ce creați Endpoint în Thinger.io.
După aceea, creați un applet folosind serviciile Webhooks și Email . Pentru a crea un applet, faceți clic pe profilul dvs. și apoi faceți clic pe „ Creați ” . '
Acum, în fereastra următoare, faceți clic pe pictograma „ Acesta ”. Acum căutați Webhooks în secțiunea de căutare și faceți clic pe „ Webhooks ”.
Acum alegeți declanșatorul „ Primiți o solicitare web” și introduceți numele evenimentului ca temp și apoi faceți clic pe creați un declanșator.
După aceasta, faceți clic pe „ Apoi asta” și apoi faceți clic pe E-mail.
Acum, în e-mail, faceți clic pe „trimiteți-mi un e-mail” și introduceți subiectul și corpul e-mailului, apoi faceți clic pe creați acțiune. În ultimul pas, faceți clic pe „ Finalizare ” pentru a finaliza configurarea appletului.
Programarea NodeMCU pentru înregistrarea datelor
Codul complet pentru trimiterea datelor către Thinger.io este dat la sfârșitul paginii. Aici, explicăm câteva părți importante.
Porniți codul prin includerea tuturor bibliotecilor necesare. ThingerESP8266.h este utilizat pentru a stabili o conexiune între platforma IO, și în timp ce NodeMCU Adafruit_BMP085.h este utilizat pentru a citi datele BMP senzor. Puteți instala biblioteca ThingerESP8266.h din managerul de bibliotecă Arduino IDEs.
#include
Apoi, introduceți acreditări în cod, astfel încât dispozitivul să poată fi recunoscut și asociat contului dvs.
#define USERNAME "Numele dvs. de utilizator al contului" #define DEVICE_ID "NodeMCU" // Numele dispozitivului dvs. #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Apoi, introduceți numele punctului final. Punctul final este utilizat pentru a integra platforma cu servicii externe precum IFTTT, cerere HTTTP etc.
#define EMAIL_ENDPOINT "IFTTT"
Definiți variabilele pentru a stoca datele de presiune, temperatură și altitudine.
int Presiune, temperatură, altitudine;
În interiorul buclei de gol (), citiți datele senzorului. Pson Tipul de date poate stoca diferite tipuri de date. Deci, tipul de date Pson este utilizat pentru a primi mai multe valori în același timp.
lucru >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Utilizați condiția if pentru a apela punctul final dacă valoarea temperaturii depășește 15 grade. Aici datele sunt numele punctului final.
if (Temperatură> 15) {thing.call_endpoint (EMAIL_ENDPOINT, „date”);} Serial.print („Trimiterea datelor”);
Înregistrarea datelor pe Thinger.io de la NodeMCU
Acum conectați senzorul BMP la NodeMCU și încărcați codul. NodeMCU vă va folosi acreditările de cont pentru a vă conecta la dispozitivul pe care l-ați creat anterior. Dacă se conectează cu succes, se va afișa conectat, așa cum se arată în imaginea de mai jos:
Puteți verifica statisticile dispozitivului, cum ar fi date transmise, date recepționate, adresă IP, oră conectată etc. , doar făcând clic pe numele dispozitivului din meniul Dispozitive.
Pe măsură ce primim acum datele, vom crea un tablou de bord pentru a vizualiza datele folosind widgeturile.
Pentru a crea un tablou de bord, faceți clic pe Tablouri de bord din fila meniu, apoi faceți clic pe „ Adăugați tablou de bord ”.
Acum, în fereastra următoare, introduceți detaliile tabloului de bord, cum ar fi numele tabloului de bord, ID-ul și descrierea, apoi faceți clic pe Tabloul de bord.
După aceasta, accesați noul tablou de bord făcând clic pe numele tabloului de bord. În mod implicit, tabloul de bord va apărea gol. Pentru a adăuga widgeturile, trebuie mai întâi să activați modul de editare făcând clic pe comutatorul din dreapta sus al tabloului de bord. Apoi faceți clic pe butonul „ Adăugați un widget” .
Când faceți clic pe butonul „ Adăugați un widget” , acesta va afișa un popup în care puteți selecta tipul de widget, culoarea de fundal etc. În cazul meu, am selectat Gauge Widget.
Când faceți clic pe Salvare, vă va duce la următorul ecran unde trebuie să selectați modul sursă, dispozitiv, resursă, valoare și modul Reîmprospătare. Selectați toate valorile și apoi faceți clic pe butonul Salvare.
Acum repetați aceeași procedură pentru restul variabilelor. Tabloul meu de bord arăta astfel:
Crearea punctului final în Thinger.io pentru a trimite Alertă prin e-mail
Acum vom crea un Endpoint pentru a integra Thinger.io cu IFTTT. Un punct final poate fi apelat de dispozitiv pentru a efectua orice acțiune, cum ar fi trimiterea unui e-mail, trimiterea unui SMS, apelarea unui API REST, interacțiunea cu IFTTT, apelarea unui dispozitiv dintr-un cont diferit sau apelarea oricărui alt punct final
Pentru a crea un punct final, faceți clic pe opțiunea „Punct final” din filele meniului și apoi faceți clic pe „Adăugați punct final”.
Acum, în fereastra următoare, introduceți detaliile necesare. Detaliile sunt:
ID punct final: identificator unic pentru punctul dvs. final.
Descrierea punctului final: Scrieți o descriere sau informații detaliate despre punctul dvs. final.
Tipul punctului final: Selectați tipul punctului final din opțiunile date.
Nume eveniment Maker: introduceți numele applet-ului dvs. IFTTT.
Cheie de canal Maker: cheia dvs. secretă Webhooks.
După aceasta, faceți clic pe Test Endpoint pentru a verifica dacă totul funcționează. Ar trebui să vă trimită un e-mail cu un avertisment cu privire la datele de temperatură.
În loc să utilizați IFTTT Webhook Trigger, puteți trimite un e-mail sau un mesaj de telegramă sau puteți trimite o cerere HTTP utilizând funcțiile Endpoint.
Acesta este modul în care un NodeMCU ESP8266 poate fi utilizat pentru înregistrarea datelor de temperatură, presiune și altitudine de la senzorul BMP180 pe internet.
Un videoclip funcțional și un cod complet sunt furnizate la sfârșitul paginii.