Inleiding
MQTT (Message Queuing Telemetry Transport) is een lichtgewicht berichtenprotocol dat netwerkclients met beperkte middelen een eenvoudige manier biedt om telemetrie-informatie te distribueren. Het protocol, dat een publish/subscribe communicatiepatroon gebruikt, wordt gebruikt voor M2M-communicatie (machine-to-machine) en speelt een belangrijke rol in het Internet of Things (IoT).
Kenmerken van MQTT
Lichtgewicht en efficiënt
MQTT is ontworpen voor verbindingen met afgelegen locaties waar de bandbreedte van het netwerk beperkt is. Het protocol is ongelooflijk licht en ideaal voor IoT-apparaten, mobiele toepassingen en elke toepassing waarbij bandbreedte en batterijvermogen beperkt zijn.
Publish/Subscribe-model
MQTT maakt gebruik van een publish/subscribe-model, waarmee berichten naar clients kunnen worden geduwd. Dit model vermindert de bandbreedtevereisten van het netwerk en kan de distributietijd van berichten verbeteren.
Kwaliteit van service
MQTT ondersteunt drie niveaus van Quality of Service (QoS): Ten hoogste eenmaal (0), Ten minste eenmaal (1) en Precies eenmaal (2). Hierdoor kunnen zender en ontvanger onderhandelen over de beste afweging tussen netwerkbandbreedte en berichtbetrouwbaarheid.
Behouden berichten
MQTT brokers kunnen berichten op een onderwerp bewaren en deze berichten afleveren aan nieuwe abonnees wanneer ze zich abonneren op dat onderwerp. Deze functie is nuttig wanneer nieuwe abonnees de laatste waarde van een topic moeten krijgen onmiddellijk nadat ze zich ingeschreven hebben.
Testament
MQTT staat clients toe om 'laatste wil en testament' (LWT) berichten te specificeren die door de broker naar andere clients worden gestuurd wanneer de client de verbinding onvoorzichtig verbreekt. Deze functie is handig om andere clients te informeren over de abrupt verbroken client.
Toepassingen van MQTT
IoT- en M2M-communicatie
MQTT wordt veel gebruikt in IoT- en M2M-communicatie vanwege het lichtgewicht karakter en het publish/subscribe-model. Het stelt apparaten in staat om informatie over een bepaald onderwerp naar een server (broker) te sturen (publiceren) die deze informatie vervolgens naar alle apparaten (abonnees) stuurt die dat onderwerp volgen.
Real-time analyse
De real-time mogelijkheden van MQTT maken het ideaal voor real-time analyse. Gegevens kunnen vanuit verschillende bronnen worden verzameld en vervolgens in realtime naar een analyse-engine worden gepusht.
Mobiele en webtoepassingen
MQTT wordt ook gebruikt in mobiele toepassingen om meldingen en updates te versturen en in webtoepassingen om webpagina's in realtime bij te werken.
Detectie en besturing op afstand
MQTT wordt gebruikt in remote sensing en besturingstoepassingen waarbij een sensor of controller moet communiceren met een server op afstand. De lichte aard van het protocol en de mogelijkheid om over onbetrouwbare netwerken te werken maken het ideaal voor deze toepassingen.
Conclusie
MQTT is een krachtig protocol dat is ontworpen voor lichtgewicht gegevensoverdracht. Door zijn kenmerken is het ideaal voor gebruik in omgevingen met beperkte bandbreedte en vermogen, zoals IoT- en M2M-communicatie. Naarmate meer apparaten met elkaar verbonden worden, zal het gebruik van efficiënte en betrouwbare protocollen zoals MQTT blijven groeien.