Bij Nippur bestaat het kerstpakket altijd uit een gadget. Dit jaar zat o.a. in de doos: het Netatmo Slim Weerstation. Dat komt omdat 2018 bij ons in het teken stond van sensordata. Een aantal collega’s werkten aan een project met sensoren (ammoniakniveau, luchtvochtigheid, temperatuur enz.) in een varkensstal. De bedoeling was om te leren hoe je sensordata ontsluit naar Azure en wat daar dan allemaal mogelijk is qua opslag, transformaties enz. Daarnaast hebben onze data scientists op deze data wat analyses losgelaten die van nut kunnen zijn voor de boer.
Naar aanleiding hiervan kregen we met Kerst allemaal onze eigen sensordata, in de vorm van het persoonlijke weerstation. Er hoort een app bij die grafiekjes laat zien van bijvoorbeeld het geluidsniveau in je huis:
Op de afbeelding hierboven is goed te zien wanneer de kinderen van de betreffende collega wakker waren.
Al gauw wist iemand te melden dat er ook een API is, met een bijzonder heldere handleiding. Nou had ik al een tijdje lopen spelen met de Strava-API, om de activiteiten van mijn clubgenoten van de hardloopvereniging op te halen. Ik had een Python-scriptje gemaakt dat de gegevens binnenhaalt en wegschrijft naar een database. Na wat aanpassingen was het ook voor de weerstation-API bruikbaar. Het draait nu elke tien minuten:
en de verzamelde gegevens hebben al wat inzichten opgeleverd:
Ik las bijvoorbeeld ooit dat 16:00 het heetste moment van de dag is, maar dat zie ik bij mijn buitenstation niet terug: daar lag afgelopen maand (januari) de piek rond 12:00. De verklaring is simpel: je hoort het buitenstation eigenlijk in de schaduw te hangen, maar dat is op ons balkon (nog) niet mogelijk. En het balkon ligt op het zuidwesten….vandaar.
Verder bleek het CO2-niveau hier in huis door het dak te gaan tijdens en na het koken. Regelmatig werd de 1500 aangetikt. Sinds we dat weten zetten we op die momenten de ventilatie harder en blijven de maximale waarden hangen rond de 1000. (Zoals u ziet vergeten we het soms. Er zijn plannen om een avond te organiseren waarin we leren de mechanische ventilatie geautomatiseerd te laten aansturen m.b.v. een relais.)
Het gaat nu nog maar om drie weken aan (winter-) gegevens. Over een langere periode gaat het interessanter worden. Heb je nu de smaak te pakken en wil je ook het een en ander gaan verzamelen, weet dan dat API-aanbieders over het algemeen geweldige handleidingen online hebben staan. Netatmo geeft voorbeelden van stukjes code:
En Strava heeft zelfs een ‘playground’ op de website:
Het gratis programmaatje Postman kan verder behulpzaam zijn, je kunt daarmee gemakkelijk API-calls doen en zien welk format de output heeft:
Het verdere proces van “selecteer hieruit wat je wilt hebben en stop het in een database” kan op allerlei manieren, ik heb het m.b.v. een Python-script gedaan en dat gescheduled in Amazon Lightsail: een goedkope cloud-optie voor als je alleen maar dit soort kleine dingetjes wilt doen.
Voor mijzelf staat nog op de planning: publieke weerdata ophalen van mensen met een weerstation in omgeving Nijmegen en dit combineren met de Strava-gegevens. Je kunt dan grofweg zien wie er niet van regen houden en het wordt dan bijvoorbeeld ook duidelijk dat ondergetekende acuut haar hardloopactiviteiten staakt bij temperaturen boven de 20 graden. Wordt dus vervolgd, stay tuned.