Python – PostgreSQL zelfstudie

Als een opdracht is afgelopen, vind ik het prettig om eerst wat tijd te steken in het verbreden of verdiepen van mijn kennis. Enerzijds omdat daar naat een full-time opdracht vaak niet veel tijd voor is, anderzijds omdat ik het ervaar als een goede manier om te verwerken wat ik gedurende de opdracht geleerd en ervaren heb. Maar ook omdat het een goede manier is om “los” te komen van de cultuur, werkwijzen en standaarde van betreffende opdrachtgever. Zo sta ik bij de volgende opdracht beter open voor het feit dat het overal weer net even anders is.

Tijdens mijn afgelopen opdracht heb ik kennis gemaakt met programmeertaal Python in combinatie met het verwerken van data vanuit PostgreSQL. Een mooie combinatie die mij nieuwsgierig maakt naar de mogelijkheden. Bovendien heb ik een interne praktijk situatie die zich daar goed voor leent: Mijn nieuwe elektrische auto houdt veel data bij, deels te ontsluiten via de app van het merk, maar lang niet volledig. Deels enkel zichtbaar op het dashboard. Op GitHub bestaat al een project dat alle beschikbare informatie inleest vanuit de server van het merk, maar die schrijft het naar csv file. Prima om te bekijken via een spreadsheet, maar als database specialist wil ik die data natuurlijk in PostgeSQL hebben.

Image scraping

Gek genoeg bevat de data vrijwel geen informatie over het verbruik van de auto per rit, terwijl die wel op het dashboard wordt weergegeven. Dit is juist interessante informatie, zeker voor de vakantieritten waar de auto een caravan trekt. Na dieper zoeken en in de gebruikte (Open Source) projecten gekeken te hebben, wordt bevestigd dat deze informatie ook echt niet geleverd wordt aan deze API.

Hier komt dan wel de kracht van AI als hulp naar boven: Op de vraag hoe lastig het is om tekstuele informatie uit foto’s te halen komt het antwoord dat daar al standaard oplossingen voor zijn. Met hulp van AI heb ik al snel een oplossing gemaakt waarbij ik een foto maak van een grafiek op het dashboard van de auto, die foto inlees, datum, verbruik en tijdsvolgorde uit de foto vist, eventuele al eerder ingelezen data ontdubbel en dat op sla in de database.

Klaar en toch niet

De data staat in de database, zoals gewenst. Er draait een proces dat automatisch periodiek de auto uit leest en er draait een proces dat de foto’s inleest zodra ze in een specifieke directory worden geplaatst. Doel bereikt. Of toch niet?

Leuk dat de data nu in een database staat, maar er zijn veel handigere manieren om deze data te presenteren. Daarnaast toont de app van het automerk in middels wel verbruiksdata.
Er komen dus nog twee vervolgprojecten aan:

  • Resultaten presenteren in Grafana.
    Ik weet vrij veel van het opzetten van mooie data visualisaties in Grafana, maar heb nog nooit Grafana geïnstalleerd en geconfigureerd. Ook hier zit dus een mooi leerproces aan vast.
  • Nagaan of API in staat is om die nieuwe gegevens te leveren en zo niet, of ik dit zelf kan inbouwen.

Omdat andere activiteiten inmiddels hogere prioriteit krijgen, wordt dit uitgesteld tot een later moment.