Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
project:esp8266_adc_grafana [2019/07/03 13:50] cyberian [Instalace zařízení] |
project:esp8266_adc_grafana [2019/07/10 15:16] cyberian [Instalace Node-red] |
||
---|---|---|---|
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 89: | Line 92: | ||
npm install node-red-dashboard | npm install node-red-dashboard | ||
</code> | </code> | ||
+ | |||
+ | Nastavíme si Node-Red tak, aby běžel aut. po startu jako služba. | ||
+ | <code> | ||
+ | sudo wget -O /etc/systemd/system/Node-Red.service https://raw.githubusercontent.com/ktndesai/Node-RED/master/Node-Red.service | ||
+ | </code> | ||
+ | Je potřebea zkontrolovat skript pro službu, zda ukazuje správně na nodejs a node-red | ||
+ | |||
+ | Skript /etc/systemd/system/Node-Red.service obsahuje následující dva řádky, kde jsem si upravil správně cesty podle mé skutečnosti | ||
+ | |||
+ | <code> | ||
+ | ExecStart=/usr/bin/node $NODE_OPTIONS /usr/lib/node_modules/node-red/red.js $NODE_RED_OPTIONS | ||
+ | WorkingDirectory=/root/.node-red/ | ||
+ | </code> | ||
+ | |||
+ | Po restartu by jste měli nalézt přes příkaz | ||
+ | <code> | ||
+ | systemctl status Node-Red | ||
+ | </code> | ||
+ | |||
+ | svoji službu aut. spuštěnou | ||
Nyní máme připravený node-red s dashboardem. Do node-red editoru se lze dostat přes http://localhost:1880. Na dashboard proklikem z editoru přes tab dashboard a následně ikonou šipky na úhlopříčku nebo přes http://localhost:1880/ui | Nyní máme připravený node-red s dashboardem. Do node-red editoru se lze dostat přes http://localhost:1880. Na dashboard proklikem z editoru přes tab dashboard a následně ikonou šipky na úhlopříčku nebo přes http://localhost:1880/ui | ||
Line 133: | Line 156: | ||
===== 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 314: | ||
===== 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 335: | ||
=== 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í ===== | ||
Line 321: | Line 355: | ||
https://nodered.org/docs/getting-started/installation | https://nodered.org/docs/getting-started/installation | ||
+ | |||
+ | https://ketandesai.co.uk/os/install-node-red-on-centos-7/ | ||
https://nodered.org/docs/user-guide/runtime/securing-node-red#editor--admin-api-security | https://nodered.org/docs/user-guide/runtime/securing-node-red#editor--admin-api-security |