Ons IoT netwerk voor 250.000 realtime verbonden apparaten

Jesse

Zonneplan beheert met een kwart miljoen verbonden apparaten het grootste 4G IoT-netwerk in de Benelux. Dit is geen marketingpraat, maar een technische realiteit die de energietransitie versnelt. Voor collega-engineers en IoT-professionals duiken we hier in de architectuur, de technologiekeuzes en de lessen die we hebben geleerd bij het bouwen van dit schaalbare smart grid.

De Kernarchitectuur en Connectiviteitskeuzes

De ruggengraat van ons platform is de SmartGridNode (SGN), een compacte embedded module die in elk apparaat is geïntegreerd. Deze SGN functioneert als de brug tussen de fysieke wereld de omvormer, batterij of laadpaal en onze cloud. Hij leest lokaal data uit via protocollen als Modbus of de P1-poort en stuurt deze door. De communicatie met onze cloud verloopt via MQTT, een bewuste keuze vanwege het efficiënte en schaalbare publish-subscribe model. Het is lichtgewicht en betrouwbaar, waardoor we meer dan 250.000 gelijktijdige verbindingen stabiel kunnen beheren. Dit resulteert in een model van decentrale uitvoering met centrale intelligentie: de cloud analyseert en stuurt, maar de SGN's voeren de beslissingen lokaal en autonoom uit.

Een van de meest bepalende ontwerpkeuzes is dat elke SGN een eigen 4G (LTE-M) verbinding heeft en dus niet afhankelijk is van de WiFi van de klant. Dit levert directe voordelen op in betrouwbaarheid en installatiegemak; geen gedoe met wachtwoorden of SSID-wijzigingen, het apparaat is direct online. Onze diensten zijn hierdoor immuun voor uitvallende routers. Bovendien biedt de inzet van LTE-M, een 4G-variant geoptimaliseerd voor IoT, superieure dekking in lastige locaties zoals meterkasten, waar WiFi vaak tekortschiet. Op het vlak van veiligheid omzeilen we hiermee de risico's van een onveilig thuisnetwerk, aangezien de data via een eigen, versleutelde verbinding direct naar ons platform loopt. We beheren de connectiviteit volledig zelf via IoT-SIMs, wat ons de controle geeft om op afstand te diagnosticeren en updates te pushen, onafhankelijk van de internetprovider van de klant.

De Embedded Stack

Onder de motorkap van de SGN draait een zorgvuldig gekozen technische stack op beperkte resources, met slechts tientallen kilobytes RAM en enkele honderden kilobytes flash. Als hardware gebruiken we een Nordic Semiconductor SoC die een energiezuinige ARM Cortex-M CPU combineert met een geïntegreerde LTE-M modem. Dit compacte ontwerp verkleint de hardwarecomplexiteit en stelt ons in staat om hardwareversnelling voor cryptografie (AES/SHA) te benutten.

Op deze hardware draait Zephyr RTOS, een open-source real-time besturingssysteem. De keuze voor een RTOS is essentieel, omdat de SGN meerdere taken, zoals het uitlezen van sensoren, het onderhouden van de MQTT-verbinding en het uitvoeren van cryptografische handelingen, gelijktijdig en met lage latency moet afhandelen. Zephyr biedt hiervoor een solide basis met pre-emptive scheduling en een rijk ecosysteem aan drivers. De firmware zelf is grotendeels geschreven in C, wat ons de maximale controle geeft over geheugengebruik en prestaties die noodzakelijk is in een resource-constrained omgeving.

Schaalbaar Beheer

Met een vloot van 250.000 apparaten is een robuust OTA-updateproces geen luxe, maar een levensader. We hanteren een strikte, gefaseerde uitrol: een nieuwe firmwareversie wordt eerst intern getest op onze fysieke testmuur, vervolgens uitgerold naar een kleine groep medewerkers, en pas na validatie in gecontroleerde batches naar de rest van het veld. Om de beperkte bandbreedte van LTE-M efficiënt te gebruiken, passen we compressie en differentiële updates toe.

Minstens zo belangrijk is de gelaagde beveiliging, die vanaf dag één in het ontwerp is verankerd. Elke SGN beschikt over een unieke device-identiteit dankzij een eigen certificaat dat tijdens de productie wordt geïnstalleerd. De communicatie zelf is beveiligd met mutual TLS (mTLS), wat betekent dat niet alleen het device zich authentiseert bij de server, maar de server ook bij het device. Dit voorkomt effectief man-in-the-middle aanvallen. Om de integriteit van de software te waarborgen, worden alle firmware-updates cryptografisch ondertekend. De SGN verifieert deze handtekening voordat een update wordt geïnstalleerd. Dit wordt verder versterkt door Secure Boot, wat op hardwareniveau garandeert dat alleen door ons ondertekende en vertrouwde code kan worden opgestart.

Onze Asset Definition Language

Om de diversiteit aan apparaten efficiënt te beheren, hebben we intern de Asset Definition Language (ADL) ontwikkeld. Dit is onze eigen domeinspecifieke taal, geschreven in Python, waarmee we de datastructuur, commando's en eigenschappen van elk apparaattype eenduidig definiëren. De ADL fungeert als onze single source of truth. Vanuit één centrale ADL-definitie genereren onze build-tools automatisch de benodigde code voor het hele systeem: van de C-structs in de firmware tot de Python-classes in de backend. Dit voorkomt inconsistenties, versnelt de onboarding van nieuwe apparaten enorm en stelt ons in staat de data uiterst compact en binair te versturen, wat dataverbruik en parsing-overhead op de devices minimaliseert.

Schermafbeelding 2025-07-10 145541 1.png

Bouw mee aan het Smart Grid van 1 miljoen apparaten

Ons platform is ontworpen voor groei, en met een doel van één miljoen apparaten in 2029 ligt onze focus op het verder verhogen van de robuustheid en autonomie. Een belangrijk speerpunt is het verplaatsen van meer intelligentie naar de "edge". De SGN's moeten slimme basisbeslissingen kunnen nemen als de cloudverbinding wegvalt, bijvoorbeeld om een batterij te beschermen tegen overlading.

Wil jij hieraan bijdragen? Bij ons krijg je de kans om met cutting-edge technologie te werken aan oplossingen die er echt toe doen. Sluit je aan bij ons team en help mee aan de energietransitie van morgen.

Gerelateerde blogs

Gerelateerde vacatures