News

Soundbyte 407: Als het maar kort is

18 augustus 2019

Afgelopen week was voor mij weer de eerste halve week na de vakantie. Gewoonlijk laat ik mijn vakanties meestal vanaf het midden van de week tot het midden van een van de weken erop lopen. Dat maakt het terugkomen in het werkritme een stuk aangenamer. Omdat de techniek zo tegen het eind van de vakantie toch weer begin te kriebelen heb ik in de laatste dagen van de vakantie m’n hobby-projectje rondom het uitlezen van mijn slimme meter er maar weer eens bij gepakt.

Mochten je halverwege de komende paragraaf afhaken dan kun je deze post ook achterstevoren lezen en stoppen bij de afbeelding met het groene lampje…

Eerder had ik al eens wat geëxperimenteerd met een NodeMCU ESP8266 bordje met WiFi, wat overigens leuke dingen zijn om een mee te spelen, voor nog geen tweeënhalve euro sturen ze er eentje op vanuit China. Overigens ben ik verre van een electro technicus, dus alles wat ik daarmee doe komt of uit de projectjes van m’n Arduino kit, of van veel googlen. Het uitlezen van de slimme meter met zo’n bordje is niet heel ingewikkeld. Even een RJ11 connector aan een netwerkkabel knijpen en dan drie draden aan de juiste pins van de NodeMCU verbinden. Dan kun je d.m.v. een zogenaamde softserial library de output van de meter opvangen. Echter … die software matige geëmuleerde seriële poort blijkt ontzettend storingsgevoelig, zelfs dusdanig dat geen enkele CRC check van de telegrammen van de slimme meter succesvol was.

Dus… op zoek naar een plan B. Ik had nog ergens een PL2303 USB naar seriële kabel liggen om Arduino nano bordjes mee te programmeren. Echter, dat blijkt niet meteen te werken. De slimme meter stuurt een geïnverteerd serieel signaal uit. Daar waar die NodeMCU dat signaal zelf omzet naar iets leesbaars doet die USB kabel dat niet. Dat betekent zelf doen. En daar begint het gepuzzel met een transistor en wat weerstandjes. Op het internet staan wel schema’s om zo’n inverter te maken maar uiteraard heb je dan net-niet-precies die componenten in je doos liggen die in zo’n schema gebruikt worden. Na veel proberen was het dan eindelijk gelukt, de minicom app gaf leesbare meter data.

Zie hieronder het resultaat na wat soldeerwerk. Waarom er een lampje op zit? Omdat het kan.

Toen kon ik eindelijk beginnen aan waar het me uiteindelijk om te doen was. Het doorsturen van deze meter data naar de InformationGrid. Aangezien de slimme meter elke seconde een telegram met de meterstanden en nog wat info uitspuugt geeft dat een leuke set om wat mee te spelen. Aangezien InformationGrid REST endpoints biedt voor het opvoeren van events was het zo eenvoudig als het aanmaken van een telegram schema en een ‘slimme meter event type’ in InformationGrid en aan de slimme meter kant het omzetten van het telegram uit de slimme meter naar een JSON object dat aan dat schema voldoet en dat vervolgens opsturen. Vervolgens heb ik in InformationGrid een projectie gemaakt die de slimme meter events indikt tot een overzicht van het energieverbruik per uur. 

En het resultaat is een mooi overzicht van het energieverbruik:

Daar kun je dan weer leuke dingen aan aflezen. Zo zie je dat er kennelijk zowel om 08:00 (Z+2) en om 09:00 gedoucht is door mijn huisgenoten en dat ook mijn eigen wasbeurt na het mountainbiken vanmorgen (en het was ook flink nodig want het was een pestweer) om 12:00 ook. Het aardige van deze hele setup is dat het configureren van de slimme meter events in InformationGrid en het maken van een projectie verreweg het minste werk was in deze hele exercitie. Dat zal bij elkaar niet meer dan een half uurtje geweest zijn. En dat is nou precies de kracht van een low code data platform als InformationGrid. Je hoeft enkel een schema te maken voor het slimme meter event, en een schema en recept voor de projectie die de events aggregeert per uur en het platform zorgt voor de rest. In een mum van tijd heb ik voor mijn slimme meter al meer inzicht dan de app van mijn energie-aanbieder me geeft. 

En dan de muziek… Mensen die mij een beetje kennen weten dat ik niet echt van langdradige overleggen ben en dat je me niet zult betrappen op een overmatig gebruik van woorden voor het uiteenzetten van mijn standpunt. Er is een nummer uit de musical Tsjechov (bij de meesten wel bekend met het nummer “vanmorgen vloog ze nog”) dat dat prachtig beschrijft:

Hierin zit natuurlijk een prachtige analogie naar wat we met low code willen bereiken, namelijk je kunnen beperken tot de essentie van datgene dat je wilt bereiken zonder allerlei poespas (of boilerplate voor software engineers) er omheen.

Maak er een mooie week van! Het weer zit in ieder geval weer mee.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *