Blog

Intercept of Things - deel 4: Device Twins

In dit artikel vertellen we je meer over Device Twins. Wat zijn het? En waarom is het belangrijk om de mogelijkheden van de Device Twins te begrijpen. 

Gepubliceerd: 19 augustus 2021

Een onderwerp dat we al een aantal keren benoemd hebben, maar nog niet echt inhoudelijk besproken hebben zijn; ‘Device Twins’. Dit is misschien niet het meest uitgebreide artikel in deze reeks, maar het is zeer belangrijk om de mogelijkheden van de Device Twins te begrijpen. Want uiteindelijk – zonder Device Twins ben je gewoon gegevens aan het lezen van een apparaat terwijl je er zoveel meer mee zou kunnen doen!  

Microsoft beschrijft de Device Twins als volgt:

"Device Twins zijn JSON-templates waarin informatie over de toestand van het apparaat wordt opgeslagen, waaronder metadata, configuraties en condities. Azure IoT Hub onderhoudt een device twin voor elk apparaat dat je verbindt met IoT-Hub."


Dat klinkt heel basic en heel geavanceerd tegelijkertijd!

Je zou Device Twins kunnen zien als een manier om je apparaat te "bedienen" vanuit Microsoft Azure IoT-Hub.

Wat kan een device twin doen?

Device Twins kunnen worden gebruikt om gegevens over het apparaat op te slaan in de cloud. We noemen dit metadata. Stel dat je de metadata aan het apparaat hebt toegevoegd met de locatie van het apparaat (appartement A, gebouw 5). Dan wil je dat het apparaat dat terug rapporteert, zodat je weet welk appartement in welk gebouw verantwoordelijk is voor de gegenereerde data.

Maar dat is niet het enige. Je kan Device Twins ook gebruiken om specifieke toestanden, mogelijkheden of condities te rapporteren. Bijvoorbeeld "Temperatuursensor is ingeschakeld" of "Airconditioning is uitgeschakeld".

Nou klinkt dat misschien leuk... Maar je volgende vraag zal zijn: Kan ik de waarde van die eigenschappen veranderen? Ja, dat kan. We kunnen eigenlijk een deel van de toestand op het apparaat controleren.

Door gebruik te maken van Iot-Hub en Device Twins kunnen we het apparaat een bericht sturen met de tekst "please change the property". In wezen kunnen we een bericht sturen (vereenvoudigd voor de leesbaarheid):

"Airconditioning: Aan"

"Temperatuur: 15c"

 

Een use case

Nou dat is natuurlijk mooi. Dat betekent dat we niet alleen apparaten kunnen leveren en beheren vanuit een infrastructuurperspectief, maar we kunnen ook de eigenschappen op de apparaten beheren en ze daadwerkelijk "besturen". Denk aan de gebruiksmogelijkheden! We hebben waarschijnlijk al vergelijkbare technologieën, maar laten we bijvoorbeeld eens denken aan gebouwbeheer. We verzamelen nu telemetrie met IoT Device uit het gebouw en slaan deze op in Azure.

We kunnen analytics, machine learning, data van externe bronnen (denk aan het weer) gebruiken en misschien een model bouwen dat uitlegt wanneer en waarom we de temperatuur van de verwarming in het gebouw moeten veranderen of wanneer we de airconditioner aan moeten zetten. Dat kunnen we nu doen omdat we Device Twin kunnen gebruiken om die eigenschappen in te stellen, zonder dat we ingewikkelde interfaces hoeven te bouwen voor de interactie met onze apparaten. We hebben het hier letterlijk over "Smart Buildings".

Maar het is niet alleen het gebruik van de Device Twin van een enkel apparaat. We kunnen query's uitvoeren op meerdere apparaten of een specifieke eigenschap voor meerdere apparaten instellen. Misschien willen we de lichten een uur na zonsopgang uit doen. Vanuit Azure kunnen we de data ophalen van een API die ons de tijd voor zonsopgang vertelt voor een specifieke dag in een specifieke regio. We kunnen dan logica bouwen in Azure om de Device Twins technologie te gebruiken om de lichten een uur na zonsopgang uit te doen door enkel de eigenschap te veranderen.

Samenvattend

Device Twins kan misschien overkomen als een zeer kleine functie, maar het is eigenlijk wat de use case voor veel IoT scenario's aandrijft. Waar we traditioneel apparaten bewaakten en telemetrie verzamelden, besturen we nu apparaten en leveren we de logica (vanuit de cloud) voor industriële installaties, gebouwen of zelfs jouw slimme woning. Ja, de apparaten zijn verbonden met de cloud en je kan berichten heen en weer sturen, maar de Device Twins zijn de lijm die alles samenbrengt.  We zouden zelfs kunnen beargumenteren dat dit een groot deel van het traditionele berichtenverkeer van apparaten naar de cloud zou kunnen vervangen. Waarom zouden we honderdduizenden berichten moeten sturen met "temperatuur X, Y Z" als we gewoon de eigenschap kunnen opvragen en een waarschuwing kunnen maken wanneer het daalt of stijgt boven een specifieke waarde? De use case hangt echt af van uw eisen, maar het is goed om te weten wat er allemaal is.

What’s next?

In het volgende artikel gaan we verder in op het gebruik van Device Twins om je apparaten te managen. Stay tuned!

 

Dit artikel is onderdeel van een reeks

Artikel 1: Intercept of Things - deel 1: Introductie

Artikel 2: Intercept of Things - deel 2: Plan je IoT Solution

Artikel 3: Intercept of Things - deel 3: IoT Edge