Na jaren van ‘promises, promises…’, lijkt de tijd eindelijk rijp voor machine-to-machine communication (M2M) op brede schaal en in cross-vertical segmenten. Als we de meest recente rapporten mogen geloven, zal de wereldwijde omzet voor wireless M2M jaarlijks met 23% groeien tot USD 136 miljard in 2018. Op de laatste editie van de Embedded Systems Show in Nürnberg (D) was het Internet of Things (IoT), zoals het nu ook wel genoemd wordt, hét buzz-word. Wees erbij, was de boodschap…!
“Das ist ja alles recht und gut,” zouden onze oosterburen zeggen, maar wat houdt het bouwen van M2M-toepassingen eigenlijk in? Gezien de enorme kansen is de verleiding is groot ook maar – huppakee! – de M2M-markt in te springen, maar “bezint eer ge begint” is bij ons een bekend gezegde en dat is ook weer waar. Dus: begin bij het begin.
M2M-toepassingen zijn er in vele verschijningen, van water management tot smart metering en van eCall tot vendor managed inventory, to name a few. Maar of je toepassing nu om een waterpeil, een meterstand of het vulniveau van een silo gaat, ze hebben één ding gemeen: het zijn allemaal gegevens in de vorm getallen. Hoe je van die getallen vervolgens nuttige informatie maakt, die vervolgens back-office processen aansturen of in webportals worden gepresenteerd, is de eigenlijke applicatie.
Bij een M2M-applicatie heb je over het algemeen meet- en/of stuurunits ‘in het veld’ staan die op hun locatie metingen verrichten en de meetwaardes loggen; ook worden events gedetecteerd en als event code vertaald. In sommige gevallen worden lokaal processen bestuurd, bijv. de aansturing van de tankinstallatie. Geregistreerde (meet)gegevens (lees: getallen) en event codes (lees: ook getallen) wordt lokaal gebufferd/gelogd en volgens een schema of direct via een beschikbare netwerkverbinding (bijv. GRPS) verzonden naar een centrale server. In beide gevallen worden ze vaak van een timestamp voorzien, waarvoor de M2M-unit een enigzins betrouwbare real-time clock moet hebben die af en toe bijgesteld wordt.
Een veelal onderschatte – maar essentiële – functie van M2M-toepassingen is device management. Eenmaal in het veld geplaatst is de remote unit niet eenvoudig meer bereikbaar voor aanpassingen in de configuratie of het updaten van de software/firmware. Als het om een simpele SMS-melder gaat dan zijn de risico’s misschien nog te overzien, maar gaat het om complexere toepassingen dan ligt er gevaar op de loer. Het betrouwbaar op afstand kunnen uitvoeren van een configuratie- en software-update is van eminent belang in een robuuste M2M-applicatie. Het aanpassen van een configuratie komt in de praktijk neer op het aanpassen van een parameter in het M2M-device, voor het updaten van software zal op de een-of-andere manier een bestand met de nieuwe versie naar het M2M-device moeten worden verstuurd. In sommige gevallen moeten er ook instructies naar een M2M-device kunnen worden verstuurd.
Tenslotte wordt een M2M-toepassing niet in de wereld gezet omdat het zo leuk is (hoewel er veel plezier te beleven valt aan de ontwikkeling ervan), maar om een business process te kunnen automatiseren. M2M-devices versturen hun data naar een M2M-server en -database, die als basis dient voor de business-applicaties. Het kan een webportal zijn waarmee de data aan gebruikers als voor hen nuttige informatie wordt gepresenteerd of de koppeling met bijv. ERP-software voor het aansturen van distributie- en productieprocessen, via CSV/XML-transfers of REST/SOAP web services. Omgekeerd wordt het M2M-systeem vanuit de server beheerd.
Vatten we het bovenstaande kort samen, dan zijn – onafhankelijk van het specifieke toepassingsgebied – de belangrijkste kernfuncties van een M2M-applicatie:
- Het lokaal loggen van data, voorzien van een timestamp door het M2M-device
- Het versturen van data, direct of volgens een schema, door het M2M-device naar de M2M-server
- Aanpassen van configuratieparameters in het M2M-device vanuit de M2M-server
- Updaten van de software/firmware in het M2M-device vanuit de M2M-server
- Versturen van instructies naar het M2M-device vanuit de M2M-server
- Synchroniseren van de real-time clock van het M2M-device met de systeemtijd
- Het koppelen van de M2M-server aan business-applicaties
Om met de enorme diversiteit van M2M-toepassingen om te kunnen gaan, is het zinvol om deze generieke functies onder te brengen in een platform met duidelijk abstractielagen en dito Application Programming Interfaces (APIs). Op die manier wordt de applicatiespecifieke van de generieke functionaliteit geïsoleerd, wat het hergebruik bevorderd, ontwikkelingstijd verkort en testen vereenvoudigd. Allemaal voordelen die de robuustheid ten goede komen.
In algemene zin is er veel mee te winnen als er zoveel mogelijk open standaarden worden gebruikt, wat niet direct als een pleidooi voor open source mag worden opgevat. De inzet van een commercieel RTOS of Microsoft .Net, om een paar dwarsstraten te noemen, is te verenigen met de keuze voor een open standaard. Voor communicatie binnen het M2M-systeem liggen TCP/IP-protocollen het meest voor de hand, maar dat is tegenwoordig een open deur.
Specifiek voor de M2M-devices, meestal embedded systems, is het hebben van application framework software nuttig. In de praktijk wordt de M2M-ontwikkelaar met allerlei randapparatuur geconfronteerd, zoals energiemeters met allerlei interfaces, tot PLCs (Programmable Logic Controllers) met industriële protocollen en sensoren met digitale en analoge aansluitingen. Wanneer het framework, omdat het daarop nu eenmaal is voorbereid, de integratie van software-modules voor bijv. een sensor of energiemeter ondersteunt, wordt het samenstellen van de embedded applicatie een ‘walk in the park’. Voor het toevoegen van applicatie-specifieke logica geldt hetzelfde.
De ontwikkelaars van AnyBridge werken sinds jaar en dag aan M2M-toepassingen, zelfs al voor de tijd dat het begrip M2M bestond. Ooit begonnen met de ontwikkeling van de slimme meter, kwamen er op een gegeven moment vragen voor de ontwikkeling van een tank-telemetrie oplossing. In een vroeg stadium is bewust gekozen voor de ontwikkeling van een generiek platform, dat nu bekend is onder de naam AnyBridge M2M Platform. Het is gebaseerd op open standaarden, biedt een embedded application software framework en een server die gebaseerd is op Microsoft Windows Server en SQL Server waarmee M2M-systemen kunnen worden beheerd via een API en worden gekoppeld aan business software. Het platform heeft zijn meerwaarde inmiddels bewezen in allerlei gebieden, van energiemetingen tot voorraadbeheer, en van machinebewaking tot landbouwtoepassingen.
AnyBridge ontwikkelt M2M-oplossingen in opdracht van derden, als turnkey-oplossing of als ontwikkelpartner. Met de eigen platformtechnologie biedt AnyBridge een kant-en-klaar, solide fundament voor een breed scala aan toepassingsgebieden, waarop betrouwbare M2M-systemen kunnen worden gebouwd.
Neem voor meer informatie contact op met AnyBridge M2M Solutions.