3.15.4. Een IoT-dashboard¶
Als voorbeeld van een complete flow gebruiken we een dashboard voor een IoT-knoop. Dit dashboard maakt de sensorwaarden van de IoT-knoop zichtbaar; je kunt hiermee ook de LED van de IoT-knoop aansturen.
De dashboard-flow vind je via: ./dashboard-flow-1.json,
(Of via GitHub gist.)
Deze flow is in het JSON-formaat; later in het materiaal komt JSON uitgebreider aan bod.
Opdracht A
- importeer de dashboard-flow: - selecteer de flow-tekst (in JSON-formaat), en kopieer deze naar het Clipboard (via “Copy” van het operating system). 
- in NodeRed: selecteer hamburgenmenu->Import->Clipboard 
- “Paste” de inhoud van het Clipboard in het input-venster. 
- “Import” 
- je krijgt nu een nieuwe flow met als naam (in de tab): My dashboard 
 
- selecteer in deze flow de MQTT-input-node, en configureer deze (double-click): - selecteer bij “Server”: - infvopedia.nl(met port 1883)
- als deze niet beschikbaar is: selecteer bij “Server”: - Add new mqtt-broker...- klik op het potloodsymbool rechts daarvan 
- vul in bij “Server”: - infvopedia.nl(met port 1883)
- klik op “Add” 
 
- klik op het potloodsymbool rechts van “infvopedia.nl”; je krijgt nu de broker-instellingen te zien; 
- selecteer de tab “Security”, en vul de opgegeven gebruikersnaam en wachtwoord in 
- klik “Update” (voor de Server-instellingen) 
- klik “Done” (voor de instellingen van de MQTT-input-node) 
 
- configureer de MQTT-output-node (selecteer en double-click): - selecteer bij “Server”: - infvopedia.nl:1883
- “Done” 
 
- je kunt nu via de debug-tab de MQTT-berichten volgen 
- het dashboard van de node - fe05krijg je als volgt- selecteer de dasboard-tab 
- klik op het hokje-met-pijltje rechts boven (zie onderstaande figuur) 
- het dashboard komt dan in een apart browser-venster. 
 
- voor het aanpassen aan een eigen node: - configureer de MQTT-input-node, en verander het “topic”: 
- vervang - e0f1door de ID van je eigen node
- “Done” 
 
- idem, voor de MQTT-output-node. 
Opdracht B
Bekijk de debug-output in NodeRed voor deze flow. Tip: in de debug-tab selecteer je “current flow”, je krijgt dan alleen de debug-output van deze flow.
- kun je in de berichten de ID van de IoT-knoop terugvinden? Wat is de naam van dit veld? 
- kun je in de berichten, in de “payload”, de sensorwaarde voor de temperatuur terugvinden? - hoe wordt die waarde aangepast tot de waarde die je in het dashboard ziet? 
- wat is het pad in het payload-object voor deze temperatuur-waarde (welke veldselectie en indicering is nodig)? 
- controleer dit door de programmatekst in de function-node “temperature” te bekijken. 
 
- beantwoord dezelfde vragen voor de luchtdruk (barometer). 
- (lastig) waarom worden de sensorwaarden als een gehele getal weergegeven? 
- (lastig) waarom worden de sensorwaarden zo “ingepakt”, waardoor je array-indicering e.d. nodig hebt? (Denk aan een situatie waarbij een IoT-knoop meerdere temperatuursensoren heeft.) 

