Blog

Smart Industry Proof of Concept, the making of part III

Auteur Ruud Ruud is infomatiekundig ontwerper en ontwikkelaar bij Trivento.

Binnen Trivento zijn we altijd op zoek naar nieuwe mogelijke markten. We hebben voor heel wat klanten slimme maatwerk oplossingen gerealiseerd, voor kernprocessen waar geen standaard software voor is. Daar zijn echter weinig klanten bij uit de industrie. Smart industry zou dit kunnen veranderen. Een kenmerk van Smart Industry is vooral dat de fysieke wereld wordt gedigitaliseerd, en de digitale wereld vertaald wordt naar de fysieke wereld. Door sensoren etc. wordt de fysieke wereld gemodelleerd als informatie. En met informatie weten we binnen Trivento wel raad.

In mijn vorige blogs heb ik de aanleiding en context van de PoC beschreven  en ben ik ingegaan op de eerste stappen voor de PoC . In deel II heb ik beschreven hoe je zelf routes kunt maken en vrachtwagens kunt starten. Het had nog niet veel van doen met Smart Industry, maar dat gaat nu veranderen.

SenML

Een collega, die bij KPN Things gedetacheerd is, wees me op het bestaan van SenML, ook bekend onder de naam RFC8428 van de  Internet Engineering Task Force (IETF):

This specification defines a format for representing simple sensor measurements and device parameters in Sensor Measurement Lists

SenML kan worden gedefinieerd als JavaScript Object Notation (JSON), Concise Binary Object Representation (CBOR), Extensible Markup Language (XML), and Efficient XML Interchange (EXI), die alle drie het SenML-gegevensmodel delen. We hebben het in eerste instantie beperkt tot JSON. 

Voor het verwerken van SenML berichten heb ik een generieke parser geschreven waarmee we een bericht in een MeasurementCollection stoppen en op naam eenvoudig de verschillende meetwaarden kunnen uitvragen.

Vervolgens heb ik een /senml end point gebouwd waarmee een SenML bericht kan worden aangeboden. Op basis van de sensor identificatie (de Base Name, bn,  in SenML) weet de software in welke truck de sensor is 'gemonteerd': bij het starten van een truck kun je opgeven welke sensoren bij die truck horen. Als je de trucks opvraagt zie je ook per truck welke sensoren daarmee zijn gekoppeld.


HowTo 1

Een voorbeeld SenML bericht voor de SEN-23-ML truck:

[{
"bn": "urn:dev:DEVEUI:A81758FFFE05A01F:"
  },{

"n": "temperature",
"u": "Cel",
"v": 19.3
  },{

"n": "humidity",
"u": "%RH",
"v": 63.0
  },{

"n": "CO2Concentration",
"u": "ppm",
"v": 615.0
}]

Ga naar https://sipoc.trivento.nl/api/v1/swagger-ui.html

Kies in de senml-controller voor POST /senml en klik op Try it out.
Plak de bovenstaande JSON in de request body en klik op Execute



In de software zijn de drempelwaarden voor de CO2 concentratie als volgt gedefinieerd:

  • < 800 ppm is OK en wordt groen getoond
  • tussen 800 en 950 ppm is het een WARNing en wordt het oranje getoond
  • >= 950 ppm is het CRITical en wordt het rood getoond

Door het bericht in de HowTo 1 bij de CO2Concentration aan te passen (nu staat er 615.0, dus wordt het groen getoond) kun je de kleuring beïnvloeden.

Overigens wordt de positie van de truck bepaald op basis van de huidige tijd en de afgelegde weg sinds de start van de truck bij een (default) snelheid van 90 km/h. Zoals in The making of part II is uitgelegd kun je met een profile de snelheid van de truck beïnvloeden.

KPN Things

Via dezelfde collega, die me op SenML wees, hebben we ook het aanbod gekregen de PoC uit te breiden met een echte sensor: een Elsys ERS CO2. Daarmee werd het ernst. 

Het koppelen van de sensor was in het Things Portaal recht-toe-recht-aan. Je definieert een flow met daarin een device als startpunt. Vervolgens kun je Encoders en Decoders koppelen. Ik gebruik feitelijk alleen de standaard decoder voor de Elsys ERS die een string data omzet naar een SenML bericht. Ten slotte geef je de bestemming aan, in mijn geval dus het SenML endpoint van de back end. 

Het SenML http endpoint werkt nagenoeg meteen, enkel wat naamswijzigingen van de meetdata waren nodig om het te laten werken. De sensor verstuurt elke 5 minuten een bericht met de actuele meetwaarden via het LoRa netwerk. Deze worden onmiddellijk gevisualiseerd in de front end.

Conclusie

Ik beschouw het experiment als geslaagd. De discussie over de referentie architectuur (zie part I) heeft inzicht gegeven in de onderdelen die bij Smart Industry aan de orde zijn. Veel van die onderdelen zijn technologieën die we als Trivento goed beheersen. 

Het koppelvlak van de hardware met onze software was in eerste instantie nog een blinde vlek. Door de PoC is duidelijk geworden dat, met behulp van infrastructuur zoals KPN Things, dit eenvoudig aan te sluiten is.

Ben je opzoek naar meer?

Bekijk hier een selectie van onze ebooks.

Business case KPN IoT

Download nu

Ebook: business impact creëren met Smart Industry

Download nu