ID.nl logo
Zekerheid & gemak

Alles over het internet-of-things-protocol MQTT

De naam MQTT zal niet bij veel mensen een belletje doen rinkelen, maar het internet-of-things-protocol vormt de basis van talloze systemen in domotica. We kijken naar de werking van dit protocol en de verschillende manieren waarop je het kunt inzetten.

Het internet der dingen (internet of things, IoT) is de laatste jaren een hype, maar de meest gebruikte technologie om al die apparaten met elkaar te laten praten bestaat al twintig jaar: MQTT (Message Queuing Telemetry Transport). De eerste versie van het MQTT-protocol werd namelijk al in 1999 geschreven door Andy Stanford-Clark van IBM en Arlen Nipper van Arcom (later Eurotech).

Hun bedoeling was om een licht protocol te ontwikkelen dat met een efficiënt gebruik van bandbreedte allerlei soorten gegevens kon doorsturen met verschillende vormen van quality of service (QoS). En laat dat nu net een combinatie van eigenschappen zijn die essentieel is in het internet of things. Het mag dan ook niet verbazen dat talloze IoT-projecten ervoor gekozen hebben om onder de motorkap MQTT te gebruiken. Overigens toonde MQTT-uitvinder Stanford-Clark in 2009 de mogelijkheden al door zijn domoticasysteem via MQTT met Twitter te verbinden.

Centrale tussenpartij

Een cruciale rol in MQTT is weggelegd de ‘broker’, een centrale tussenpartij die de communicatie tussen zenders en ontvangers in goede banen leidt. In traditioneler taalgebruik zouden we het de server noemen. De broker is niet de enige afwijkende term die het MQTT-protocol gebruikt: een zender heet er uitgever (‘publisher’) en een ontvanger abonnee (‘subscriber’). Beide zijn vormen van clients. Uiteraard kan een client ook zowel zenden als ontvangen.

De broker zorgt ervoor dat uitgevers en abonnees niet van elkaars bestaan hoeven te weten: alles verloopt via de broker. Dat gaat als volgt: de broker beheert onderwerpen (‘topics’) met inhoud (‘payloads’). Een abonnee die in een onderwerp geïnteresseerd is, abonneert zich daarop bij de broker. Een uitgever die een boodschap wil sturen, publiceert zijn inhoud op een specifiek onderwerp door dit naar de broker te sturen. Zodra de broker een boodschap voor een onderwerp ontvangt, stuurt hij die door naar alle clients die op dit onderwerp geabonneerd zijn.

Hiërarchische onderwerpen

Een onderwerp kunnen we dus beschouwen als een soort locatie waarvan de naam bij uitgever en abonnee bekend is. Maar om hier wat systematiek in te brengen, definieert MQTT de onderwerpen als hiërarchische namen, gescheiden door een slash (/), zoals in url’s. Elke toepassing is voor de rest volledig vrij in de keuze van de namen; in tegenstelling tot url’s zijn er dus geen vastgelegde topdomeinen.

Wil je wat orde in je MQTT-netwerk houden, dan is het aan te raden om een systeem voor je onderwerpen te gebruiken. Een domoticatoepassing als Home Assistant doet dat door de onderwerpen van de volgende vorm te maken:

<discovery_prefix>/<component>/[<node_id>/]<object_id>/&lt;&gt;</object_id></node_id></component></discovery_prefix>

Daarbij is discovery_prefix standaard gelijk aan homeassistant. Component het type component, zoals binary_sensor enzovoort. Een voorbeeld van een onderwerp is:

homeassistant/sensor/slaapkamer_temperature/state

Dat bevat als inhoud de temperatuur van een temperatuursensor in de slaapkamer, bijvoorbeeld 18.7.

Wildcards

MQTT kent ook ‘wildcards’ voor onderwerpen. Een client die in alle onderwerpen onder homeassistant/sensor/slaapkamer_temperature geïnteresseerd is, abonneert zich dan op:

homeassistant/sensor/slaapkamer_temperature/#

Hij krijgt dan ook boodschappen over de onderwerpen:

homeassistant/sensor/slaapkamer_temperature/last_updated
homeassistant/sensor/slaapkamer_temperature/last_changed

Enzovoort.En als een client in alle onderwerpen van Home Assistant geïnteresseerd is, abonneert hij zich op:

homeassistant/#

Soms ben je geïnteresseerd in alle onderwerpen met een specifieke naam van het onderste niveau, ongeacht het niveau erboven. Daarvoor gebruik je de wildcard +. Zo abonneer je je bijvoorbeeld eenvoudig op de boodschappen over de laatste veranderingen van alle sensoren in Home Assistant:

homeassistant/sensor/+/last_changed

De hiërarchische opbouw van onderwerpen maakt dit heel eenvoudig.

©PXimport

Verbinding en beveiliging

MQTT is ontworpen om over tcp/ip te draaien, meestal op poort 1883. Recentelijk is ook MQTT over WebSocket populair, omdat dit het mogelijk maakt om rechtstreeks in een webbrowser via MQTT te communiceren. Een JavaScript-client pakt de pakketten dan uit de WebSocket-laag uit en behandelt de MQTT-pakketten die erin zitten. MQTT over WebSocket verloopt meestal via poort 9001. Zowel MQTT over tcp/ip als MQTT over WebSocket zijn ook te gebruiken over een versleutelde verbinding, via tls.

Tot nu toe lijkt het alsof iedereen zomaar alle onderwerpen op je MQTT-broker kan uitlezen, en zo gebeurt het in veel lokale MQTT-installaties ook, maar de meeste MQTT-brokers bieden een gebruikersbeheer met bijbehorende authenticatie en gebruikersrechten. Je stelt dan in de configuratie van de broker in dat elke MQTT-client zich moet aanmelden met een gebruikersnaam en wachtwoord en lees- en schrijfrechten voor specifieke onderwerpen heeft. Zo voorkom je dat een willekeurige sensornode in je netwerk waarin iemand is ingebroken je hele domoticasysteem via MQTT kan aansturen.

Zelf aan de slag met MQTT

MQTT is in heel wat software ondersteund, dus je kunt het protocol zelf eenvoudig in je eigen projecten inzetten. Een eenvoudige manier om een Raspberry Pi, Arduino of ESP8266 via MQTT over internet te laten werken, is via de clouddienst Adafruit IO. Werk je liever in het ecosysteem van Amazon of Microsoft, gebruik dan AWS IoT respectievelijk Azure IoT Hub.

Je hoeft MQTT trouwens niet in de cloud te gebruiken: met het opensourceproject Eclipse Mosquitto, dat MQTT-protocols 3.1 en 3.1.1 ondersteunt, draai je eenvoudig een MQTT-broker op je eigen netwerk. Mosquitto komt ook met eenvoudige MQTT-clients voor op de opdrachtregel: mosquitto_pub en mosquitto_sub.

Wil je op een grafische manier MQTT-boodschappen doorzoeken, bekijken en publiceren, dan is MQTT Explorer een handig programma.

Wil je MQTT in je eigen programma’s gebruiken, dan is het project Eclipse Paho met bibliotheken in C, C++, Java, JavaScript, Python en Lua onmisbaar.

▼ Volgende artikel
Voordelig veilig:  30% cashback op producten van AVG
Zekerheid & gemak

Voordelig veilig: 30% cashback op producten van AVG

Een link die nét echt lijkt, een download met verborgen rommel, een datalek bij een webshop waar je jaren geleden iets kocht… het gebeurt dagelijks en vaak zonder dat je het meteen doorhebt. Goede beveiliging voorkomt een hoop gedoe, maar hoeft gelukkig geen grote uitgave te zijn. Via CashbackXL kun je nu tot 30% geld terug krijgen op alle producten van AVG!

De beveiligingspakketten van AVG richten zich op wat je dagelijks online tegenkomt: verdachte downloads, slimme phishingtrucs, datalekken en trackers die ongemerkt informatie verzamelen. AVG Internet Security scant continu op ransomware, spyware en andere digitale dreigingen. De AI-technologie herkent nieuwe risico's vroegtijdig, terwijl links, downloads en bijlagen automatisch worden gecontroleerd. De firewall houdt indringers buiten, je webcam blijft afgesloten voor onbekende apps en bij online betalen voorkomt een extra controlelaag dat je op een nepsite belandt.

Wie meer wil doen met privacy en prestaties, vindt in AVG Ultimate een complete oplossing. De versleutelde VPN-verbinding beschermt je netwerkverkeer op zowel thuis- als openbare wifi. TuneUp houdt laptops en telefoons soepel door achtergebleven bestanden op te ruimen en software bij te werken. AntiTrack verkleint je digitale voetafdruk door minder gegevens prijs te geven aan adverteerders en websites.

Daarbuiten zijn er losse tools voor wie gericht één risico wil aanpakken. AVG Secure VPN richt zich op anonimiteit en veilige verbindingen. AVG AntiTrack helpt je identiteit te verbergen voor trackers. BreachGuard controleert of je gegevens in datalekken opduiken en ondersteunt bij het verwijderen van die informatie. AVG TuneUp zorgt dat laptops en telefoons soepel blijven draaien door achtergebleven bestanden op te ruimen, software bij te werken en opstartprocessen te stroomlijnen

🚨 Denk je nu: dat wil ik? Dan is dit hét moment. Want met de 
AVG-actie op CashbackXL krijg je een maar liefst 30% van je aankoopbedrag teruggestort op je rekening!

Zo werkt de AVG-cashback

Ga op CashbackXL naar de AVG-actie en klik linksboven op Shop & ontvang cashback. Voeg pas daarna de producten die je wilt aanschaffen toe aan de winkelwagen; dat is enorm belangrijk voor de tracking. Controleer dat alle cookies zijn toegestaan (ook bij de webshop waar je winkelt) en dat je geen ad-blocker gebruikt. Voer daarna je betaling uit. De cashback wordt binnen enkele uren bevestigd en staat na ongeveer twee maanden klaar voor uitbetaling. Houd er rekening mee dat het dus eventjes duurt voordat je het geld terugkrijgt. Belangrijk om te weten: je ontvangt cashback over de orderwaarde excl. btw, verzendkosten en eventuele toeslagen. En uiteraard krijg je alleen cashback op betaalde producten van AVG – maar dat is logisch natuurlijk!

💡 Tip!

De vergoedingen van AVG willen nog wel eens veranderen en zijn erg specifiek. 
Wil je zeker weten of je op jouw bestelling cashback ontvangt? Stuur dan even een email naar info@cashbackxl.nl

Waarom je CashbackXL kunt vertrouwen

CashbackXL is de grootste cashback-site van Nederland. De site registreert 97 procent van alle aankopen succesvol en scoort op Kiyoh een klantwaardering van een 9,0. Je ontvangt je uitbetaling maandelijks, krijgt de hoogste cashback-percentages en kunt terecht bij een toegankelijke klantenservice.

Geld terug op elke AVG-aankoop?

Het kan met deze actie van CashbackXL!
▼ Volgende artikel
Black Friday Week bij Expert: zeven elektronica-deals die je niet wilt missen
Huis

Black Friday Week bij Expert: zeven elektronica-deals die je niet wilt missen

Het is Black Friday Week bij Expert. In de winkels én online vind je hoge kortingen op televisies, laptops, wasmachines, drogers, e-readers en slimme apparaten. Dit is dus hét moment om toe te slaan. Hieronder zetten we zeven producten in de spotlight – en je ziet meteen welke korting je krijgt!

Partnerbijdrage - in samenwerking met Expert

LG 55QNED86A6A 55-inch: 4K QNED EVO-televisie

De LG 55QNED86A6A combineert QNED EVO-technologie met een 55-inch 4K-scherm voor helder beeld en nauwkeurige kleuren. De α8 AI Processor 4K optimaliseert beeld en geluid automatisch, terwijl HDR10 en HLG zorgen voor een breed dynamisch bereik. Dankzij WebOS 25 schakel je snel tussen apps, en met vier HDMI 2.1-poorten sluit je moeiteloos consoles of streamingapparaten aan. Een complete smart-tv voor films, series en gaming.

💡LG 55QNED86A6A: van 849 euro voor 675 euro

Samsung WW11DG6B25LB: grote en zuinige wasmachine

De Samsung WW11DG6B25LB heeft een ruime trommel van 11 kilo en centrifugeert met 1400 toeren. EcoBubble wast grondig op lage temperatuur en Hygiënisch Stomen verwijdert bacteriën en allergenen. Met SuperSpeed is een volle trommel in 39 minuten schoon. Het AI Display leert welke programma's je het meest gebruikt en zet die vooraan. Bovendien is het met een energieklasse van A -10% ook nog eens een zuinige wasmachine.

💡Samsung WW11DG6B25LB: van 819 euro voor 566 euro

Beko BM3T3823W: energiezuinige warmtepompdroger

De Beko BM3T3823W is een energiezuinige warmtepompdroger met een capaciteit van 8 kilo. Dankzij EcoGentle blijven kleuren mooi, terwijl het AquaWave-systeem zorgt voor een zachte trommelbeweging die slijtage beperkt. De vijftien programma's bieden opties voor uiteenlopende stoffen, van katoen tot fijne was. Het overzichtelijke LED-display toont de resterende tijd en maakt elke instelling eenvoudig.

💡Beko BM3T3823W: van 519 euro voor 433 euro

Het is Black Friday Week bij Expert! Profiteer deze week van onweerstaanbare Black Friday Deals op al je favoriete televisies, wasmachines, drogers, laptops, e-readers en nog veel meer! Naast de Black Friday Deals op deze pagina zijn er nog veel meer. Allemaal zien? Ga naar https://www.expert.nl/black-friday voor alle deals!

Inventum VVW6008AB: vrijstaande vaatwasser

De Inventum VVW6008AB is een praktische vrijstaande vaatwasser met ruimte voor twaalf couverts. Met een hoogte van 85 centimeter past hij onder de meeste aanrechtbladen. De indeling is overzichtelijk en de bestekmand houdt messen, vorken en lepels bij elkaar zodat alles goed schoon wordt. Een nuchtere, stille vaatwasser die ontworpen is voor dagelijks gebruik.

💡Inventum VVW6008AB: van 379 euro voor 299 euro

Acer Aspire Go 15 (AG15-42P-R6QL): allround laptop

De Acer Aspire Go 15 combineert een slank ontwerp met sterke prestaties. De AMD Ryzen 7 5825U-processor en 16 GB RAM zorgen voor soepele multitasking, terwijl de 512 GB SSD voor snelle opstarttijden zorgt. Het 15,6-inch Full HD IPS-scherm levert scherpe beelden en AMD Radeon Graphics zorgt voor verbeterde grafische prestaties. Een lichte, veelzijdige laptop voor thuis, studie en onderweg.

💡Acer Aspire Go 15 (AG15-42P-R6QL): van 599 euro voor 499 euro

Eufy Video Doorbell E340 + Chime: slimme deurbel

De Eufy Video Doorbell E340 toont wie er voor je deur staat in scherpe 1080p- of 1536p-modus. Dankzij de draadloze installatie heb je geen bedrading nodig. Via de Eufy-app bekijk je livebeelden en meldingen op je smartphone. De meegeleverde Chime zorgt dat je het signaal ook zonder telefoon hoort. Een eenvoudige manier om je huis slimmer en veiliger te maken.

💡Eufy Video Doorbell E340 + Chime: van 199 euro voor 119 euro

Kobo Libra Colour (zwart): e-reader met kleurenscherm

De Kobo Libra Colour heeft een 7-inch E Ink Kaleido 3-scherm dat omslagen, illustraties en notities in kleur weergeeft. De e-reader is waterbestendig (IPX8) en biedt 32 GB opslag voor duizenden boeken. ComfortLight PRO vermindert automatisch blauw licht voor prettig lezen. Wie met de Kobo Stylus 2 werkt (optioneel), kan notities en markeringen in kleur maken. Ideaal voor lezen thuis en onderweg.

💡Kobo Libra Colour (zwart): van 239 euro voor 209 euro

Over Expert

Expert is in 2025 voor de achtste keer uitgeroepen tot Beste Winkelketen in de elektronica-branche. De formule staat al jaren bekend als dé klantgerichte vakspeciaalzaak in home-elektronica, met een aanbod van betrouwbare merken en scherpe aanbiedingen. Bestel je online, dan koop je altijd bij een van de 141 lokale Expert-winkels in je eigen regio. Die persoonlijke aanpak zorgt voor goed advies en een service die past bij jouw situatie. Je kunt dus kiezen: bestel via de webshop of bezoek een van de 141 winkels verspreid door Nederland.
Alle Expert Black Friday-deals zien? Ga dan naar https://www.expert.nl/black-friday!