Inhoudsopgave
SchakelMQTT (Message Queuing Telemetry Transport) is een client-server-protocol voor het verzenden en ontvangen van berichten (publish/subscribe) dat lichtgewicht, open, eenvoudig, overzichtelijk van opzet en gemakkelijk te implementeren is. Hoewel HTTP de toonaangevende standaard is voor webpagina's, is het traditionele verzoek-antwoordmodel (Request/Response) niet langer geschikt voor grootschalige communicatie tussen machines (Machine-to-Machine, M2M) en wordt het vervangen door de publiceren-abonneren-modus (Publish/Subscribe). Daarom is MQTT nu al een onmisbaar standaardprotocol voor het Internet of Things.


Dankzij de kenmerken van MQTT is het protocol bij uitstek geschikt voor gebruik in tal van situaties, waaronder omgevingen met beperkte middelen, zoals machine-to-machine (M2M) en Internet of Things (IoT)-omgevingen.
Het protocol draait via TCP/IP of andere netwerkprotocollen die geordende, verliesvrije, bidirectionele verbindingen bieden. Het biedt onder meer de volgende functies:
– Gebruik het publish/subscribe-berichtenmodel om berichten één-op-veel te verspreiden en applicaties van elkaar te ontkoppelen.
– Het transport van berichten is onafhankelijk van de inhoud van de payload.
– Drie kenmerken van de dienstverlening op het gebied van berichtenverkeer:
- “Hooguit één keer”: berichten worden op basis van de bedrijfsomgeving naar beste vermogen verzonden. Er kan berichtverlies optreden. Dit niveau kan bijvoorbeeld worden gebruikt voor gegevens van omgevingssensoren, waarbij het niet uitmaakt of een afzonderlijke meting verloren gaat, omdat de volgende meting al snel wordt verzonden.
- “Ten minste één keer” zorgt ervoor dat het bericht aankomt, maar er kan dubbele verzending optreden.
- “Precies één keer” zorgt ervoor dat het bericht precies één keer wordt afgeleverd. Dit niveau kan bijvoorbeeld worden gebruikt in een factureringssysteem, waar dubbele of ontbrekende berichten kunnen leiden tot onjuiste afrekeningen.
– De overdrachtsoverhead en het wisselen van protocollen tot een minimum beperken, waardoor het netwerkverkeer wordt verminderd.
– Een mechanisme om de betrokken partijen op de hoogte te stellen wanneer de verbinding op abnormale wijze wordt verbroken.
klant:
Bij een programma of apparaat dat gebruikmaakt van MQTT brengt de client altijd een netwerkverbinding tot stand met de server, die
- Plaats nieuws over de aanvraag dat mogelijk interessant is voor andere klanten.
- Abonneer je op de berichten van de aanvragende applicatie die je graag wilt ontvangen.
- Meld je af om verzoeken om app-meldingen te verwijderen.
- Maak de verbinding met de server los.
server:
Een programma of apparaat dat fungeert als tussenpersoon tussen clients die applicatieberichten publiceren en clients die zich daarop hebben geabonneerd: een server
- Netwerkverbindingen van clients accepteren.
- Verwerkt applicatieberichten die door de client worden gepubliceerd.
- Verwerkt verzoeken van klanten om zich aan te melden of af te melden.
- Stuur berichten door die overeenkomen met het abonnement van de klant.
Bericht van de applicatie:
Met het MQTT-protocol kunnen applicaties gegevens via netwerken uitwisselen. Wanneer MQTT applicatieberichten verzendt, zijn deze gekoppeld aan een bepaalde kwaliteit van dienstverlening en aan onderwerpsnamen.
abonnement:
Abonnementen omvatten onderwerpfilters en een maximale QoS. Abonnementen zijn gekoppeld aan één sessie. Een sessie kan meerdere abonnementen bevatten. Elk abonnement binnen een sessie heeft een ander onderwerpfilter.
Sessie:
Interactie met statusbeheer tussen client en server. Sommige sessies duren slechts zolang de netwerkverbinding standhoudt, terwijl andere sessies zich kunnen uitstrekken over meerdere opeenvolgende netwerkverbindingen tussen de client en de server.
Onderwerpnaam:
Label dat wordt toegekend aan applicatieberichten die overeenkomen met abonnementen die bij de server bekend zijn. De server stuurt een kopie van het applicatiebericht naar elke client met een overeenkomend abonnement.
Onderwerpfiltering:
Een uitdrukking in een abonnement waarmee interesse in een of meer onderwerpen wordt aangegeven. Onderwerpfilters kunnen jokertekens bevatten.
MQTT-besturingspakket:
Een informatiepakket dat via een netwerkverbinding wordt verzonden. De MQTT-specificatie definieert 14 verschillende soorten controlepakketten, waarvan er één (het ‘publish’-pakket) wordt gebruikt om applicatieberichten te verzenden.