IoT: ThingSpeak
| m (tvorba stránky) | m (→Možnosti zobrazení) | ||
| (Není zobrazeno 17 mezilehlých verzí od 1 uživatele.) | |||
| Řádka 1: | Řádka 1: | ||
| − | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]] | + | [[Category:VSE]][[Category:Informatika]][[Category:Letní IoT]][[Category:IoT]][[Category:Učebnice IoT]] | 
| + | == 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 [https://thingspeak.com/ 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. | ||
| + | |||
| + | <div class="Priklad"> | ||
| + | [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/ThingsSpeak_zkouskaSpojeni/ThingsSpeak_zkouskaSpojeni.ino Zkouška spojení] | ||
| + | </div> | ||
| + | |||
| + | Také budeme potřebovat knihovnu [https://github.com/CestmirKolarik/IoTucebnice/blob/main/Knihovny/ThingSpeak.zip ThingSpeak] a na [https://github.com/CestmirKolarik/IoTucebnice/blob/main/Knihovny/WiFiManager-master.zip 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 [[IoT: HTU21D |č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); | ||
| + |  } | ||
| + | |||
| + | <div class="Priklad"> | ||
| + | [https://github.com/CestmirKolarik/IoTucebnice/blob/main/ArduinoIDE/ThingsSpeak_HTU21D/ThingsSpeak_HTU21D.ino Celý kód na HTU21D] | ||
| + | </div> | ||
| + | |||
| + | == 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 [https://play.google.com/store/apps/details?id=com.devinterestdev.thingshow&hl=cs&gl=US 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 == | ||
| [http://jurasek.wz.cz/index.php/iot1/22-thingspeak-webova-prezentace thingspeak - webová prezentace] | [http://jurasek.wz.cz/index.php/iot1/22-thingspeak-webova-prezentace thingspeak - webová prezentace] | ||
Aktuální verze z 16. 3. 2021, 22:14
| 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
