← terug naar het overzicht

SensorFlow: sensordata van de fieldlabs op één plek

software · 6 min · sensoren api dashboard

Sensoren in de fieldlabs schrijven hun metingen naar één database, maar een meting zegt weinig als niet duidelijk is welk apparaat hem stuurde, bij welke locatie hij hoort en of hij nog leeft. SensorFlow legt die registratie vast: fieldlabs, devices, sensoren en observaties, in de begrippen van de OGC SensorThings-standaard, met een monitor die bijhoudt wat er stil is gevallen.

1. Wat de applicatie doet

2. Toegang

De applicatie draait op sensorflow.has.nl. De hoofd-URL stuurt door naar /dashboard/, en dat dashboard is alleen voor staff- en admin-accounts: zonder sessie kom je uit op het inlogscherm van het beheer. Er is een aparte omgeving op sensorflow-dev.has.nl.

3. Opbouw

Django met Django Ninja voor de API, en PostgreSQL met PostGIS voor de geografische velden. De ruimtelijke functies lopen via ruwe SQL in plaats van via GeoDjango: die keuze houdt de installatie klein en de query's expliciet. De begrippen volgen de OGC SensorThings-standaard, maar dit is geen SensorThings-server: het is een eigen implementatie met dezelfde woorden voor fieldlab, device, sensor en observatie.

De code, de docstrings en de commitboodschappen zijn Engels; de teksten in de interface blijven Nederlands, inclusief de sleutels in de JSON die de voorkant leest. De productieomgeving draait op een vaste Python-versie van de App Service-runtime, en de bouwstraat controleert elke wijziging op lint, opmaak en types.

4. De systeemmonitor

De monitor toont wat er gemeten is en berekent geen samengesteld oordeel: geen gezondheidsscore, alleen aantallen en tijdstippen.

De monitor telt offline apparaten per device, niet per sensor. Dat onderscheid staat ook zo in de pagina, omdat een device meerdere sensoren kan hebben.

5. Controle vanaf de opdrachtregel

Naast de pagina is er een beheercommando dat hetzelfde beeld in tekst of JSON geeft, of er een mail over stuurt. Het draait niet automatisch mee; je start het zelf of vanuit een planner.

python manage.py check_system_health                  # leesbaar rapport
python manage.py check_system_health --json           # JSON voor monitoring
python manage.py check_system_health --email          # mail bij kritieke gevallen
python manage.py check_system_health --threshold 24   # andere offline-drempel

6. Stand van zaken

Deze repository is op 11 oktober 2026 voor het laatst aangepast. Het project staat in de privérepository HASUniversity/sensorflow. De readme noemt de MIT-licentie, maar er staat geen licentiebestand in de repository; de licentie is dus nog niet vastgelegd op de plek waar een andere instelling hem kan vinden.

7. Bronnen

↑ terug naar boven