IoT: ThingSpeak
Obsah |
Co to je
Webová služba, na posílání dat ze zařízení. My tam budeme pravidelně posílat data z čidel a vytvoříme si tak meteostanici.
Založení účtu
Na webu Thingspeak si založte účet.
(vpravo nahoře) Sign in -> (pod MathWorks) Create one! -> Vyplňte přihlašovací údaje (bez diakritiky) -> Continue -> zaškrknout Use this email for my MathWorks Account -> Continue (přejděte na email, dojde Vám email) Verify email -> pokračujte na webu Continue -> Zadejte heslo (8-50 znaků, jedno velké písmeno a jednu číslici) -> Continue -> (Účet se vytvoří) -> OK Máte zvolit k čemu to budete používat (zvolte, co uznáte za vhodné)
Založení kanálu (projektu)
Po úspěšném založení účtu / přihlášení se.
Channels -> My Channels -> New Channels Vyplnit název a zvolit počet polí (Field), můžeme posílat až 8 hodnot (teplota, vlhkost, tlak, intenzita osvětlení...) -> Save Channel
Úprava kanálu
Smazání zaslaných hodnot Channel Settings -> Clear Channel (dole, červené tlačítko)
Změna počtu polí a jejich názvů Channel Settings -> Field 1 – Field 8
Api klíče (zápis i čtení) Api keys
Odesílání náhodných dat
Nejprve musíme otestovat, zda je možné něco odesílat (zda je v pořádku spojení). Budou se odesílat náhodná čísla v rozmezí 0 - 100.
Stáhněte si následující kód a v něm jsou poznámky co a jak.
Také budeme potřebovat knihovnu ThingSpeak a na Wifi.
Odesílání dat z čidel
Pokud se nám povedlo odesílat něco na ThingSpeak, můžeme přejít na odesílání dat z čidla.
Budeme muset do předchozího kódu přidat věci, které jsou potřeba k čidlu (knihovny, inicializace...)
- Import knihoven
#include <ThingSpeak.h> #include <ESP8266WiFi.h> #include <Wire.h> #include <HTU21D.h> HTU21D myHTU21D(HTU21D_RES_RH12_TEMP14);
- ve void setup() – za inicializováním sériové komunikace
//kontroluje, že je čidlo správně zapojené a funguje while (myHTU21D.begin() != true) { Serial.println(F("HTU21D, SHT21 snímač selhal nebo není připojen")); delay(5000); } Serial.println(F("HTU21D, SHT21 snímač je aktivní"));
- ve void loop() budeme posílat data z čidla
void loop() { //pokud je wifi odpojena, znovu ji připojíme if(WiFi.status() != WL_CONNECTED){ connectWiFi(); } //z čidel si do proměnných načteme hodnoty float teplota = myHTU21D.readTemperature(); float vlhkost = myHTU21D.readHumidity(); //přiřadíme hodnotu polím v thingspeaku ThingSpeak.setField(1, teplota); ThingSpeak.setField(2, vlhkost); //odešleme hodnoty polí na thingspeak sendToThingspeak(); //počká interval delay(interval); }
Možnosti zobrazení
Přidání Widgetu – Add Widgets
Úprava Widgetu – v pravé horní části Widgetu je tužtička, na tu klikněte a zobrazí se Vám nastavení
Mobilní aplikace
Vaše data můžete sledovat i přes mobilní aplikaci pro Android ThingShow - ThingSpeak visualizer.
Aplikací, co dělají tuto věc je mnoho, já jsem si vybral tuto a ukážu Vám, jak to funguje.
- Budeme potřebovat
- Channel ID: 1327277
- Read API Key: V1MKMRTBT4WF1RH8 (ten najdeme v API Keys)
- V mobilní aplikaci dáme v pravém dolním rohu +, podle toho, zda máme veřejný, či soukromý kanál, tak zvolíme další možnost (veřejný nepotřebuje Read API key).
- Musíme zadat Channel ID a API Key a server (již je napsán – https://thingspeak.com)
- Open
- OK znak vpravo nahoře
- A je hotovo, u ostatních aplikacích by to mělo být podobné
Další články
thingspeak - webová prezentace