stats

Grafieken

Voor mijn eigen versie voor het uitlezen van een slimme meter wilde ik mijn gebruik zelf in een grafiek weergeven in plaats van mijn gegevens via een app te delen met een derde (!) partij. Een functie daarvoor was niet haalbaar (cpu tijd en opslag), dus moest ik een alternatief bedenken.

Dit heb ik gevonden in een BMP plaatje. Omdat de data in een BMP ongecomprimeerd is opgeslagen kan daarin op voorspelbare plaatsen worden geschreven. Het basis plaatje is gemaakt met GIMP en weggeschreven als: Afbeelding > Modus > Geindexeerd > Zwart/Wit formaat. (zorg ervoor dat de breedte van het plaatje een veelvoud van 8 is) In mijn geval 384 px breed en 109px hoog, waarmee de header en de datum vermelding samen een offset oplevert van 62 + 384 byte.

Omdat een BMP file 'ondersteboven' wordt geschreven, bevinden de onderste pixels van de grafiek zich direct na de file-header en de kleuren tabel (2x4byte). De X-as positie wordt per datum in een look-up tabel gevonden en per bit in een blok van 8 dagen verwerkt. De Y-as wordt gevormd door Y-maal de 'breedte' van het plaatje te skippen.     [vervolg]

HOME