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
AOC lanceert betaalbare 420Hz-gamingmonitor voor competitieve spelers
© AGON by AOC | KateStudio/Shutterstock
Huis

AOC lanceert betaalbare 420Hz-gamingmonitor voor competitieve spelers

AOC brengt met de Gaming 25G4KUR een monitor op de markt die volledig is afgestemd op competitieve gamers. Het 24,5-inch scherm haalt een verversingssnelheid tot 420 Hz en biedt snelle reactietijden, Adaptive-Sync en ergonomische instelmogelijkheden.

Supersnel beeld voor competitieve spelers

De AOC Gaming 25G4KUR (adviesprijs 259 euro) is bedoeld voor wie elke milliseconde telt. Dankzij een overklokte verversingssnelheid van 420 Hz (400 Hz standaard) en een responstijd tot 0,3 milliseconde reageert het scherm vrijwel direct op elke actie. Dat maakt hem geschikt voor snelle shooters, esports-toernooien en spelers die vloeiende bewegingen en minimale vertraging willen.

Het 24,5-inch formaat is populair onder professionele esports-spelers, omdat het speelveld overzichtelijk blijft zonder dat de ogen veel hoeven te bewegen. De Full HD-resolutie zorgt ervoor dat hoge framerates haalbaar zijn, zelfs met een middenklasse grafische kaart.

©AGON by AOC

Heldere kleuren en vloeiende beelden

De 25G4KUR gebruikt een Fast IPS-paneel met brede kijkhoeken en een kleurdekking van 121 procent sRGB. Het scherm is compatibel met NVIDIA G-SYNC. Adaptive-Sync, zorgt ervoor dat beelden vloeiend blijven zonder haperingen of tearing. DisplayHDR 400 biedt bovendien een iets hoger contrast en betere helderheid dan standaard SDR-monitoren.

Ontworpen voor urenlang gamen

AOC rust de monitor uit met functies die lange gamesessies comfortabeler moeten maken. De flicker-free achtergrondverlichting en blauwlichtreductie verminderen vermoeide ogen, terwijl de ergonomische standaard in hoogte verstelbaar is en kantel-, draai- en rotatiefuncties heeft. Via AOC's G-Menu-software kunnen spelers profielen aanmaken, instellingen aanpassen en de Low Input Lag-modus activeren.

MiniLED-monitor in januari

In januari 2026 brengt AOC nog een nieuw model uit: de Gaming U27G4XM. Deze 27-inch 4K-monitor gebruikt MiniLED-technologie met 1152 local dimming-zones en heeft een DisplayHDR 1000-certificering. Dankzij de hoge helderheid (1200 nits) en het diepe contrast biedt hij beeldkwaliteit die dicht in de buurt komt van OLED, maar zonder risico op inbranden. De U27G4XM krijgt een adviesprijs van 449 euro.

▼ Volgende artikel
Shoppen zonder zorgen tijdens het feestdagenseizoen
© Zivica Kerkez | KerkezPhotography.com
Zekerheid & gemak

Shoppen zonder zorgen tijdens het feestdagenseizoen

Black Friday, Sinterklaas en kerst: juist nu zoeken we online massaal naar cadeaus en goede deals. Criminelen liften daarop mee. Door de snelle ontwikkeling van AI lijken nepwebwinkels, bezorgingsmails en misleidende aanbiedingen overtuigender dan ooit. Dit kun je doen om veilig te blijven.

Partnerbijdrage - in samenwerking met Bitdefender

Hoe criminelen inspelen op het feestdagenseizoen

In deze weken draait veel om gemak en tempo. Dat geeft cybercriminelen speelruimte. Ze bouwen webshops die nauwelijks te onderscheiden zijn van echte winkelketens en sturen meldingen over betalingen of zendingen die eruitzien alsof ze direct van een pakketdienst komen. Dankzij AI zijn die berichten foutloos, strak vormgegeven en arriveren ze precies op het moment waarop jij druk bent met bestellen.

Dit kun je zelf doen

Veilig shoppen heb je voor een groot deel zelf in de hand. Met een paar simpele checks kom je al een heel eind.

❗Kijk naar het webadres en let op namen die nét anders gespeld zijn of vreemde toevoegingen bevatten. Goed om te weten: een slotje en https betekenen alleen dat de verbinding versleuteld is, niet dat de winkel betrouwbaar is.
❗Staan er keurmerken op de site, bijvoorbeeld van Thuiswinkel Waarborg of Webshop Keurmerk? Klik daar dan op. Als ze echt zijn, word je doorgeleid naar de site van het keurmerk en zie je het certificaat dat aan de webwinkel is afgegeven.
❗Heb je je bestelling geplaatst en is het tijd om te betalen? Doe dat dan bij voorkeur via iDEAL of een creditcard met kopersbescherming, zodat je bij problemen sterker staat. Ontvang je een link in een mail of sms die verwijst naar een betaalpagina of inlogscherm? Ga dan zelf naar de website via je browser of de officiële app. Zo voorkom je dat je ongemerkt op een nagemaakte site terechtkomt.

Pakketfraude neemt rond december sterk toe

In december stijgt het aantal pakketstatusmeldingen en dat weten criminelen. Ze sturen berichten over gemiste bezorgingen, adresproblemen of extra kosten. Deze meldingen lijken vaak afkomstig van PostNL, DHL of DPD, maar sturen je in werkelijkheid naar een pagina waar je gegevens worden buitgemaakt. Wat deze vorm van fraude sterk maakt, is het moment waarop ze binnenkomen: precies als je zelf meerdere pakketten verwacht. Gebruik daarom altijd de officiële app van de pakketdienst om te zien of er echt iets speelt. Een bezorgdienst vraagt nooit via sms om betalingen of persoonlijke gegevens.

©ID.nl

Het kan altijd veiliger

Met de hierboven beschreven checks kun je al veel problemen voorkomen, maar dan nog kan het fout gaan. Bitdefender helpt door juist op de momenten waarop je zelf iets over het hoofd kunt zien mee te kijken.

Twijfels? Meteen scannen met Scamio

Wanneer je twijfelt over een link, QR-code of bericht kan Scamio uitkomst bieden, een gratis tool van Bitdefender. Je plakt een link of tekst in de chat of uploadt een screenshot van een mail of bericht. Scamio analyseert de inhoud en geeft een beoordeling in drie kleuren: rood (onveilig), oranje (verdacht) of groen (geen risico gevonden).

Je hebt alleen een Bitdefender-account nodig. Daarna kun je Scamio gebruiken via de web-app, WhatsApp, Facebook Messenger of Discord. Op de achtergrond vergelijkt de tool links met bekende scam-databases, analyseert hij de opbouw van websites en ontleedt hij QR-codes voordat jij ze hoeft te scannen. Dankzij zelflerende algoritmes blijft Scamio actueel, ook wanneer criminelen nieuwe trucs inzetten.

Zo beschermt Bitdefender je tijdens het shoppen

Naast Scamio biedt Bitdefender Premium Security een breed pakket aan bescherming. Het beveiligt Windows-, macOS-, Android- en iOS-apparaten tegen virussen, malware, ransomware en cryptomining. De e-mailbeveiliging herkent misleidende berichten en houdt verdachte bijlagen tegen. Functies voor het opsporen van oplichting signaleren gedrag dat past bij fraude, zoals nagemaakte betaalpagina's of nepaanbiedingen.

Scam Copilot kijkt realtime mee terwijl je shopt en waarschuwt wanneer een website, aanbieding of link niet klopt. Voor privacy biedt Premium Security een Password Manager, onbeperkt VPN-verkeer en een advertentieblokker met anti-tracker. Voor je identiteit monitort Bitdefender datalekken en laat het direct weten wanneer jouw gegevens opduiken.

©Bitdefender

Fijne – veilige! – feestdagen

Met een paar kleine handelingen kun je er zelf al voor zorgen dat je zo veilig mogelijk online shopt. Bitdefender voegt daar een slimme laag aan toe die zich aanpast aan de nieuwste trucs van criminelen. Zo blijf je zorgeloos shoppen, van de eerste Black Friday-deal totdat het laatste cadeau onder de boom ligt!