Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
project:esp8266_adc_grafana [2019/07/03 13:33]
cyberian [Deep sleep mód]
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. ​
  
 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í =====
 +Instalace byla poměrně úsměvná. Zjistil jsem že deska není dřevěná ale cca 4-5mm plast, do kterého závit nevyříznu,​ jelikož závit potřebuje ještě výběh pro vrchol vrtáku i závitníku :) Posloužila však hliníková pásovina, na které jsou upevněná kolečka. Kabely jsou připájeny přímo na piny baterie pro fastony. Monitoruje se jen jedna baterie, jelikož se nabíjí v sérii. Pro jistotu jsem měřil i to zda nedochází k napěťovým špičkám při spuštění serv, ale zjevně je to obsloužené a nedochází k nim.
  
 +A teď už jen pár fotek:
  
 +{{:​project:​esp8266_ad0.jpg?​400|}}{{:​project:​zavitnik01.jpg?​400|}}{{:​project:​zavitnik02.jpg?​400|}}{{:​project:​akka.jpg?​400|}}
 ===== Reference ===== ===== Reference =====
 http://​mqtt.org/​ http://​mqtt.org/​
Line 318: 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
  • project/esp8266_adc_grafana.1562153628.txt.gz
  • Last modified: 2019/07/03 13:33
  • by cyberian