MQTT in een notedop

MQTT (Message Queuing Telemetry Transport) is een slank, eventgebaseerd protocol dat in de publish/subscribe-architectuur wordt toegepast en een efficiënt alternatief is voor het conventionele client/server-model.

In een MQTT-netwerk publiceren (publish) of abonneren (subscribe) clients zoals schakelaars, temperatuursensoren of Touch Panels, berichten onder specifieke topics. Een broker (server) zorgt hierbij als centrale instantie voor een naadloze communicatie en een veilige uitwisseling van gegevens.

Dankzij het compacte berichtformaat en de op gebeurtenissen gebaseerde communicatie, waarvoor geen continue gegevensoverdracht vereist is, heeft MQTT weinig bandbreedte en geheugen nodig. Hierdoor is MQTT ideaal voor gebruik in IoT-toepassingen waarbij weinig hulpbronnen beschikbaar zijn.

MQTT begrijpen

Overzicht van de belangrijkste begrippen en functies

De MQTT-clients

Elk apparaat met een MQTT-bibliotheek kan als MQTT-client in het netwerk worden geïntegreerd. De clients gedragen zich hierbij afhankelijk van de functie: sensoren publiceren alleen hun toestand (publish), smartphones daarentegen zijn meestal abonnees (subscriber) en geven de werkelijke toestand van verbruikers of gebouwsegmenten uit. Bedieningseenheden of besturingen zijn eveneens clients, die echter zowel abonneren (subscribe) als publiceren (publish) en zodoende besturend in het MQTT-netwerk kunnen optreden.

De MQTT-broker

De communicatie binnen een MQTT-netwerk vindt via de zogenoemde MQTT-broker plaats. Hierbij gaat het om een Edge Device of een server die de berichten en de communicatie van de MQTT-clients sorteert en coördineert. De broker dient als centrale beheerder en verdeler van berichten tussen de apparaten. In tegenstelling tot een klassieke client/server-architectuur communiceren de apparaten binnen een MQTT-netwerk dus niet rechtstreeks met elkaar.

Nieuws en topics

MQTT-berichten worden door de clients naar de broker verstuurd. Deze hebben bijzonder weinig geheugen nodig – een van de sterke punten van het protocol. Naast de gegevens (payload) wordt ook het onderwerp (topic) gepubliceerd. De broker filtert de berichten op onderwerp en stuurt deze door naar alle geabonneerde clients.

Onderwerpen kunnen in MQTT hiërarchisch georganiseerd en door middel van schuine strepen (/) gestructureerd worden. Een temperatuursensor in een vergaderruimte kan bijvoorbeeld een bericht met het onderwerp gebouwA/vergadering1/temperatuur publiceren.