- Szükséges alkatrészek
- Kördiagramm
- Thinger.io beállítása az ESP8266 hőmérséklet-regisztrálóhoz
- IFTTT beállítása a NodeMCU Data Loggerhez
- NodeMCU programozása adatnaplózáshoz
- Adatok naplózása a Thinger.io webhelyen a NodeMCU-ból
- Végpont létrehozása a Thinger.io e-mail értesítés küldéséhez
Korábban a NodeMCU-t használtuk a hőmérsékleti adatok naplózásához a Google lapon. Most itt fogunk adatokat küldeni a Thinger.io IoT felhőnek, és vonzó grafikus formátumban jelenítjük meg azokat. A BMP180 érzékelő a NodeMCU ESP8266 interfésszel kapcsolódik a hőmérséklet, a páratartalom és a magasság adatainak összegyűjtéséhez, amelyeket a Thinger.io platformra küldünk. Ebben az oktatóanyagban megtudhatjuk, hogyan kell kezelni a thinger.io platform különféle szolgáltatásait, például eszközöket, végpontokat, adatcsomagokat vagy hozzáférési tokeneket.
Szükséges alkatrészek
- NodeMCU ESP8266
- BMP180 Nyomásérzékelő
- Jumper huzalok
- Kenyérlemez
Kördiagramm
Az ESP8266 adatgyűjtő áramköri diagramja nagyon egyszerű, itt csak a BMP180 érzékelő kapcsolódik a NodeMCU-hoz.
A BMP180 érzékelő az I2C kommunikációs protokollt használja. Tehát a BMP180 SCL és SDA csatlakozóit össze kell kötni a NodeMCU SCL és SDA csapjaival (D1 és D2). Csatlakoztassa továbbá a BMP180 V IN és GND csatlakozóját a NodeMCU 3,3 V-os és GND-jéhez. Ne csatlakoztassa az érzékelőt közvetlenül az 5 V-hoz, mert az tartósan károsíthatja az érzékelőt.
Ha többet szeretne megtudni a NodeMCU-ról, ellenőrizze a különböző IoT-projekteket a NodeMCU ESP8266 alapján.
Thinger.io beállítása az ESP8266 hőmérséklet-regisztrálóhoz
A Thinger.io egy nyílt forráskódú platform a tárgyak internetéhez. Minden szükséges eszközt biztosít a csatlakoztatott termékek prototípusának elkészítéséhez, méretezéséhez és kezeléséhez nagyon egyszerű módon. A Thinger.io három alapvető eszközt biztosít, például Data Bucks, Dashboard és Endpoint az eszközök adatainak kezeléséhez; ezek az eszközök felhasználhatók az eszközadatok vizualizálására és az eszközök interoperabilitásának kiterjesztésére.
Data Bucks: A Data Bucks eszköz használható az adatok skálázható tárolására, különböző mintavételi intervallumok programozására vagy az eszközök által felvetett események rögzítésére.
Irányítópult: Az Irányítópult eszköz rendelkezik néhány testreszabható kütyüvel rendelkező panelekkel, amelyek perceken belül létrehozhatók a drag and drop technológiával a valós idejű és tárolt adatok megjelenítéséhez.
Végpontok: A végpontok felhasználhatók a platform más szolgáltatásokkal való integrálásához, például IFTTT-hez, egyéni webszolgáltatásokhoz, e-mailekhez vagy más eszközök hívásához.
Ebben az ESP8266 naplózásban ezeket az eszközöket fogjuk feltárni.
Adatok küldéséhez a Thinger.io webhelyre létre kell hoznia egy ingyenes fiókot a Thinger.io platformon, és az alábbi lépéseket kell követnie a készülék csatlakoztatásához.
1. lépés: Az első lépés egy új eszköz létrehozása. Új eszköz létrehozásához kattintson a menü fülön az Eszközök elemre, majd az Eszköz hozzáadása gombra.
Ezután töltse ki az űrlapot az eszközazonosítóval, a leírással és a hitelesítő adatokkal, vagy generáljon véletlenszerű hitelesítő adatokat az eszközéhez, és kattintson az " Eszköz hozzáadása " gombra.
Ez minden; az eszköz készen áll a csatlakozásra. A következő lépésben programozzuk a NodeMCU-t, hogy az adatokat elküldje a Thinger.io platformra.
IFTTT beállítása a NodeMCU Data Loggerhez
Az IFTTT segítségével e-mail figyelmeztetéseket küldünk, amikor a hőmérséklet meghaladja a határértéket. Az IFTTT (If This Then That) egy webalapú szolgáltatás, amellyel feltételes utasítások láncait hozhatjuk létre, kisalkalmazásoknak hívva. Ezen kisalkalmazások segítségével e-maileket, Twittereket, Facebook értesítéseket küldhetünk.
Az IFTTT használatához jelentkezzen be az IFTTT fiókba, ha már rendelkezik ilyennel, vagy hozzon létre egy fiókot.
Most keressen rá a „ Webhooks ” kifejezésre, és kattintson a Webhooks a Services részben.
Ezután a Webhooks ablakban kattintson a jobb felső sarokban található „Dokumentáció” gombra a privát kulcs megszerzéséhez. Másolja ezt a kulcsot, ez a kulcs a végpont létrehozásakor használható a Thinger.io fájlban.
Ezt követően hozzon létre egy kisalkalmazást a Webhooks és az Email szolgáltatások használatával . Kisalkalmazás létrehozásához kattintson a profiljára, majd kattintson a " Létrehozás " gombra. "
Most a következő ablakban kattintson a " Ez " ikonra. Most keressen rá a Webhookra a keresési részben, és kattintson a " Webhooks " gombra .
Most válassza a „ Webkérés fogadása” ravaszt, és írja be az esemény nevét tempként, majd kattintson az trigger létrehozására.
Ezután kattintson az " Akkor ez" gombra, majd az E-mail gombra.
Most e-mailben kattintson az "e-mail küldése" elemre, írja be az e-mail tárgyát és törzsét, majd kattintson a művelet létrehozása gombra. Az utolsó lépésben kattintson a " Befejezés " gombra az Applet beállításának befejezéséhez.
NodeMCU programozása adatnaplózáshoz
Az adatok Thinger.io címre történő küldésének teljes kódja az oldal végén található. Itt néhány fontos részt elmagyarázunk.
Indítsa el a kódot az összes szükséges könyvtár beillesztésével. A ThingerESP8266.h segítségével kapcsolatot létesíthet az IoT platform és a NodeMCU között, míg az Adafruit_BMP085.h a BMP érzékelő adatainak olvasására szolgál. A ThingerESP8266.h könyvtárat az Arduino IDEs könyvtárkezelőből telepítheti.
#include
Ezután írja be a hitelesítő adatokat a kódba, hogy az eszköz felismerhető legyen és társuljon a fiókjához.
#define USERNAME "A fiók felhasználóneve" #define DEVICE_ID "NodeMCU" // Az eszköz neve #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Ezután írja be a végpont nevét. A végpontot arra használják, hogy a platformot olyan külső szolgáltatásokkal integrálják, mint az IFTTT, a HTTTP kérés stb.
#define EMAIL_ENDPOINT "IFTTT"
Határozza meg a nyomás, a hőmérséklet és a magasság adatainak tárolására szolgáló változókat.
int Nyomás, hőmérséklet, magasság;
A void loop () belsejében olvassa el az érzékelő adatait. A pson adattípus különböző adattípusokat tartalmazhat. Tehát a Pson adattípust egyszerre több érték fogadására használják.
dolog >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Az if feltétel használatával hívja meg a Végpontot, ha a hőmérséklet értéke meghaladja a 15 fokot. Itt az adatok a Végpont neve.
if (Hőmérséklet> 15) {dolog.call_endpoint (EMAIL_ENDPOINT, "adatok");} Soros.nyomtatás ("Adatok küldése");
Adatok naplózása a Thinger.io webhelyen a NodeMCU-ból
Most csatlakoztassa a BMP érzékelőt a NodeMCU-hoz, és töltse fel a kódot. A NodeMCU a fiók hitelesítő adatait felhasználva csatlakozik a korábban létrehozott eszközhöz. Ha sikeresen csatlakozik, akkor az összekapcsolt állapotban lesz, az alábbi képen látható módon:
Ellenőrizheti eszközének statisztikáit, mint például az átvitt adatok, a fogadott adatok, az IP-cím, a csatlakozási idő stb., Csak kattintson az eszköz nevére az Eszközök menüben.
Mivel most megkapjuk az adatokat, létrehozunk egy irányítópultot az adatok vizualizálására a widgetek segítségével.
Irányítópult létrehozásához kattintson a menü lapon az Irányítópultok elemre, majd az „ Irányítópult hozzáadása ” elemre.
Most a következő ablakban írja be az irányítópult részleteit, például az irányítópult nevét, azonosítóját és leírását, majd kattintson az Irányítópult elemre.
Ezt követően az Irányítópult nevére kattintva érheti el az új irányítópultot. Alapértelmezés szerint az irányítópult üresnek tűnik. A widgetek hozzáadásához először engedélyeznie kell a szerkesztési módot az irányítópult jobb felső gombjára kattintva. Ezután kattintson a " Widget hozzáadása" gombra.
Amikor rákattint a " Widget hozzáadása" gombra, megjelenik egy felugró ablak, ahol kiválaszthatja a modul típusát, háttérszínét stb. Esetemben a Gauge Widget-et választottam.
Amikor a mentésre kattint, a következő képernyőre kerül, ahol ki kell választania a Forrásérték, az Eszköz, az Erőforrás, az Érték és a Frissítés módot. Jelölje ki az összes értéket, majd kattintson a Mentés gombra.
Most ismételje meg ugyanazt az eljárást a többi változó esetében. Az irányítópultom így nézett ki:
Végpont létrehozása a Thinger.io e-mail értesítés küldéséhez
Most létrehozunk egy végpontot a Thinger.io és az IFTTT integrálásához. Az eszköz felhívhat egy végpontot bármilyen művelet végrehajtására, például e-mail küldésre, SMS küldésre, REST API hívására, interakcióra az IFTTT-vel, eszköz hívására egy másik fiókról vagy bármely más HTTP végpont hívására.
Végpont létrehozásához kattintson a menü fülén található „Végpont” opcióra, majd kattintson a „Végpont hozzáadása” gombra.
Most a következő ablakban adja meg a szükséges részleteket. A részletek:
Végpont azonosítója: A végpont egyedi azonosítója.
Végpont leírása: Írjon leírást vagy részletes információt a végpontról.
Végpont típusa: Válassza ki a végpont típusát a megadott lehetőségek közül.
Készítő esemény neve: Adja meg IFTTT kisalkalmazásának nevét.
Maker Channel Key: A Webhooks titkos kulcsa.
Ezután kattintson a Test Endpoint elemre, hogy ellenőrizze, hogy minden működik-e. E-mailt kell küldenie figyelmeztetéssel a hőmérsékleti adatokról.
Az IFTTT Webhook Trigger használata helyett küldhet e-mailt vagy távirati üzenetet, vagy HTTP-kérést is küldhet az Endpoint funkcióinak használatával.
Így használható egy NodeMCU ESP8266 segítségével a hőmérséklet, a nyomás és a magasság adatainak naplózása a BMP180 érzékelőről az internetre.
Működő videó és teljes kód az oldal végén található.