[ Príspevok: 1 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.02.14
Prihlásený: 05.10.26
Príspevky: 410
Témy: 158 | 158
Bydlisko: Poprad-okolie

ThingSpeak dnes možno nepatrí medzi najpoužívanejšie platformy, no rozhodne bolo tomu inak v rokoch 2010 a vyššie. V danom čase začal boom Arduino dosiek, ku ktorým bolo možné pripojiť Ethernet shield, niekto mal šťastie aj na WiFi shield. Platforma v tom čase bola jedinou známou svojho druhu ako "IoT platform" a umožňovala aj nezabezpečený prenos dát po HTTP protokole, čo bol defacto jediný použiteľný protokol vzhľadom na výkon procesora a pamäť, dopomohlo k tomu aj to, že Ethernet shieldy s Wiznet čipmi disponovali hardvérovým stackom, čo bola výhoda oproti ENC28J60, ktoré sa tiež hojne používali, ale mali softvérový stack, ktorý musel bežať na Arduine.
ThingSpeak - Watmonitor integrácia
ThingSpeak ponúkal vizualizácie formou čiarových grafov s dátovými bodmi, ale aj vizualizácie formou gauge grafov, či zobrazovania jednotlivej hodnoty. Tomuto spôsobu ostal ThingSpeak verný dodnes a vizuál je stále rovnaký, jednoduchý. MQTT protokol a podpora brokera prišla v roku 2017, čo tiež čiastočne platformu spopularizovalo, najmä s mikrokontrolérom ESP8266, či ESP32 od Espressif Systems.

Platformu je možné použiť aj na integráciu webovej aplikácie hladinomera (Watmonitor), čo si dnes ukážeme. Príklady budú obsahovať integráciu pre Push (dáta sa posielajú do platformy), ale aj Pull (platforma získava dáta vlastnou požiadavkou) model, ktorý bude využívať aj parsing dát z JSON endpointu Watmonitora, ktorý poskytuje posledné namerané dáta.

Vzorové dáta endpointu (potrebný parameter - value, ktorý reprezentuje celkovú hladinu vody):
Kód:
{
"name": "Waterwell at home",
"value": 345,
"depth": 400,
"volume": 1734.16,
"time": "26. Oct 22:46",
"time_now": "28. Oct 23:48"
}


Vytvorenie kanála:
Platforma ThingSpeak využíva kanály, ktoré disponujú celkom 8-mymi dátovými poliami, ktoré môžu uchovávať hodnoty. Každé z tých polí logicky definuje premennú. Kanál disponuje používateľskou vizualizáciou, ktorá má vždy samostatný graf pre každé použité dátové pole. Tieto vizualizácie je možné rozšíriť o ďalšie widgety (gauge, numeric display, lamp indicator). Widgetom je možné nastaviť jednotku meranej veličiny, interval aktualizácie, rozsahy. Nie je tu možné úprava widgetov formou HTML kódu.
ThingSpeak - Watmonitor integrácia
Vytvoríme si kanál, kde využijeme jedno dátové pole. Po uložení sa nám zobrazí čiarový graf, ku ktorému môžeme pridať napr. aj gauge vizualizáciu. V časti API keys nájdete API kľúč pre autorizáciu zápisu dát. Zápis sa štandardne na ThingSpeaku realizuje HTTP GET requestom, ktorý obsahuje api kľúč a tiež hodnotu pre konkrétne dátové pole (field) s číslom jeho poradia.
ThingSpeak - Watmonitor integrácia
Push model s CURL z Watmonitora
Príklad requestu pre zápis dát do ThingSpeaku do príslušného fieldu:

https://api.thingspeak.com/update?api_key=JV4AS1SQFJKXUARC&field1=345
Po zápise dát ThingSpeak v odpovedi pošle znak 1, ak došlo k zapísaniu dát bez problému, t.j. prešla aj autorizácia API kľúčom pre zápis. Zapísané dáta môžeme následne vidieť aj v kanále vo widgetoch, ktoré vizualizujú field 1.
ThingSpeak - Watmonitor integrácia
Na strane Watmonitora pre priamu integráciu a získavanie time-series dát je potrebné tento request volať skrz CURL zo súboru data.php, ktorý spúšťa priamo senzorový uzol (mikrokontróler) pri zápise dát do Watmonitora.

Push model s Node-RED + parser Watmonitora
Obdobným spôsobom môže do ThingSpeaku posielať dáta aj middleware - Node-RED, ak sa používa. Node-RED dokáže využiť dáta z JSON endpointu Watmonitora, vyparsovať ich a poslať už finálnu hodnotu bez potreby záťaže servera, na ktorom beží Watmonitor. Toto riešenie navyše môže kompenzovať aj prípady, kedy Watmonitor nedostáva dáta a tak bude Node-RED posielať stále posledné dáta, ktoré preklemujú aj výpadok senzorového uzla.

Alternatívne je možné pre zápis dát použiť aj MQTT protokol:
    MQTT broker: mqtt3.thingspeak.com (špecifickácia MQTT 3.1.1)
    Port: 1883 / 8883 (SSL)
    Topic: channels/CHANNEL_ID/publish/APIKEY

Pre možné použitie MQTT protokolu sa vyžaduje vytvorenie zariadenia v rozhraní ThingSpeaku, po ktorom budete mať k dispozícii ClientID, používateľské meno (je rovnaké ako ClientID) a heslo. Všetky tieto 3 údaje slúžia na autorizáciu klienta pre pripojenie k brokru a následný Publish na MQTT topic. Zariadenie je pri vytváraní potrebné autorizovať pre zápis na konkrétny kanál.
ThingSpeak - Watmonitor integrácia
ThingSpeak - Watmonitor integrácia
MATLAB Analysis - Pull model
ThingSpeak má aj ďalšie podporné aplikácie. Jednou z nich je MATLAB Analysis, ktorý okrem iného (budovanie dátových modelov, konvertovanie dát, filtrovanie dát, organizácia dát + využívanie Toolboxov, ak máte MATLAB v danej licencii) umožňuje aj scraping dát z webových stránok a archivovanie finálnych dát v ThingSpeaku (nakoľko je to script, viete do neho implementovať aj radu ďalších funkcionalít, prepočtov, či analytických metód).
ThingSpeak - Watmonitor integrácia
Pri vytvorení novej inštancie MATLAB Analysis zvolíme v šablóne Get data from a webpage. Šablóna má preddefinovaný kód, ktorý môžete upraviť, zadať URL pre JSON endpoint inštancie Watmonitora, vrátane reťazca, ktorého hodnotu chcete parsovať. Touto základnou funkcionalitou ale nie ste limitovaní, nakoľko si to viete rozšíriť o čokoľvek.
ThingSpeak - Watmonitor integrácia
Okrem uloženia a spustenia scriptu môžete v spodnej časti nastaviť aj TimeControl, ktorý dokáže script spúšťať automaticky a zabezpečiť tak získavanie dát z Watmonitora v pravidelných intervaloch, štandardne postačuje raz za 5 minút. Aj keď dôjde k výpadku senzorového uzla, MATLAB script vždy načíta posledné dáta a uloží ich do ThingSpeaku. Okrem periodického spúšťania je možné nastaviť aj len jedno samostatné spustenie, je tu mnoho konfiguračných možností. Pri periodickom spúšťaní môžete beh obmedziť aj na konkrétne dni, či hodiny. TimeControl je nadradený a priradzuje sa mu konkrétna akcia - spúšťanie MATLAB Analysis scriptu, alebo inej aplikácie.
ThingSpeak - Watmonitor integrácia
Pre samotný parsing by šla použiť aj aplikácia ThingHTTP, avšak tá sama o sebe nedokáže vyparsovanú hodnotu uložiť a potrebuje aj tak potrebný MATLAB script, teda jednoduchšie je priamo použiť MATLAB script, kde je všetko, vrátane parsera. Úspešne sme implementovali ukážkovú integráciu webového rozhrania hladinomera (Watmonitor) a jeho dát do platformy ThingSpeak. Okrem priameho CURL volania z rozhrania Watmonitora sme si demonštrovali aj možnosť middlewaru v podobe Node-RED, ktorý dokáže pre event-driver aplikácie zapísať dáta rovnakým spôsobom, alebo môže použiť aj MQTT Publish a zároveň dokáže vyparsovať dáta z JSON endpointu. Pre Pull variant sme využili MATLAB script pod MATLAB Analysis.

Pre iné druhy vizualizácii v rámci ThingSpeaku môžete použiť aj aplikáciu MATLAB Visualisation, ktorá tiež ponúka preddefinované šablóny s rôznymi druhmi grafov, kde je aj možnosť vytvoriť si celú vizualizáciu od nuly (Custom). Tieto typy vizualizácii umožňujú aj kombinovanie dát z rôznych fieldov kanála. Tu môže nastať problém, že ak všetky dáta neposielate naraz v rovnaký čas ako batch, nemusíte mať kontinuitu medzi časmi a tak budete pravdepodobne musieť pristúpiť ku agregácii dát pre ich skonsolidovanie v časovej oblasti, ak ich chcete do jednej vizualizácie.

ThingSpeak je jednoduchou a funkčnou platformou pre vizualizáciu dát, ktorú môžete zdieľať aj verejne s inými používateľmi (štandardne sú ale dáta viditeľné len súkromne, pre verejný prístup musíte explicitne povoliť). To sa môže hodiť vtedy, ak máte inštanciu Watmonitora hostovanú lokálne a dáta preposielate aj na ThingSpeak, kde ich skrz internet môžu prezerať aj iní používatelia. Z platformy ThingSpeak môžete dáta aj exportovať vo formáte .csv s konkrétnou časovou zónou. Exportovať je možné len kompletné dáta, nie čiastkové.

Vyskúšajte Watmonitor ešte dnes s vašim hardvérom, alebo vyskúšajte túto integráciu s vašou inštanciou Watmonitora: https://your-iot.github.io/Watmonitor/sk/

V tomto článku použitý Node-RED flow, či MATLAB script nájdete na:
https://github.com/martinius96/hladinomer-studna-scripty/tree/master/examples/Tools_Integrations/ThingSpeak

Ak vás zaujíma aj integrácia Watmonitora s ďalšími platformami, na blogu nájdete aj ThingsBoard, Ubidots.


 [ Príspevok: 1 ] 


ThingSpeak - Watmonitor integrácia



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ubidots - Watmonitor integrácia

v Články

0

36

11.06.2026 13:00

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

ThingsBoard - Watmonitor HTTP integrácia

v Články

0

34

11.06.2026 12:40

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

ThingsBoard - Watmonitor integrácia widget / Rule Chain

v Články

0

31

11.06.2026 12:48

martinius96

V tomto fóre nie sú ďalšie neprečítané témy.

Paysafecard integracia

v Backend

0

434

02.04.2013 20:40

emer

V tomto fóre nie sú ďalšie neprečítané témy.

GoPay integrácia

v Backend

1

695

12.11.2015 19:56

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Integracia TrustPay

v CMS

0

616

06.07.2013 2:26

gi-lee

V tomto fóre nie sú ďalšie neprečítané témy.

integracia CAD - SAP

v Ostatné programy

1

786

06.04.2009 13:40

Ominous

V tomto fóre nie sú ďalšie neprečítané témy.

Integracia PayPal do eshopu

v Ponuka a dopyt práce

1

1026

04.07.2011 9:16

Pablo Montero

V tomto fóre nie sú ďalšie neprečítané témy.

integracia idm do mozilly

v Sieťové programy

0

625

01.03.2010 20:33

milosb

V tomto fóre nie sú ďalšie neprečítané témy.

Integrácia platieb na web

v Backend

3

444

01.04.2013 23:59

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

integracia PHPBB3 do Joomla! ?

v CMS

4

808

13.01.2010 19:40

000kiko000

V tomto fóre nie sú ďalšie neprečítané témy.

Integrácia jazykových balíkov do Windows 7

v Články

25

20732

14.10.2014 13:22

Gaaspi

V tomto fóre nie sú ďalšie neprečítané témy.

Integracia stranky na nejaky redakcny System

v CMS

3

693

21.03.2007 10:54

brm

V tomto fóre nie sú ďalšie neprečítané témy.

windows 7 integracia ovladacov do instalacky

v Windows

8

601

09.04.2018 16:42

Miso122

V tomto fóre nie sú ďalšie neprečítané témy.

Integrácia CKEditoru a CKFinderu do webovej stránky

v Frontend

0

908

09.01.2011 7:00

programmer

V tomto fóre nie sú ďalšie neprečítané témy.

Integrácia Watmonitora do Node-RED skrz JSON endpoint

v Články

0

35

11.06.2026 12:56

martinius96



© 2005 - 2026 PCforum, edited by JanoF