Handleiding voor gevorderden

From Operame
Revision as of 09:46, 16 January 2021 by Kamiel (talk | contribs) (→‎Privacy)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Met MQT en HTML een Dashboard maken

Het eindresultaat

Operame heeft WiFi (staat standaard uit) en ondersteuning voor MQTT (staat ook standaard uit), en daarmee kun je de CO2-meter periodiek de waarden laten versturen naar een server. Je zou dat bijvoorbeeld kunnen gebruiken om grafieken te maken van alle lokalen, om centraal te monitoren waar de ventilatie nog verbeterd moet worden. In deze handleiding leggen we je uit hoe MQTT werkt en hoe je een webbased dashboard kunt maken om meerde Operame's gelijktijdig en live kunt monitoren.

Overwegingen

Privacy

Aan de CO2-waarde kun je zien of er iemand aanwezig is. In een ruimte die langdurig leeg is, maar die nog wel (een beetje) ventilatie heeft, zal de CO2 uiteindelijk weer op het basisniveau van rond de 420 PPM uitkomen. Daalt het CO2-niveau sneller, dan staat er waarschijnlijk een raam open. Omgekeerd zou men de conclusie kunnen trekken dat bij stijgende CO2 waarden het lokaal 'bevolkt' is en de ramen dicht staan. Dit is allemaal misschien geen probleem om te monitoren voor een klaslokaal, maar het is goed om er even bij stil te staan.

In de MQTT voorbeelden worden publieke brokers gebuikt waarmee de gemeten resultaten defacto openbaar zijn. Meestal geen issue maar toch.

Beveiliging

IoT staat voor Internet of Things. Operame is een typisch (onveilig) IoT-apparaat en stuurt de CO2-meetwaarden zonder versleuteling naar de MQTT-server. Het ondersteunt ook geen authenticatie op de MQTT broker. Daarom staat deze functionaliteit standaard uitgeschakeld. Wil je deze dingen beveiligen, dan zal dat op netwerkniveau moeten, met bijvoorbeeld een apart WiFi-netwerk, client isolation, en een firewall. Ook hier geldt dat het misschien niet zo'n ramp is als iemand je meetwaarden kan zien of verstoren, maar dat het wel goed is om er even bij stil te staan.