- Požadované komponenty
- Kruhový diagram
- Nastavení Thinger.io pro záznamník teploty ESP8266
- Nastavení IFTTT pro NodeMCU Data Logger
- Programování NodeMCU pro protokolování dat
- Protokolování dat na Thinger.io z NodeMCU
- Vytváření koncových bodů v Thinger.io k odesílání e-mailových upozornění
Dříve jsme pomocí NodeMCU zaznamenávali údaje o teplotě do listu Google. Nyní zde pošleme data do cloudu IoT Thinger.io a zobrazíme je v atraktivním grafickém formátu. Senzor BMP180 je propojen s NodeMCU ESP8266 ke shromažďování údajů o teplotě, vlhkosti a nadmořské výšce, které budou odeslány na platformu Thinger.io. V tomto kurzu se naučíme, jak spravovat různé funkce platformy thinger.io, jako jsou zařízení, koncové body, datové koše nebo přístupové tokeny.
Požadované komponenty
- NodeMCU ESP8266
- BMP180 Tlakový senzor
- Propojovací dráty
- Nepájivá deska
Kruhový diagram
Schéma zapojení pro tento záznamník dat ESP8266 je velmi jednoduché, zde je pouze senzor BMP180 propojen s NodeMCU.
Senzor BMP180 používá komunikační protokol I2C. Musíte tedy připojit piny SCL a SDA BMP180 na piny SCL a SDA (D1 a D2) NodeMCU. Připojte také kolíky V IN a GND BMP180 na 3,3 V a GND NodeMCU. Nepřipojujte senzor přímo na 5V, protože by to mohlo senzor trvale poškodit.
Chcete-li se dozvědět více o NodeMCU, zkontrolujte různé projekty IoT založené na NodeMCU ESP8266.
Nastavení Thinger.io pro záznamník teploty ESP8266
Thinger.io je open-source platforma pro internet věcí. Poskytuje všechny potřebné nástroje k prototypování, škálování a správě připojených produktů velmi jednoduchým způsobem. Thinger.io poskytuje tři základní nástroje, tj. Data Bucks, Dashboard a Endpoint pro práci s daty zařízení; tyto nástroje lze použít k vizualizaci dat zařízení a rozšíření interoperability zařízení.
Data Bucks: Nástroj Data Bucks lze použít k škálovatelnému ukládání dat zařízení, programování různých intervalů vzorkování nebo zaznamenávání událostí vyvolaných zařízeními.
Dashboard: Dashboard tool has some Panels with customizable widgets that can be created within minutes using drag and drop technology to visualize the real-time and stored data.
Koncové body: Koncové body lze integrovat platformu s dalšími službami, jako je IFTTT, vlastní webové služby, e-maily, nebo volejte na jiná zařízení.
V tomto protokolování ESP8266 prozkoumáme tyto nástroje.
Chcete-li odeslat data na server Thinger.io, musíte si vytvořit bezplatný účet na platformě Thinger.io a připojit zařízení podle níže uvedených kroků.
Krok 1: Prvním krokem je vytvoření nového zařízení. Chcete-li vytvořit nové zařízení, klikněte na Zařízení na kartě nabídky a poté klikněte na tlačítko Přidat zařízení.
Poté vyplňte formulář ID zařízení, popisem a pověřeními nebo vygenerujte náhodná pověření pro své zařízení a klikněte na „ Přidat zařízení “.
To je vše; vaše zařízení je připraveno k připojení. V dalším kroku naprogramujeme NodeMCU na odesílání dat na platformu Thinger.io.
Nastavení IFTTT pro NodeMCU Data Logger
Zde používáme IFTTT k zasílání e-mailových varování, když teplota překročí limit. IFTTT (If This Then That) je webová služba, pomocí které můžeme vytvářet řetězce podmíněných příkazů, nazývaných applety. Pomocí těchto appletů můžeme odesílat e-maily, Twitter, Facebook oznámení.
Chcete-li používat IFTTT, přihlaste se k účtu IFTTT, pokud již jeden máte, nebo si vytvořte účet.
Nyní vyhledejte „ Webhooks “ a klikněte na sekci Webhooks v části Služby.
Poté v okně Webhooks kliknutím na „Dokumentace“ v pravém horním rohu získáte soukromý klíč. Zkopírujte tento klíč, tento klíč se použije při vytváření Endpoint v Thinger.io.
Poté vytvořte applet pomocí služeb Webhooks a Email . Chcete-li vytvořit applet, klikněte na svůj profil a poté klikněte na Vytvořit. ''
Nyní v dalším okně klikněte na ikonu „ Toto “. Nyní vyhledejte Webhooky v sekci vyhledávání a klikněte na „ Webhooky “.
Nyní vyberte aktivační událost „ Přijmout webový požadavek“ a zadejte název události jako dočasnou a poté klikněte na vytvořit aktivační událost.
Poté klikněte na „ Then That“ a poté na Email.
Nyní v e-mailu klikněte na „pošlete mi e-mail“ a zadejte předmět a tělo e-mailu a poté klikněte na vytvořit akci. V posledním kroku dokončete nastavení appletu kliknutím na „ Dokončit “.
Programování NodeMCU pro protokolování dat
Kompletní kód pro odesílání dat do Thinger.io je uveden na konci stránky. Zde vysvětlujeme některé důležité části.
Spusťte kód zahrnutím všech požadovaných knihoven. ThingerESP8266.h slouží k navázání spojení mezi platformou internetu věcí a NodeMCU zatímco Adafruit_BMP085.h se používá ke čtení BMP data snímače. Knihovnu ThingerESP8266.h můžete nainstalovat ze správce knihoven IDE Arduino.
#zahrnout
Dále zadejte do kódu pověření, aby bylo zařízení rozpoznáno a přidruženo k vašemu účtu.
#define USERNAME "Uživatelské jméno vašeho účtu" #define DEVICE_ID "NodeMCU" // název vašeho zařízení #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Poté zadejte název svého koncového bodu. Koncový bod se používá k integraci platformy s externími službami, jako je IFTTT, požadavek HTTTP atd.
#define EMAIL_ENDPOINT „IFTTT“
Definujte proměnné pro uložení dat tlaku, teploty a nadmořské výšky.
tlak, teplota, nadmořská výška;
Ve prázdné smyčce () si přečtěte data snímače. Pson typ dat může pojmout různé datové typy. Datový typ Pson se tedy používá k přijímání více hodnot současně.
věc >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Použijte podmínku if pro volání koncového bodu, pokud hodnota teploty překročí 15 stupňů. Zde jsou data název koncového bodu.
if (Teplota> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Odesílání dat");
Protokolování dat na Thinger.io z NodeMCU
Nyní připojte snímač BMP k NodeMCU a nahrajte kód. NodeMCU použije vaše přihlašovací údaje k účtu pro připojení k zařízení, které jste vytvořili dříve. Pokud se úspěšně připojí, zobrazí se připojený, jak ukazuje následující obrázek:
Statistiky zařízení, jako jsou Přenesená data, Přijatá data, IP adresa, Čas připojení atd., Můžete zkontrolovat pouhým kliknutím na název zařízení v nabídce Zařízení.
Když nyní přijímáme data, vytvoříme řídicí panel pro vizualizaci dat pomocí widgetů.
Chcete-li vytvořit Dashboard, klikněte na Dashboards na kartě nabídky a poté klikněte na ' Přidat Dashboard '.
Nyní v dalším okně zadejte podrobnosti řídicího panelu, jako je název řídicího panelu, ID a popis, a poté klikněte na Dashboard.
Poté přejděte na nový řídicí panel kliknutím na název řídicího panelu. Ve výchozím nastavení se řídicí panel zobrazí prázdný. Chcete-li přidat widgety, musíte nejprve povolit režim úprav kliknutím na přepínač v pravém horním rohu palubní desky. Poté klikněte na tlačítko „ Přidat widget“ .
Když kliknete na tlačítko „ Přidat widget“ , zobrazí se vyskakovací okno, kde můžete vybrat typ widgetu, barvu pozadí atd. V mém případě jsem vybral widget Gauge.
Když kliknete na uložit, dostanete se na další obrazovku, kde musíte vybrat režim Zdrojová hodnota, Zařízení, Zdroj, Hodnota a Obnovit. Vyberte všechny hodnoty a poté klikněte na tlačítko Uložit.
Nyní opakujte stejný postup pro ostatní proměnné. Můj řídicí panel vypadal takto:
Vytváření koncových bodů v Thinger.io k odesílání e-mailových upozornění
Nyní vytvoříme koncový bod pro integraci Thinger.io s IFTTT. Koncový bod může zařízení volat za účelem provedení jakékoli akce, například odeslání e-mailu, odeslání SMS, volání rozhraní REST API, interakce s IFTTT, volání zařízení z jiného účtu nebo volání jiného koncového bodu
Chcete-li vytvořit koncový bod, klikněte na možnost „Koncový bod“ na kartách nabídky a poté klikněte na „Přidat koncový bod“.
Nyní v dalším okně zadejte požadované podrobnosti. Podrobnosti jsou:
ID koncového bodu : Jedinečný identifikátor pro váš koncový bod.
Popis koncového bodu: Napište popis nebo podrobné informace o svém koncovém bodě.
Typ koncového bodu: Vyberte typ koncového bodu z daných možností.
Název události výrobce: Zadejte název svého appletu IFTTT.
Klíč kanálu Maker: Váš tajný klíč Webhooks.
Poté klikněte na Test koncového bodu a zkontrolujte, zda vše funguje. Mělo by vám poslat e-mail s varováním o údajích o teplotě.
Místo použití spouštěče IFTTT Webhook můžete odeslat e-mail nebo telegramovou zprávu nebo můžete odeslat požadavek HTTP pomocí funkcí koncového bodu.
Takto lze NodeMCU ESP8266 použít k zaznamenávání údajů o teplotě, tlaku a nadmořské výšce ze snímače BMP180 na internet.
Pracovní video a kompletní kód jsou uvedeny na konci stránky.