- Komponenter, der kræves
- Kredsløbsdiagram
- Thinger.io Opsætning af ESP8266 temperaturlogger
- IFTTT-opsætning til NodeMCU-datalogger
- Programmering af NodeMCU til datalogning
- Logning af data på Thinger.io fra NodeMCU
- Oprettelse af slutpunkt i Thinger.io for at sende e-mail-alarm
Vi har tidligere brugt NodeMCU til at logge temperaturdata i Google-arket. Her skal vi sende data til Thinger.io IoT-skyen og vise dem i et attraktivt grafisk format. En BMP180-sensor er grænseflade med NodeMCU ESP8266 for at indsamle data om temperatur, fugtighed og højde, som sendes til Thinger.io-platformen. I denne vejledning lærer vi, hvordan du administrerer forskellige funktioner på thinger.io-platformen, som enheder, slutpunkter, data-spande eller adgangstokener.
Komponenter, der kræves
- NodeMCU ESP8266
- BMP180 Tryksensor
- Jumper Wires
- Brødbræt
Kredsløbsdiagram
Kredsløbsdiagram for denne ESP8266 datalogger er meget ligetil, her er kun BMP180 sensoren grænseflade med NodeMCU.
BMP180-sensoren bruger I2C-kommunikationsprotokollen. Så du skal forbinde SCL- og SDA-stifterne på BMP180 til SCL- og SDA-stifterne (D1 og D2) på NodeMCU. Tilslut også V IN og GND-stift på BMP180 til 3,3 V og GND af NodeMCU. Tilslut ikke sensoren direkte til 5V, da det kan beskadige sensoren permanent.
For at lære mere om NodeMCU skal du kontrollere forskellige IoT-projekter baseret på NodeMCU ESP8266.
Thinger.io Opsætning af ESP8266 temperaturlogger
Thinger.io er en open source-platform til tingenes internet. Det giver alle nødvendige værktøjer til at prototype, skalere og administrere tilsluttede produkter på en meget enkel måde. Thinger.io leverer tre vigtige værktøjer, dvs. Data Bucks, Dashboard og Endpoint til at arbejde med enhedsdata; disse værktøjer kan bruges til at visualisere enhedsdataene og udvide enhedernes interoperabilitet.
Data Bucks: Data Bucks-værktøjet kan bruges til at gemme enhedsdata på en skalerbar måde, programmering af forskellige samplingsintervaller eller registrering af begivenheder, der er rejst af enheder.
Dashboard: Dashboard-værktøjet har nogle paneler med tilpasselige widgets, der kan oprettes inden for få minutter ved hjælp af træk og slip-teknologi til at visualisere realtids og lagrede data.
Slutpunkter: Slutpunkter kan bruges til at integrere platformen med andre tjenester som IFTTT, tilpassede webservices, e-mails eller ringe til andre enheder.
I denne ESP8266-logning skal vi udforske disse værktøjer.
For at sende data til Thinger.io skal du oprette en gratis konto på Thinger.io-platformen og følge nedenstående trin for at forbinde din enhed.
Trin 1: Det første trin er at oprette en ny enhed. For at oprette en ny enhed skal du klikke på Enheder i menufanen og derefter klikke på knappen Tilføj enhed.
Udfyld derefter formularen med enheds-id, beskrivelse og legitimationsoplysninger, eller generer tilfældige legitimationsoplysninger til din enhed, og klik på ' Tilføj enhed .'
Det er alt; din enhed er klar til at oprette forbindelse. I det næste trin programmerer vi NodeMCU til at sende dataene til Thinger.io-platformen.
IFTTT-opsætning til NodeMCU-datalogger
Her bruger vi IFTTT til at sende e-mailadvarsler, når temperaturen overstiger en grænse. IFTTT (If This Then That) er en webbaseret tjeneste, hvormed vi kan oprette kæder af betingede udsagn, kaldet applets. Ved hjælp af disse applets kan vi sende e-mails, Twitter, Facebook-underretninger.
For at bruge IFTTT skal du logge ind på IFTTT-kontoen, hvis du allerede har en eller oprette en konto.
Søg nu efter ' Webhooks ', og klik på Webhooks i sektionen Services.
Klik derefter på 'Dokumentation' i øverste højre hjørne i Webhooks-vinduet for at hente den private nøgle. Kopier denne nøgle, denne nøgle bruges, når du opretter Endpoint i Thinger.io.
Derefter skal du oprette en applet ved hjælp af Webhooks og e-mail-tjenester . For at oprette en applet skal du klikke på din profil og derefter klikke på ' Opret. ''
Klik nu på ikonet ' Dette ' i det næste vindue. Søg nu efter Webhooks i søgesektionen, og klik på ' Webhooks .'
Vælg nu ' Modtag en webanmodning' trigger, og indtast begivenhedsnavnet som en temp, og klik derefter på Opret en trigger.
Herefter skal du klikke på ' Så det' og derefter klikke på E-mail.
Klik nu på e-mail på 'send mig en e-mail', indtast e-mail-emnet og brødteksten, og klik derefter på Opret handling. I det sidste trin skal du klikke på ' Udfør ' for at fuldføre opsætningen af applet.
Programmering af NodeMCU til datalogning
Den komplette kode til afsendelse af data til Thinger.io findes i slutningen af siden. Her forklarer vi nogle vigtige dele.
Start koden ved at inkludere alle de nødvendige biblioteker. Den ThingerESP8266.h bruges til at etablere en forbindelse mellem tingenes internet-platformen og NodeMCU mens Adafruit_BMP085.h bruges til at læse BMP sensordata. Du kan installere ThingerESP8266.h- biblioteket fra Arduino IDEs biblioteksadministrator.
#omfatte
Indtast derefter legitimationsoplysninger i koden, så enheden kan genkendes og tilknyttes din konto.
#define USERNAME "Your account Username" #define DEVICE_ID "NodeMCU" // Dit enhedsnavn #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Indtast derefter dit slutpunktsnavn. Slutpunktet bruges til at integrere platformen med eksterne tjenester som IFTTT, HTTTP-anmodning osv.
#definer EMAIL_ENDPOINT "IFTTT"
Definer variablerne til lagring af data for tryk, temperatur og højde.
int tryk, temperatur, højde;
Inde i hulrummet () skal du læse sensordataene. Den pson datatype kan holde forskellige datatyper. Så Pson-datatypen bruges til at modtage flere værdier på samme tid.
ting >> (pson & out) {out = bmp.readPressure () / 100; ud = bmp.readAltitude (); ud = bmp.readTemperature (); };
Brug hvis betingelse til at kalde slutpunktet, hvis temperaturværdien går over 15 grader. Her er data slutpunktsnavnet.
hvis (temperatur> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Sending Data");
Logning af data på Thinger.io fra NodeMCU
Tilslut nu BMP-sensoren til NodeMCU, og upload koden. NodeMCU bruger dine kontooplysninger til at oprette forbindelse til den enhed, du oprettede tidligere. Hvis den opretter forbindelse, vises den tilsluttet som vist i nedenstående billede:
Du kan kontrollere dine enhedsstatistikker som transmitterede data, modtagne data, IP-adresse, tilsluttet tid osv. Ved blot at klikke på enhedsnavnet i menuen Enheder.
Da vi nu modtager dataene, opretter vi et dashboard til visualisering af dataene ved hjælp af widgets.
For at oprette et dashboard skal du klikke på Dashboards fra menufanen og derefter klikke på ' Tilføj dashboard .'
Nu i det næste vindue skal du indtaste dashboardoplysningerne som dashboardnavn, ID og beskrivelse og derefter klikke på Dashboard.
Herefter får du adgang til det nye dashboard ved at klikke på Dashboard-navnet. Som standard vises instrumentbrættet tomt. For at tilføje widgets skal du først aktivere redigeringstilstand ved at klikke på kontakten øverst til højre på instrumentbrættet. Klik derefter på knappen ' Tilføj widget' .
Når du klikker på knappen ' Tilføj widget' , vil den vise en popup, hvor du kan vælge widget-typen, baggrundsfarve osv. I mit tilfælde har jeg valgt Gauge Widget.
Når du klikker på Gem, fører det dig til det næste skærmbillede, hvor du skal vælge kildeværdi, enhed, ressource, værdi og opdateringstilstand. Vælg alle værdier, og klik derefter på knappen Gem.
Gentag nu den samme procedure for resten af variablerne. Mit dashboard så sådan ud:
Oprettelse af slutpunkt i Thinger.io for at sende e-mail-alarm
Nu opretter vi et slutpunkt til at integrere Thinger.io med IFTTT. Et slutpunkt kan kaldes af enheden til at udføre enhver handling, såsom at sende en e-mail, sende en SMS, ringe til en REST API, interagere med IFTTT, ringe til en enhed fra en anden konto eller ringe til ethvert andet
For at oprette et slutpunkt skal du klikke på 'Endpoint' i menufanen og derefter klikke på 'Add Endpoint.'
Indtast de nødvendige detaljer i det næste vindue. Detaljerne er:
Slutpunkts-id: Enestående id til dit slutpunkt.
Slutpunktsbeskrivelse: Skriv en beskrivelse eller detaljerede oplysninger om dit slutpunkt.
Slutpunkttype: Vælg slutpunkttype fra de givne indstillinger.
Maker Event Name: Indtast dit IFTTT-appletnavn.
Maker Channel Key: Din Webhooks hemmelige nøgle.
Klik derefter på Test slutpunkt for at kontrollere, om alt fungerer. Det skal sende dig en e-mail med en advarsel om temperaturdataene.
I stedet for at bruge IFTTT Webhook Trigger kan du sende en e-mail eller en Telegram-besked, eller du kan sende en HTTP-anmodning ved hjælp af Endpoint-funktionerne.
Sådan kan en NodeMCU ESP8266 bruges til at logge temperatur-, tryk- og højdedata fra BMP180-sensoren til internettet.
En arbejdsvideo og en komplet kode findes i slutningen af siden.