Dit artikel gaat in op de technische realisaties die de voorbije maanden in het Internet of Water Flanders project zijn geboekt om de metingen van verschillende types sensoren te verzamelen en verwerken. Wie behoefte heeft aan meer context, verwijzen we graag naar de links onderaan dit artikel of naar het imec artikel ‘Technologie brengt Vlaanderen voorop in meting van waterkwaliteit‘ dat al een aantal uitdagingen voor deze dataontsluiting aanhaalde.
Context en schaalbaarheid als uitgangspunten
Binnen het consortium Internet of Water Flanders heeft de werkgroep IT een schaalbare IoT-stack gedefinieerd voor een uniforme ontsluiting van de sensordata.
Onder IoT-stack verstaan we het geheel aan technologieën, datastandaarden en applicaties, en alle communicatiestappen ertussen. Zo begint de gegevensverzameling van bijvoorbeeld een waterkwaliteitsmeting bij een sensor (=technologie). Die stuurt via het internet een reeks data gestructureerd door naar een database of context broker (=datastandaard en IT-technologie).
Deze datastroom kan dan op verschillende manieren verwerkt worden, bijvoorbeeld om de maatschappij te informeren over de actuele waterkwaliteit, om een voorspelling te doen over trends of een waarschuwing te geven over iets wat zal plaatsvinden in de nabije toekomst (=applicaties).
- Een eerste belangrijke factor bij de ontwikkeling van deze data-architectuur was om bij de inhoudelijke data-analyse de contextuele informatie mee te kunnen nemen.
Zowel de kennis over de omstandigheden waarin de data zijn gecapteerd als de gegevens van het meettoestel zelf zijn daarbij belangrijk. Denk hierbij aan zaken zoals de status van de batterij, locatie en tijdstip van sensorinstallatie, alsook de actuele metingen van allerlei omgevingsfactoren. De IoT-stack is namelijk compatibel met meerdere types sensoren.
In de eerste plaats de sensoren die imec specifiek voor het project ontwikkelt, maar ook commerciële sensoren om bijvoorbeeld de data van de imec-sensoren te valideren of te verrijken. Het was dus zaak om de meerdere manieren van data-ontsluiting van de verschillende types sensoren te ondersteunen en ook hun mogelijk afwijkende waarden met elkaar te kunnen vergelijken. - De schaalbaarheid van de IoT-stack was de tweede belangrijke factor die de ontwikkelaars voor ogen moesten houden.
De architectuur moet voor de analyses van waterkwaliteit over heel Vlaanderen namelijk aan de slag met de gegevens van mogelijk duizenden sensoren. En van elk van deze sensoren moet het zowel de actuele gegevens als de historische data in rekening kunnen nemen. Daarenboven moet de IoT-stack ook een beheerdersrol toelaten. Wat betekent dat het ook de sensoren zelf digitaal moet kunnen inventariseren en de kwaliteit van de datastromen monitoren.
Als eerste implementatie werkte de IT-werkgroep met een beperkte set data en sensoren om op basis van Europese open standaarden een horizontaal schaalbare IoT stack op te zetten met de harmonisatie van de data en het verwerken van hun context als belangrijke uitgangspunten.
Technische details van het prototype wat gebouwd is op internationale standaarden
Het prototype van deze IoT-stack bestaat uit modulaire bouwblokken die gebruik maken van het hele spectrum van cloud tot edge om de dataverwerking optimaal te verdelen. In en nabij de sensoren zelf (=in de edge) maakt het project gebruik van het imec OCTA-platform: een intern ontwikkeld platform om robuust en met laagvermogen IoT-sensoren data te laten omzetten naar de cloud. In de private cloud maakt de stack verbinding met de dataservers van IDLab, een imec onderzoeksgroep aan de Universiteit Gent. En vervolgens wordt ook gebruik gemaakt van een commerciële publieke cloudprovider.
Om de stack over deze combinatie van platformen uit te rollen, kon het team bouwen op de technologie en inzichten uit andere projecten rond slimme data binnen het City of Things programma (dat imec coördineert). Zo zette het centraal de CEF context broker op voor het beheren van de data-context. De CEF context broker is een digitaal bouwblok uit de lijst van bouwblokken die de Europese Commissie voorstelt in het Digital Connecting Europe programma en die onderdeel is van de door Europa ontwikkelde FIWARE standaard. Daarmee speelt de architectuur ook in op de minimale vereisten voor interoperabiliteit die internationaal zijn afgesproken (MIM – Minimal Interoperability Mechanism). Meer bepaald de MIM1 afspraken gemaakt door 170 steden van over de hele wereld binnen Open and Agile Smart Cities (OASC).
Om de data te valideren startte het team vanuit het WaterQualityObserved model van FIWARE om – met enkele gerichte toevoegingen – NGSI datamodellen te definiëren voor de waterkwaliteit en de meettoestellen. NGSI(-LD) is een standaard van ETSI (European Telecommunications Standards Institute) voor het ontsluiten van geconnecteerde data en dient tevens als API (Application Programming Interface: een verzameling definities op basis waarvan een computerprogramma kan communiceren met een ander programma of onderdeel) voor de eerdergenoemde CEF context broker. Deze dataharmonisatie en het gebruiken van een standaard als NGSI is belangrijk voor de verdere ontwikkelingen en compatibiliteit met externe applicaties. Ook laat het nu al toe om de modulaire componenten uniform met elkaar te laten communiceren. Bijvoorbeeld het capteren van historische data gebeurt met behulp van een bevraging van de context broker via een zogenaamde “subscription”. De tijdreeks databank wordt dus evenzeer een ‘klant’ van de context broker (net als de andere toepassingen die er potentieel gebruik van zullen maken).
Vooruitblik op verdere ontwikkelingen
Binnen een vervolgtraject (CEF call for public data, part 1), zal IoW Flanders, samen met internationale partners, binnen Vlaanderen een OSLO traject starten (OSLO = Open Standaarden voor Linkende Organisaties) om waterkwaliteit als geconnecteerde data te definiëren. Deze Vlaamse erkenning zal toelaten om de data te mappen op NGSI-LD.
In de architectuur zijn ook reeds mogelijkheden voorzien om bestaande datasystemen te koppelen op een manier die transparant is voor de toepassingen die er gebruik van maken. Zo bevat het een NGSI Proxy Agent om bijvoorbeeld data van referentiestations in hetzelfde geharmoniseerd datamodel ook te laten doorstromen naar de validatie-algoritmes. Deze zien dus enkel een verschil in meettoestel maar moeten zich niet aanpassen aan de specifieke informatieformaten van de fabrikant. Door het toevoegen van bijvoorbeeld device status in het NGSI model voor het meettoestel, kan de IoT agent ook toelaten om het eerder beschreven beheer van de sensoren en datastromen te doen op een uniforme manier. De IoT agents moeten dan enkel hun device status verpakken in een aantal vlaggen, die hogerop in de stack uniform interpreteerbaar zijn.
De huidige IoT-stack is geen commercieel product, maar een modulair prototype dat ontworpen is om genoeg inzichten te krijgen in het gebruik van dataharmonisatie, Europese bouwblokken en standaarden, horizontale schaalbaarheid, gebruik makend van open source software en bouwblokken. Inzichten die ook essentieel zijn om de functionele en technische vereisten te definiëren en de toekomstbestendigheid ervan te bewaken bij de geplande aanbestedingen. Door het onderzoek in Internet of Water Flanders zullen de consortiumpartijen informatie vergaren om een aantal aanbestedingen uit te schrijven om de architectuur naar de markt te brengen. Alle bouwblokken in de IoT-stack, zoals IoT agent, context broker, time series opslag, en grafische interface zijn ofwel beschikbaar als open source componenten, of werden gebouwd op basis van open source software of standaarden/protocollen, zoals InfluxDB, Kafka en OAuth2.
Meer weten?
- Meer informatie over FIWARE en de CEF context broker is te vinden op de website van VLOCA.
- Meer informatie over OASC en de MIMS is te vinden op de website van VLOCA.
- Meer informatie over NGSI(-LD) is te vinden op de website van VLOCA.
Meer informatie over OSLO is te vinden op de website van de Vlaamse overheid