Maak een app die MQTT ondersteunt

Naarmate de adoptie van het Internet of Things (IoT) toeneemt, krijgen ontwikkelaars steeds vaker de taak om een groot aantal verspreide apparaten te verbinden via netwerken die mogelijk onbetrouwbaar zijn of een beperkte bandbreedte hebben. In dergelijke omgevingen is de keuze van het communicatieprotocol cruciaal. MQTT is een veelgebruikte standaard geworden voor IoT en event-gestuurde systemen vanwege zijn geringe omvang, lage latentie en efficiënte publish/subscribe-meldingsmodel.

MQTT is flexibel genoeg om een breed scala aan toepassingen te ondersteunen, van kleine proefprojecten op het gebied van automatisering tot grootschalige implementaties in productieomgevingen. Het maakt real-time data-uitwisseling tussen apparaten mogelijk, terwijl het tegelijkertijd de netwerkbelasting minimaliseert. Hierdoor is het zeer geschikt voor toepassingen zoals sensornets, industriële automatisering en remote monitoring.

Altova MobileTogether biedt native ondersteuning voor het ontwikkelen van apps met MQTT-functionaliteit voor iOS, Android en Windows. De aanpak van deze tool, gericht op snelle mobiele app-ontwikkeling met weinig code (RMAD), stelt ontwikkelaars in staat om MQTT-berichten snel te integreren in applicaties die op verschillende platforms werken, terwijl ze tegelijkertijd controle behouden over de app-logica en de dataverwerking.

Laten we eens kijken hoe het werkt.

MQTT-berichtenprotocol

Een OASIS-standaard voor berichtuitwisseling, MQTT (Message Queuing Telemetry Transport), maakt apparaat-naar-apparaat telemetrie mogelijk in situaties waarin een lage bandbreedte, hoge latentie of een onbetrouwbare netwerkverbinding een probleem vormen. Dit lichtgewicht protocol heeft een publish/subscribe-architectuur die is ontworpen voor betrouwbare communicatie tussen apparaten, waardoor het ideaal is voor IoT-toepassingen.

Het gedecentraliseerde communicatiemodel van MQTT maakt het mogelijk voor apparaten om informatie te publiceren naar een centrale broker en zich te abonneren op onderwerpen van interesse. De broker filtert berichten op basis van hun onderwerp. Clients abonneren zich op één of meerdere onderwerpen en ontvangen de bijbehorende berichten van de broker. Clients kunnen zowel berichten publiceren als zich abonneren op onderwerpen.

Door zijn lichte structuur zorgt MQTT voor een minimaal dataverbruik en een lage latentie, waardoor het een goede keuze is voor omgevingen met beperkte resources, zoals systemen die IoT-apparaten met beperkte verwerkingskracht en bandbreedte gebruiken. Tegelijkertijd is MQTT zeer schaalbaar en kan het verbindingen tussen miljoenen slimme apparaten ondersteunen.

MQTT wordt gebruikt in diverse toepassingen, waaronder slimme woningen, slimme kantoren en systemen voor slimme steden. Tegenwoordig is dit protocol vooral van cruciaal belang in de industriële automatisering.

Automatisering van het Industriële Internet der Dingen

Toepassingen van het industriële Internet der Dingen (IIoT) die MQTT gebruiken voor communicatie tussen apparaten, zijn te vinden in diverse sectoren, waaronder productie, gezondheidszorg, energie en olie en gas. In deze systemen wordt MQTT vaak gebruikt om meetgegevens en gebeurtenisdata te transporteren tussen sensoren, randapparaten en backend-services, en biedt het betrouwbare berichtuitwisseling met een minimale overhead, zelfs in omgevingen waar de netwerkcondities en de mogelijkheden van de apparaten aanzienlijk kunnen verschillen.

Bijvoorbeeld, in een slimme fabriek die MQTT gebruikt, publiceren sensoren op de productielijn real-time gegevens over de status van machines en kwaliteitsmetingen naar een centrale server. Door een app te gebruiken die zich abonneeert op deze gegevensstromen, kunnen plantmanagers direct beslissingen nemen, processen optimaliseren en de algehele efficiëntie verbeteren.

Hier zijn enkele veelvoorkomende voordelen van het gebruik van MQTT in industriële automatisering:

MQTT Voordeel voor IIoT (Industriële Internet of Things)
Efficiënte en lichte communicatie Het lichte ontwerp minimaliseert de protocoloverhead, waardoor het zeer geschikt is voor een groot aantal gedistribueerde industriële apparaten.
Real-time monitoring, waarschuwingen en controle Het publish/subscribe-model ondersteunt de real-time verzending van sensorgegevens en de status van apparatuur, wat zorgt voor responsieve monitoring en controle.
Schaalbaarheid voor grootschalige implementaties Schaalbaar voor een toenemend aantal apparaten, waardoor betrouwbare communicatie in grote IIoT-omgevingen behouden blijft.
Machine-to-machine (M2M) communicatie Maakt asynchrone, autonome data-uitwisseling tussen machines mogelijk met behulp van een losgekoppeld publish/subscribe-model.
Remote monitoring en onderhoud Real-time statusupdates ondersteunen remote diagnose en onderhoud, wat helpt om stilstand te verminderen.
Energie-efficiëntie Het lage bandbreedtegebruik en de minimale overhead helpen om het energieverbruik in apparaten met beperkte mogelijkheden of op batterijen te verminderen.
Interoperabiliteit en standaardisatie Als een protocol op basis van standaarden, ondersteunt MQTT interoperabiliteit tussen apparaten van verschillende fabrikanten.

Natuurlijk gelden deze voordelen ook voor toepassingen buiten de industrie, zoals slimme kantoorsystemen en slimme steden.

Wat organisaties nodig hebben, zijn gebruiksvriendelijke applicaties waarmee ze processen kunnen beheren en volgen die via MQTT worden geautomatiseerd. Daar komt Altova MobileTogether om de hoek kijken.

Hoe maak je applicaties die gebruikmaken van MQTT

Altova MobileTogether is een gebruiksvriendelijke en betaalbare oplossing waarmee u snel applicaties kunt ontwikkelen die MQTT ondersteunen voor het monitoren en beheren van communicatie tussen slimme apparaten. Of u nu een dashboard wilt maken voor remote monitoring of een client voor real-time beheer van processen, MobileTogether kan uw MQTT-oplossing in recordtijd opleveren.

Met MobileTogether ontwikkelt u één keer en genereert u apps voor iOS-, Android- en Windows-apparaten, evenals een HTML5-client die in een webbrowser werkt (één keer ontwikkelen, overal inzetten).

Bekijk een kort voorbeeld van een app die we hebben ontwikkeld om deze functionaliteit te demonstreren in een scenario van slimme huisautomatisering:

De MQTT-ondersteuning in MobileTogether maakt het mogelijk voor apps om deel te nemen aan een MQTT-netwerk, zowel als uitgever, als abonnee, of beide.

De ontwikkelomgeving maakt gebruik van een combinatie van een gebruiksvriendelijke interface met drag-and-drop functionaliteit, de krachtige visuele programmeertaal Action Tree voor het afhandelen van gebeurtenissen, en gestandaardiseerde functionele programmering voor het selecteren en verwerken van data. Deze unieke, low-code aanpak maakt het eenvoudig om de verschillende aspecten van een MQTT-gebaseerde applicatie te definiëren en te testen:

  • Implementeer een oplossing die onderwerpen kan volgen en kan stoppen met volgen, berichten kan versturen en verbindingen met een broker kan verbreken

  • Integreer uitgebreide grafieken, diagrammen en dashboards

  • Specificeer de acties die moeten worden uitgevoerd wanneer de applicatie een MQTT-bericht ontvangt

  • Configure een MQTT-service

  • Simuleer en debug het gedrag van de app tijdens de ontwikkeling met behulp van geregistreerde, realistische invoergegevens

De uitgebreide en eenvoudig te implementeren MQTT-ondersteuning in MobileTogether biedt ontwikkelaars de flexibiliteit om een breed scala aan applicaties te ontwikkelen voor industriële automatisering en andere systemen met slimme apparaten.

Het is eenvoudig om te beginnen met het ontwikkelen van uw eerste app die MQTT ondersteunt, in MobileTogether. Dit platform biedt uitgebreide documentatie over de ontwikkeling van MQTT-apps, die toegankelijk is in de helpbestanden wanneer u de gratis MobileTogether Designer downloadt.