4.3
Postup řešení
Zkontrolujte komponenty na pracovišti, sestavte přípravek s počítačem RPi, zapněte jej a navažte spojení mezi PC a RPi.
4.3.1
Kontrola nainstalovaných komponentů na RPi
Na RPi zkontrolujte správně nainstalované podpůrné serverové aplikace NodeJS a NodeRED a moduly pro NodeRED:
- node-dht-sensor,
- node-red-contrib-dht-sensor,
- node-red-dashboard,
- node-red-node-openweathermap.
Následně spusťte internetový prohlížeč, pomocí kterého budete RPi konfigurovat, a navažte spojení s RPi.
Poznámka
Je nutné znát IP adresu vašeho RPi.
Poznámka
Spojení je nutno navázat na IP_adrese_vašeho_RPi a na portu 1880:
- http://<IP_adresa_vašeho_RPi>:1880
4.3.2
Získání dat z webové služby a vizualizace
V grafickém editoru NodeRED vytvořte schéma (flow), pomocí kterého získáte hodnotu teploty (a vlhkosti) ze serveru openweathermap.org dle zadaného místa, a hodnoty zobrazte na řídicím panelu (dashboard) aplikace NodeRED.
+

Obr. 13. Příklad schématu pro získání hodnoty teploty z webové služby a její vizualizace
Informaci o počasí zprostředkovává server openweathermap.org prostřednictvím uzlu NodeRED openweathermap ve formě objektu msg.payload, jehož úplnou podobu ukazuje obrázek níže.
Uzel openweathermap je třeba nakonfigurovat s parametry:
- API: získaný kód API ze serveru openweathermap.org,
- Location City: Prague,
- Location Country: CZ.
+

Obr. 14. Úplná podoba objektu msg.payload
Abychom mohli zobrazit teplotu, resp. vlhkost, je třeba z objektu msg.payload extrahovat položku tempc, resp. humidity. To zajistí uzel function s těmito parametry:
+

resp.
+

Vizualizace hodnot teploty i vlhkosti zajistí uzly gauge, které se zobrazí na vlastní stránce projektu, v adresáři ui.
Poznámka
Spojení je nutno navázat na IP_adrese_vašeho_RPi a na portu 1880:
- http://<IP_adresa_vašeho_RPi>:1880/ui
4.3.3
Změření a vizualizace dat
Teplotní senzor DHT11 připojte prostřednictvím nepájivého pole k RPi (pin č. GPIO 4) a vytvořte schéma pro zobrazení hodnot změřené teploty a vlhkosti.
+

Obr. 17. Příklad schématu pro získání hodnoty teploty z teplotního senzoru
Teplotní senzor DHT11, obdobně jako webová služba, generuje komplexní objekt msg.payload obsahující informace o změřené teplotě a vlhkosti.
+

Obr. 18. Úplná podoba objektu msg.payload z teplotního senzoru DHT11
Obě hodnoty je tedy třeba znovu z objektu extrahovat a upravit pro potřeby zobrazení na Dashboardu, a to pomocí uzlu function s těmito parametry:
+

Nastavení teplotního senzoru, tj. uzlu rpi-dht22 je následující:
- Sensor model DHT 11
- Pin numbering BCM GPIO
- Pin number 4
4.3.4
Porovnání hodnot a rozsvícení LED
Prostřednictvím nepájivého pole připojte k RPi červenou LED na pin č. GPIO 21 a vytvořte schéma pro ovládání jejího rozsvícení, bude-li změřená teplota vyšší než 20 °C.
+

Obr. 20. Příklad schématu pro rozsvícení LED za daných podmínek
4.3.5
Příklad vizualizace hodnot teploty a vlhkosti na Dashboardu systému NodeRED
+

Obr. 21. Příklad vizualizace hodnot teploty a vlhkosti na Dashboardu