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:59] cyberian |
project:esp8266_adc_grafana [2019/07/10 15:16] (current) 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. | ||
| Line 300: | Line 326: | ||
| === 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 310: | Line 338: | ||
| ===== Výsledek na dashboardu ===== | ===== Výsledek na dashboardu ===== | ||
| - | Takto vypadá finále | + | Takto to vypadá funkční ve finále |
| + | {{ :project:akka_gui01.jpg?400 |}} | ||
| ===== Instalace zařízení ===== | ===== Instalace zařízení ===== | ||
| Line 326: | 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 | ||