Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:esp8266_adc_grafana [2019/07/03 13:50] cyberian [Instalace zařízení] |
project:esp8266_adc_grafana [2019/07/06 20:00] cyberian [Finální kód programu] |
||
---|---|---|---|
Line 8: | Line 8: | ||
===== Úvod ===== | ===== Úvod ===== | ||
Vzhledem k netušené náročnosti to trochu potrvá, dokud to nebude dostatečně "kyber". Nicméně tvrdě na tom dělám ;-) | Vzhledem k netušené náročnosti to trochu potrvá, dokud to nebude dostatečně "kyber". Nicméně tvrdě na tom dělám ;-) | ||
+ | Edit: Už je to dostatečně "kyber". Celý projekt je hotový a odladěný. | ||
- | Mým cílem je data vizualizovat a mít je na dosah v případě potřeby, bez nutnosti chodit k zařízení. | + | Mým cílem je měřit pravidelně napětí baterie, data vizualizovat a mít je na dosah v případě potřeby, bez nutnosti chodit k zařízení. Dále zaslání emailu v případě, kdy se baterie dostane pod 11 V. Hotové zařízení se namontuje na pojízdnou platformu, na které sedí terapeut s dítětem, případně jen dítě, když je šikovnější a je tam jedno tlačítko, které po stisku platformu rozjede a tato sleduje černou izolační pásku nalepenou na podlaze. |
Předlohou k řešení se stala architektura internetu věcí, kterou využíváme v SensoricNetu, který je nejrozsáhlejším projektem Labky a ve kterém stále pokračujeme. Data z ESP8266 budeme posílat skrz Wifi připojení protokolem MQTT. Podrobnosti o protokolu, viz poslední odstavec s referencemi. Tímto protokolem se připojíme k MQTT brokerovi, který schromažďuje data ze zařízení publikovaná pod určitým tématem (topic). Jiná zařízení nebo aplikace naopak mohou data z konkrétního tématu přijímat. Podle obrázku vidíte, že odesílateli se říká publisher a tomu kdo přijímá subscriber. Samozřejmě můžete být obojím. | Předlohou k řešení se stala architektura internetu věcí, kterou využíváme v SensoricNetu, který je nejrozsáhlejším projektem Labky a ve kterém stále pokračujeme. Data z ESP8266 budeme posílat skrz Wifi připojení protokolem MQTT. Podrobnosti o protokolu, viz poslední odstavec s referencemi. Tímto protokolem se připojíme k MQTT brokerovi, který schromažďuje data ze zařízení publikovaná pod určitým tématem (topic). Jiná zařízení nebo aplikace naopak mohou data z konkrétního tématu přijímat. Podle obrázku vidíte, že odesílateli se říká publisher a tomu kdo přijímá subscriber. Samozřejmě můžete být obojím. | ||
Line 18: | Line 19: | ||
- | ===== Materiál ===== | + | ===== Materiál a schéma ===== |
* ip66 waterproof case | * ip66 waterproof case | ||
Line 28: | Line 29: | ||
* pájitelné pole | * pájitelné pole | ||
* menší chladič | * menší chladič | ||
+ | |||
+ | {{ :project:nodered_adc.png?600 |}} | ||
===== Deep sleep mód ===== | ===== Deep sleep mód ===== | ||
Line 133: | Line 136: | ||
===== Finální kód programu ===== | ===== Finální kód programu ===== | ||
+ | Původní kód najdete v předchozím projektu: [[https://labka.cz/wiki/doku.php?id=project:esp8266_adc|Měření napětí pomocí ADC]] | ||
Úpravy kódu: | Úpravy kódu: | ||
* přidání kódu pro zasílání zpráv s napětím pomocí mqtt protokolu na mqtt brokera | * přidání kódu pro zasílání zpráv s napětím pomocí mqtt protokolu na mqtt brokera | ||
Line 289: | Line 293: | ||
===== Node-red editor ===== | ===== Node-red editor ===== | ||
- | {{ :project:node-red.jpg?400 |}} | + | {{:project:node-red.jpg?400|}}{{:project:node-red_editor.jpg?400|}} |
Takto by se vám měl po přihlášení, zobrazit editor node-redu sprázdným pracovním prostorem. Případně bez přihlášení, pokud jste zabezpečení nepotřebovali. | Takto by se vám měl po přihlášení, zobrazit editor node-redu sprázdným pracovním prostorem. Případně bez přihlášení, pokud jste zabezpečení nepotřebovali. | ||
Nejprve bude potřeba vytvořit ve sloupci vpravo layout dashboardu. Vytvoříte si vlastní uzel, kde vyplníte Name a pod ním skupinu. | Nejprve bude potřeba vytvořit ve sloupci vpravo layout dashboardu. Vytvoříte si vlastní uzel, kde vyplníte Name a pod ním skupinu. | ||
- | Podle toho jak budete přidávat různé grafické prvky, tak bude pak možno na tomto místě měnit pořadí. V tabu Site si lze nastavit rozměry základní dlaždice. V mém případě jsem nastavil 64x64 pro 1x1 | + | Podle toho jak budete přidávat různé grafické prvky, tak bude pak možno na tomto místě měnit pořadí. V tabu Site si lze nastavit rozměry základní dlaždice widgetu. V mém případě jsem nastavil 64x64 pro 1x1. |
+ | |||
+ | Pro každou změnu v node-red editou, u které chcete, aby se projevila, je potřeba kliknout na tlačítko "Deploy" | ||
Nyní k popisu uzlů, které jsem použil. Rozdělil jsem si to vizuálně na 3 svislé části. | Nyní k popisu uzlů, které jsem použil. Rozdělil jsem si to vizuálně na 3 svislé části. | ||
=== První část === | === První část === | ||
- | První jsou vstupy AkkaMonitor/napeti, wifiTimeMilis, pubTime. Tyto vstupy beru jako mqtt subscriber ze serveru, který je jako local MQTT broker. Do názvu jsem dal IP adresu serveru a standardní port 1883. Topic AkkaMonitor/napeti, který odpovídá posílanému topicu v kódu programu. Pozor na lomítka. Pokud napíšeš /Akkamonitor/napeti, tak se jedná o jiný topic. | + | První jsou vstupy AkkaMonitor/napeti, wifiTimeMilis, pubTime. Tyto vstupy beru jako mqtt subscriber ze serveru, který je jako local MQTT broker. Do názvu jsem dal IP adresu serveru a standardní port 1883. Topic AkkaMonitor/napeti, který odpovídá posílanému topicu v kódu programu. Pozor na lomítka. Pokud napíšete /Akkamonitor/napeti, tak se jedná o jiný topic. |
+ | |||
+ | {{:project:node-red_mqtt_sub.jpg?400|}} | ||
=== Druhá část === | === Druhá část === | ||
Line 305: | Line 314: | ||
=== Třetí část === | === Třetí část === | ||
- | Výstupy do grafických prvků. "VU" metry, grafy a odeslání informací na mail. V defaultním nastavneí to pošle jako předmět emailu topic a jako obsah emailu hodnotu napětí. | + | Výstupy do grafických prvků. "VU" metry, grafy a odeslání informací na mail. V defaultním nastavení to pošle jako předmět emailu topic a jako obsah emailu hodnotu napětí. |
+ | |||
+ | ===== Výsledek na dashboardu ===== | ||
+ | Takto to vypadá funkční ve finále | ||
+ | {{ :project:akka_gui01.jpg?400 |}} | ||
===== Instalace zařízení ===== | ===== Instalace zařízení ===== |