Project Smart Energy

Verbetering door slimme meters

De wereld is bezig met een energie transitie. Nederland is hierbij geen buitenstaander. Steeds meer mensen en steeds meer apparaten komen erbij, hoe gaan we dit verwerken met ons stroomnet?

Onhandig stroomnet

Ons stroomnet is rond 1890 begonnen met opbouw, met hierbij steeds meer toevoegingen. Elke keer dat er nieuwe vraag was naar stroom werd er weer een stukje bij gebouwd. Dit klinkt goed, maar in praktijk betekent dit dat er ook minder nette opstellingen gemaakt worden. Het werkt, maar is niet makkelijk te vervangen / veranderen van structuur.

Dit was nooit een probleem. Tot we begonnen met het verzamelen van groene stroom. Iedereen heeft zonnepanelen, en er wordt veel stroom terug geleverd. Hierop is ons stroomnet alleen niet gebouwd. Dit in combinatie met de steeds grotere vraag naar stroom. Dit betekent dat er dingen moeten veranderen om in de toekomst beter te werken.

Nu zijn er genoeg ideeën voor het oplossen van deze problemen, maar we moeten wel weten hoeveel mensen gebruiken per dag, zodat we pieken en dalen kunnen bestuderen. Hierbij komen wij kijken met ons project.

Onze slimme meters

Ons project is dat we een slimme meter moeten maken en uitlezen. Hiermee kunnen we inzien hoe het stroomgebruik is van mensen. Hierdoor kunnen we meer inzicht krijgen in het gebruik, en kunnen we beter het nieuwe stroomnet ontwerpen gebaseerd op het gebruik van mensen. Dit is weer goed voor de Planeet, omdat we zo beter en sneller nieuwe groene energie opwekking kunnen ontwerpen en integreren. Dit is een van de 5 P’s van duurzaamheid. En dat zorgt ook weet voor minder gebruik van kolen en gas. Wat weer valt onder een van de UN Sustainable development goals. Meer groene energie, beter voor het klimaat zijn, en minder materiaal gebruik. Verder zou het ook goed zijn voor de infrastructuur, want daar valt het stroomnet ook onder. Dit valt onder de 17 SDG’s, of beter gezegd: Sustainable Development Goals. De SDG’s en P’s zijn er als doel voor een betere wereld. Zoals u kunt zien in het plaatje zijn het 5 P’s omdat alle doelen met een P starten: Planet (Planeet), People (mensen), Prosperity (Welvaart), Peace (vrede) en Partnership (samenwerking). De 5 P’s zijn breed genomen doelen, waarbij de SDG’s meer specifieke doelen zijn. Doelen voor een betere toekomst.

5 p's van duurzame ontwikkeling. Foto Bron: 4safe.be

Persoonlijk gebruik

Deze slimme meter is ook belangrijk omdat mensen zelf hun stroomgebruik kunnen bekijken en verbeteren. Omdat mensen niet bewust zijn van hoeveel ze gebruiken, verminderen ze ook niet. Het zelfde geld voor het gebruiken van gas, dit is niet duurzaam en slecht voor de planeet. Deze slimme meter maakt mensen er bewust van dat verandering nodig is, en waar jij als persoon je steentje bij kan dragen.

Risico’s van de meter

Ik zie er persoonlijk geen nadelen bij hangen. Niks van de SDG’s of p’s teminste. Het enige risico van zo’n meter is een datalek, of een hack. Hiervoor moet je tegenwoordig steeds meer uitkijken. Maar gelukkig is de data anoniem, dus het is geen groot risico.

Verandering is nodig

Als wij nog lang willen leven op deze planeet moeten we het goed behandelen. Dit betekent dat be minder uitstoot en energie moeten gebruiken. Werk mee aan de vooruitgang van ons stroomnet, en gebruik minder energie waar het niet nodig is.

Bronnen

Cybersecurity

Data onbruikbaar door slechte beveiliging

Om ergens van te leren heb je data nodig. Zo werkt dat ook met de energie transitie. Dit is persoonlijke data die we opsturen, is dat wel veilig? Of kunnen we er beter stoppen met het versturen van data?

Algemene risico’s van een datalek

Het maakt niet uit wat voor software je maakt, maar er is altijd wel een vorm van data. Deze data wil je beschermen tegen gebruikers die er geen toegang tot horen te hebben. Je wilt niet dat een gebruiker zomaar bij mensen hun betaalgegevens kan komen. Hierop moeten ook wij ons beveiligen, met onze slimme meters. Ookal is onze data alleen maar het stroom en gas gebruik, dit kan je te veel informatie geven. Met deze data zou je bijvoorbeeld kunnen kijken of iemand op vakantie is, en dat betekent dat ze kunnen inbreken bij je. Bedrijven zouden jouw data kunnen gebruiken om naar je te adverteren, Een gebruiker die veel stroomkosten maakt kan dan bijvoorbeeld zonnenpanelen advertenties kunnen krijgen. Dit wilt niemand, en daarom is iedereens data geanonimiseerd. Verder is er ook het risico dat mensen foute data door andere data heen gooien, dit maakt alle verzamelde data nutteloos. Als er niet wordt opgemerkt dat er foute data tussen getopt is zou dit ook slechte gevolgen kunnen hebben. Als een winkel denkt dat er veel verkocht is van een product, dan bestellen ze meer. Als dat dan niet zo is kan dit zorgen voor opstapelende kosten en weggegooid geld. Voor een chat applicatie, of social media zou je dit kunnen gebruiken als manier om iemand iets te laten zeggen wat ze nooit hebben gadaan, zwartmakerij.

Onze veiligheid

In de context van ons project is dit niet zo gevaarlijk als bij social media, maar het is nog steeds belangrijk. Wanneer iemand met de data speelt kan het niet meer gebruikt worden voor onderzoek, ook kunnen mensen bezuinigings maatregelingen gaan nemen zonder dat dit nodig is. Dit is niet fijn als dit gebeurt.

Iedereens data wordt automatisch geanonimiseerd. Dit zorgt er voor dat als mensen bij de data komen. Op deze manier kan je alleen maar weten welke data van welke gebruiker is, als je hun versleutelde code hebt. Dit kan dus niet naar mensen teruggeleid worden. Tenzij iemand zelf zijn anonieme code post op het internet.

img Mijn neppe Slimme Meter.

Dat is pech, data weg

Is het mogelijk om bij de data te komen? Het korte antwoord is ja, ja het is mogelijk om bij de data te komen. Avans heeft open op hun github gezet hoe je een slimme meter kan maken, en er is maar 1 student nodig die de connectie naar de database online zet, of zelf gebruikt; Je kan zo uitzoeken wat voor data er verstuurd wordt, en het kost vrij weinig tijd om nep data naar de server te sturen. Dit is niet een theoretische opening, het is mij persoonlijk gelukt om dit te doen. Maar ik heb deze data verstuurd onder een nieuwe meter code, om niet de data te verpesten.

Wanneer je een slimme meter installeert als student krijg je de inloggegevens om je data in te zien. Dit account is voor iedere student het zelfde, en het heeft te veel rechten. Je kan onder dit account je wachtwoord aanpassen, dat betekent dat spontaan niemand meer bij de data kan via de website. Hier kan je ook iedereens IP adress vinden van de mensen die inloggen op deze website.

Verandering

Om te zorgen dat iedereens data veilig is moet je zorgen dat je applicaties goed beveiligd zijn. Hierbij is het belangrijk dat je niet alleen een verdediging naar buiten hebt, maar ook een verdediging wanneer hackers al binnen zijn. Als programmeur heb je de verantwoordelijkheid om je gebruikers data veilig te houden, bouw je applicaties dan ook met veiligheid in gedachten. Denk als een hacker om de hackers voor te zijn.

Bronnen

  • Mijn artikel waarbij ik in het systeem gekomen ben om de veiligheid te testen.

Ontwerpprinciples

Website maken is meer dan programmeren.

Er is veel over na te denken wanneer je een website maakt. Welke programmeertaal wil ik gebruiken, wil ik een framework gebruiken, en ga ik het grootste deel door AI laten genereren?1 Maar buiten deze dingen zijn er nog meer keuzes, hoe ga ik het er uit laten zien?

Wireframes

Wanneer je een website gaat maken maak je eerst een schets, ook wel wireframe genoemd. Hierbij teken je de hoofdlijnen van je website. Het hoeft niet heel specefiek, je hoeft niet nu al te kiezen of dat je knoppen wil die rond zijn, of vierkant. Je hoeft nu ook niet te kiezen wat voor tekst je gaat gebruiken, welke letter types, en welke kleuren je gaat gebruiken. Vandaar dat mijn wireframe ook zwart-wit is, en dat er bovenin mijn wireframe simpelweg: “omschrijving” staat, in plaats van de complete omschrijving. Het gaat in dit gedeelte namelijk niet om de inhoud of de perfecte design, maar puur om een richtlijn. Achteraf gezien had ik wel “Lorum Ipsum”2 Maar wel waar je knoppen wilt plaatsen en welke secties er bij elkaar passen etc. Dit wordt ookwel de layout genoemd. Natuurlijk kan je dit nog aanpassen wanneer je begint te programmeren, maar dit is de richtlijn die je aan jezelf geeft. Als je achteraf denkt dat het toch beter op een andere plek kan maakt dit niet uit.

Het slimme meter project

Voor ons slimme meter project moeten we ook een website maken, waarbij we de data uit de meter moeten laten zien en gebruiken in die website. Dat betekent automatisch ook dat we een wireframe hiervoor moeten maken. Dit heb ik dus ook gedaan.

In het gedeelte wat ik moet maken moet ik de data uitlezen van de meters en laten zien hoeveel geld dit kost of oplevert. Dit moet ik doen door of naar een variabel uurtarief te kijken, of door een standaard prijs die de gebruiker invult.

img De wireframe die ik heb gemaakt voor mijn webpagina

In deze wireframe kan je zien dat er een header en zijbalk is. Dit is de standaard header en zijbalk die op iedereens wireframe hoort te staan. Dit is omdat iedereen een pagina maakt met deze standaard layout.

Mijn Layout

Bovenaan komt mijn naam en de uitleg van mijn pagina, dit is niet heel bijzonder, en moet bovenaan volgens de opdracht. Verder kan je zien dat de machine naam en prijs op de zelfde hoogte staan, dit is natuurlijk afhankelijk van de breedte van het apparaat wat de gebruiker gebruik. Maar dit staat bovenaan omdat dit het belangrijkste is en omdat de datums dan ook bij elkaar kunnen staan op de regel er onder. Deze invoervelden staan bovenaan omdat dit het belangrijkste is van de pagina. Dit is het eerste waar de gebruiker naar kijkt, en het eerste wat gebruikt moet worden.

Het volgende tabje is de data, er is een duidelijke scheiding tussen dit gedeelte en het gedeelte hierboven. Dit zorgt ervoor dat de gebruiker makkelijk kan zien wat er gaande is. In dit gedeelte staat de grafiek die laat zien wat de waardes zijn tussen een bepaalde periode. Deze periode is in het vorige gedeelte aangegeven. Verder is hier nog een streep, ookwel Devider genoemd. Deze is niet helemaal doorgetrokken van de zijkant van de pagina. Dit is zodat er een duidelijke scheiding is tussen de grafiek en het volgende gedeelte, maar het is ook duidelijk dat het wel bij elkaar hoort. Het volgende stuk laat namelijk preciezer zien wat de data is die in de grafiek staat. De rede dat ik kies voor een tabel en grafiek is omdat een grafiek duidelijker te lezen is, maar je kan er moeilijker precieze data uit lezen. Daarom is er ook een tabel.

Ik ben er achter gekomen hoe fijn het is om te designen voordat je het gaat programmeren. Want al doe je het tegerlijkertijd wordt het er niet mooier op. Ik zal dit ook zeker aanraden aan andere programmeurs, maak wireframes!

Werking Applicatie en Acceptatietest

Van Idee tot Applicatie

Je zou maar perongelijk je frituurpan aan laten staan voor een hele avond. Dat is niet al te veilig, maar ook veel stroom verspilling. Niet al te best voor het klimaat, en je portomonnee.

We begonnen dit avontuur met het klimaat probleem, de electriciteits crisis en de problemen met het uitberijden van het stroomnet. Met deze informatie zijn we gestart 6 weken geleden. En toen zijn we een web-applicatie gaan bouwen om inzicht te creëren in het stroomgebruik van mensen in Nederland.

Het Idee

Mijn opdracht was om een webpagina te maken die uitrekent hoeveel jouw stroomgebruik kost. Hierbij moest ik ook een optie maken tussen een dynamische prijs, en een statische prijs. DIt is nodig omdat sommige mensen een variabel uren contract hebben, en sommige mensen hebben een standaard prijs. Verder moest de tijdsperiode verstelbaar zijn en een invoerveld voor welke machine data gebruikt moest worden. Met al deze instellingen kun je data ophalen, en berekeningen uitvoeren. Bijvoorbeeld: “Hoeveel betaal ik nou eigenlijk per dag, en is dit goedkoper dan als ik een statisch contract zou hebben?” Met deze data zou ik heel goed kunnen laten zien wat de hooggebruik uren zijn van de dag, en rythmes in gebruik tussen verschillende dagen.

Voordat ik mijn website ging maken maakte ik een flowchart, deze ben ik kwijtgeraakt. Nadat ik klaar was met het programmeren van mijn website heb ik hem opnieuw gemaakt. Hieronder zie je mijn Mermaid diagram flowchart. Eerst zat ik na te denken om het gemiddelde van de dynamische prijs te pakken, en dat maal het aantal KWH te doen, maar dit zou niet kloppen want dat werkt alleen als je ieder uur even veel stroom gebruikt. Het statisch gebruik kan wel achteraf berekend worden, omdat daarvan de prijs altijd het zelfde is.

img Mijn flowchart.

Resultaten

In de inleiding van deze blog ging het over een theoretisch scenario waarbij iemand een frietpan aan laat staan voor een lange periode. Dit is alleen niet een theoretisch scenario, dit is pas gebeurt bij mij thuis. Hieronder zie je een plaatje van de grafiek op mijn website.

img

Het interessante aan deze grafiek is dat het ons niet zoveel gekost heeft, omdat we een dynamisch contract hebben, en het toevallig goedkope stroom was op dat moment. Maar als we een vast contract gehad zouden hebben had het ons wel veel gekost. Ik had persoonlijk verwacht dat het ons veel meer zou kosten, maar gelukkig viel het mee.

Wat me ook is opgevallen is dat omdat we een dynamisch contract hebben, alles veel goedkoper is. Het zou voor ons pas voordeliger zijn op een statisch contract te hebben als het €0.09 per KWH is als statisch contract.

img

Speceficaties

Mijn website voldoet aan alle eisen, maar niet aan alle extra keuzes. Ik laat de data zien van de gebruiker, de tijdsperiode is aanpasbaar, en het totaalbedrag wordt teruggegeven aan de gebruiker. Verder kan een gebruiker ook invoeren heveel het statische kosten zijn. Dit zijn alle dingen die moesten gebeuren. Verder waren er nog extra’s die we mochten toevoegen. Ik heb een invoerveld voor welke machine je gebruikt toegevoegd, ik heb een grafiek toegevoegd en ik heb ook een extra tabel toegevoegd waarbij de gebruiker preciezere data kan bekijken. Er was nog een extra suggestie om een sprijding te berekenen van de dynamische tarieven, alleen ik snapte die opdracht niet toen ik aan het programmeren was.

img Mijn Hele WebApplicatie

Ik heb vaak genoeg mijn website getest. Standaard staat iemand anders zijn machine geselecteerd, zodat ik dat niet vergat te testen. Op deze manier ben ik er ook achter gekomen dat als je een foute machine invoert de website crashte. Dus dat heb ik daarna opgelost. Ik heb toen ook gelijk opgelost dat als een gebruiker illegale data invoert, dat het dan de standaard data kiest.

img

Tijdens het testen kwam ik er ook achter dat de data verkeerd om stond, dus dat heb ik opgelost door de Lijst van data om te draaien.

Ons project geeft inzicht op energie gebruik. Dit is nuttig om te zien hoeveel stroom we gebruiken, en waar we kunnen bezuinigen. Dit is nodig voor de 13e SDG, om klimaat verandering tegen te gaan. Hierbij hebben we ook jouw hulp nodig, installeer een stroommeter en vind plekken om te bezuinigen.

Footnotes

  1. Dit is een grap, en niet serieus bedoelt. ↩

  2. Lorum Ipsum is gebaseerd op een gestorven taal die mensen vaak gebruiken als opvulling, maar dan wel opvulling die ze later gaan vervangen voor echte text. ↩