Det er ønskelig å ha en ide om den momentane temperaturen til kjøleskap og frysere og OV har derfor et system for dette.
Datainnsamming funksjonsmåte
Datainnsamlingen består av tre seg:
- Gateway - Mottar sensor data og sender det til serverene
- Data logging - Mottar data fra gateway og lagrer det
- Visualisering - Presenterer data til sluttbruker
Datainnsamling & Gateway
Systemet er basert på Ruuvitag Pro sensorer og en ESP32-C6 som fungerer som gateway for sensorene.
Kildekoden til firmware til ESPene er her: https://git.omegav.no/sebasthg/esp32-ruuvi-gateway-firmware
Virkemåten er at RuuviTag sensorene sender dataen sin via Bletooth Low Energy (BLE) Advertisements kontinuerlig.
ESP32-en lytter til disse, tolker sensor dataen, og formatterer dataen i henhold til InfluxDB Line Protocol og sender denne over MQTT.
Data logging
MQTT serveren mottar så dataen og videresender den til de som lytter.
En Telegraf instans med MQTT consumer plugin er satt opp som lytter etter denne dataen. Telegraf tar så og sender denne dataen videre over HTTP til en InfluxDB server.
InfluxDB serveren lagrer så denne dataen permanent (eller mindre permanent avhenig av konfigurasjon).
Data visualisering
Data er ikke nyttig om man ikke kan gjøre noe nyttig med den, f.eks. som å se på den. Grafana er satt opp for å visualisere dataen.
Det går ann å se dataen direkte i InfluxDB (denne lever i nåværende stund på data.omegav.no login ligger i Bitwarden), og dette gjøres for å lage søke parameterene som bruker i Grafana senere.
InfluxDB har derimot ikke SSO støtte så den er litt krongelete å bruke, derfor blir Grafana brukt for visualisering istedenfor.
På OV sin Grafana instans (som nå lever på graphs.omegav.no/) kan man se sensor dataen.
Oversikt over Ruuvi Tags og bruk
MAC | Bruk |
---|---|
FF:31:AC:C1:4E:88 | COE Fryser |
E3:EE:64:DD:D4:11 | COE Stort kjøleskap |
E8:C2:20:B6:56:BC | COE Lite kjøleskap |
C8:D8:F7:B4:CA:F7 | COE Privat kjøleskap |