Blog

Intercept of Things - deel 5: alle IoT mogelijkheden samengevoegd

We hebben het in verschillende artikelen gehad over de mogelijkheden die Azure biedt met betrekking tot IoT. Maar hoe valt dat allemaal samen? 

Hoe voegen we alle IoT-informatie samen? 

We hebben het in verschillende artikelen gehad over de mogelijkheden die Azure biedt met betrekking tot IoT. Maar hoe valt dat allemaal samen? In dit artikel bespreken we een referentie architectuur zoals Microsoft die aanbiedt. Deze ziet er misschien ingewikkeld uit als je nog geen introductie hebt gehad in de wereld van Internet of Things, maar hopelijk heb je voldoende kennis nu je de vorige artikelen hebt gelezen (en natuurlijk heb je dat gedaan!) 😊.

Laten we eens kijken naar een van de referentie-architecturen die Microsoft ter beschikking stelt:

IoT referentie architecturen

Bron: Azure IoT reference architecture - Azure Reference Architectures | Microsoft Docs

Dat lijkt veel! En dat is ook zo. In de verschillende artikelen hebben we ons gericht op de use case voor IoT, IoT Edge, en IoT Hub. Ja, we hebben het gehad over devices, maar niet over technologieën zoals Azure Sphere (wat een interessante technologie is om over te lezen!). In essentie, waar we het tot nu toe over hebben gehad kan het beste als volgt gevisualiseerd worden:

En daar is een reden voor. Als je oplossing Internet of Things bevat, zijn de basiszaken die je nodig hebt te vinden in de vorige artikelen. De implementatie van deze basics zal je openstellen voor tal van use cases. Maar waar ga je heen nadat je de basis hebt geïmplementeerd die we net hebben genoemd?

Stel dat je een aantal apparaten hebt aangesloten die gegevens verzenden via IoT Hub, en dat je er nu mee wilt werken, dan heb je verschillende opties. Microsoft deelt deze in verschillende categorieën in:

- Hot Path;
- Warm path;
- Cold path.

Dat klinkt cool, maar waarom moet je kiezen tussen verschillende paden? Nou, dat heeft alles te maken met hoe je de resultaten wilt presenteren, hoe snel je dat wilt doen, en hoe je de toegang wilt hebben.

Hot path: Real-Time analytics

Als je data zo snel mogelijk verwerkt moet worden, en je wilt real-time analytics uitvoeren, dan is Azure Stream Analytics de service die je zoekt. Met Azure Stream Analytics kunnen we de data die we binnenkrijgen van de IoT apparaten in real-time analyseren (het zou natuurlijk handig zijn als je apparaat data in real-time verstuurt). Denk aan verkeersanalyse, point of sale data (voorraadbeheer), of elke andere telemetrie die je in real-time moet verwerken. Als we kijken naar de voorbeelden in de vorige artikelen, waar we spraken over temperatuur, wil je misschien de gebouwbeheerder voorzien van een tool waarmee de beheerder de sensor data in real-time kan zien en de query taal (Stream Analytics Query Language) kan gebruiken om interessante patronen te vinden. Misschien laat iemand het raam open in een specifiek kantoor. Dat zou heel goed een use case kunnen zijn voor Azure Stream Analytics.

Let op: De gebouwbeheerder hoeft de query taal niet te begrijpen, men kan deze bouwen en het resultaat presenteren in een PowerBi Report.

Warm path

Als we het hebben over warm path, hebben we het meestal over Time Series Insights. We zijn momenteel bij Time Series Insights Gen 2. Het is niet zo "real-time" als Azure Stream Analytics, maar het heeft wel een enorme use case. We noemen dit ook wel "near real-time analysis". Ik durf aan te nemen dat Time Series Insights een van de meest gebruikte technologieën is bij het werken met data van IoT devices. We hebben het hier over een end-to-end analytics service. Als we bij het voorbeeld van de temperatuur blijven zou time-series insights gebruikt kunnen worden om de gemiddelde temperatuur in verschillende kamers te visualiseren en te inspecteren. Het gaat niet zozeer om het vinden van patronen in gegevens (in tegenstelling tot Stream Analytics), maar meer om het analyseren van de gegevens. Een ander verschil is dat Time Series Insights fungeert als een dataopslag, terwijl Stream Analytics dat niet doet.

Het is een veel voorkomend scenario waarbij gegevens van het hot path naar het warm path stromen, waarbij anomaly detection wordt uitgevoerd met Stream Analytics en het totaalbeeld wordt geanalyseerd met Time Series Insights.

Cold path

En dit is waar de coole technologieën in het spel komen! Goed... De eerdergenoemde technologieën zijn al erg interessant, maar wat als we wat machine learning willen uitvoeren? Natuurlijk, dat zou betekenen dat alle latentie eisen uit het raam gooit, dit kan enige tijd duren (afhankelijk van je model).

Ik weet het, we hebben het al eerder gehad over machine learning, maar dat was in de IoT Edge configuratie, waar een klein model op een apparaat wordt uitgevoerd om de data te verwerken voordat de resultaten naar IoT Hub worden gestuurd. We hebben het over iets anders als we het hebben over het koude pad.

Al die gegevens, daar kun je zeker iets interessants mee doen. Als je honderden of duizenden sensoren hebt die gegevens verzamelen, waarom dan niet een voorspellend model bouwen? Laten we het voor de laatste keer over de temperatuur hebben. Met alle data die we ontvangen van de sensoren via IoT Hub zouden we een model kunnen bouwen, het trainen en het publiceren als een webservice om de temperatuur te voorspellen. Waarschijnlijk wil je meer variabelen toevoegen om nauwkeurig te zijn, maar het begin is er!

Presentatie

Ik weet dat ik het al eerder heb gehad over de presentatie van de gegevens met Time Series Insights of PowerBi. Maar nadat je je analyses, machine learning en andere zaken op orde hebt, wil je waarschijnlijk ook een visualisatie maken. Dat kan in veel verschillende vormen. Als je aan gps-tracking doet dan is Azure Maps wellicht een goede oplossing. Of misschien verzamel je data en creëer je een database die je wilt doorzoeken, dan is Azure Search mogelijk je oplossing. Natuurlijk kun je altijd je visualisatie aanpassen en de technologieën genoemd in dit artikel gebruiken als bron voor het presenteren van data met behulp van App Services of een Mobile App. Het doel van deze paragraaf is niet om je te wijzen op de juiste manier om je data te visualiseren, maar om je aan het denken te zetten.

Tijdens je reis door de verschillende paden, ben je data aan het voorbereiden (of transformeren zo je wilt). Je moet altijd rekening houden met het grotere geheel. Je wilt hier waarschijnlijk over nadenken wanneer je begint met het schrijven van jouw IoT oplossing; "Hoe wil ik dit visualiseren?". Want je hebt clean data nodig en je deze moet gepresenteerd kunnen worden zoals jij dat wilt. Als je gps-tracking doet en je slaat alleen de naam van de stad op, dan kan je in de problemen komen, omdat je waarschijnlijk de lengte- en breedtegraad opgeslagen wilt hebben.

Over het algemeen moet je aan de volgende punten denken als begint:

  • Welke gegevens kan mijn apparaat opslaan.
  • Welke gegevens heb ik nodig voor verwerking in mijn hot, warme en koude paden (en wil ik ze wel alle 3?)
  • Hoe wil ik mijn gegevens presenteren?

Zodra je deze vragen kunt beantwoorden, kan je kijken naar de verschillende technologieën die Azure te bieden heeft.

Wrap up

Dit was veel informatie en het doel van deze informatie is om je te laten nadenken bij het ontwerpen van je IoT-oplossing. Het gaat niet alleen om het apparaat, het gaat ook om wat daarna komt. Het bouwen van het meest epische apparaat dat de telemetrie kan verzamelen die je wilt, betekent niets als je geen waarde toevoegt voor de klant door iets met die telemetrie te doen en het te presenteren op een manier die zij kunnen gebruiken, als input voor zaken als procesoptimalisatie, gebouwbeheer, of zelfs het beslissen over wanneer de lichten in de kas aan moeten.

Kortom, er is veel om over na te denken!

Dit artikel is onderdeel van een reeks