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
'Fake Friday' bij Coolblue: de PlayStation 5 voor een waanzinnig lage prijs!
Huis

'Fake Friday' bij Coolblue: de PlayStation 5 voor een waanzinnig lage prijs!

Dit is het moment waar gamers en binge-kijkers heel 2025 stiekem op hebben gewacht. Niet Black Friday zelf, maar de vrijdag ervóór, door Coolblue vanaf nu omgedoopt tot 'Fake Friday'. De PlayStation 5 gaat nu voor tijdelijk voor slechts 349 euro over de digitale toonbank. Wees er snel bij, want op is op!

Partnerbijdrage - in samenwerking met Coolblue

De PS5 is inmiddels stevig ingeburgerd. De console combineert snelle laadtijden met stabiele 4K-weergave en een controller die zo nauwkeurig reageert dat games tastbaarder aanvoelen dan op oudere systemen. Ook als streamingapparaat doet hij het trouwens uitstekend: apps openen snel, films draaien zonder haperingen. Nou ja, dat wist je natuurlijk allemaal al, maar we bevestigen nog maar even waarom je dit apparaat ook alweer in huis wilt hebben.

©PlayStation

Fake Friday trapt het feest al af

De vraag naar de PS5 was lange tijd groter dan het aanbod, waardoor de prijs stevig bleef. Nu de markt eindelijk is afgekoeld, ontstaat er ruimte voor een actie die verder gaat dan een symbolische korting. Coolblue gebruikt Fake Friday om die ruimte maximaal te benutten, zodat je niet hoeft te wachten op Black Friday zelf om al een scherpe deal te pakken.

Coolblue biedt een aantal PlayStation 5-bundels aan die duidelijk onder de gebruikelijke adviesprijzen liggen. De PlayStation 5 Slim Digital Edition + FC 26-bundel is daarom nu tijdelijk verkrijgbaar voor 349 euro.

Wie liever fysieke schijfjes gebruikt, kiest voor de PlayStation 5 Slim Disc Edition + FC 26-bundel, die deze periode geprijsd is op 449 euro. Beide bundels bevatten dezelfde compacte console en de volledige game FC 26, waardoor je direct kunt beginnen zonder aanvullende aankopen.

©PlayStation

Je ontvangt de game FC 26 helemaal gratis bij deze bundel.

Voor wie een upgrade nu wél logisch is

Deze Fake Friday-deal is niet alleen interessant voor early adopters, maar vooral voor iedereen die de afgelopen jaren bewust heeft gewacht op een betere prijs. Voor spelers die merken dat hun oude console moeite krijgt met nieuwe titels, voor gezinnen die hun thuissentertainment willen upgraden, of voor kopers die op zoek zijn naar een écht lekker cadeau voor de feestdagen.

Andere interessante deals

Mocht je geen voetballiefhebber zijn en is de game FC 26 daarom niet interessant voor jou, dan kun je ook voor andere bundels kiezen. Een PlayStation 5 Slim Digital Edition met een extra controller (zodat je dus meteen met z'n tweeën kunt gamen) kost nu bijvoorbeeld slechts 409 euro. Heb je liever de uitvoering waarin je fysieke games speelt: de PlayStation 5 Slim Disc Edition met een tweede controller heb je nu al in huis voor 499. Of wat dacht je van een extreem krachtige PlayStation Pro Digital Editionvoor 699 euro?

Check alle andere geweldige PlayStation 5-deals bij Coolblue hieronder!

PS5 voor een ultralage prijs?

Check dan snel alle aanbiedingen bij Coolblue!
▼ Volgende artikel
Waar voor je geld: 5 grote LED-tv's voor minder dan 600 euro
© ID.nl
Huis

Waar voor je geld: 5 grote LED-tv's voor minder dan 600 euro

Bij ID.nl zijn we gek op producten voor een mooie prijs of die iets extra's of bijzonders te bieden hebben. Daarom gaan we een paar keer per week voor jullie op zoek naar leuke deals. Dit keer kijken we naar 55 inch smart-tv's voor minder dan 600 euro.

Op zoek naar een grote(re) televisie? Dan is een 55 inch-model een goede keuze, niet al te groot maar toch voldoende voor de gemiddelde woonkamer. Het zijn modellen van Samsung, Philips, Hisense en LG die uiteraard allemaal een 4K‑beeldresolutie bieden. Hieronder lees je per toestel wat je kunt verwachten van de techniek, de aansluitingen en de slimme functies, zonder dat er een oordeel wordt geveld.

Samsung QE55Q68D - QLED

De Samsung QE55Q68D is een 55‑inch tv uit 2024 die werkt met QLED‑technologie en een 4K‑resolutie. Volgens de specificaties beschikt het toestel over Quantum Dot‑kleurweergave, waarbij een miljard kleurtinten worden getoond. De televisie heeft drie HDMI‑aansluitingen en twee USB‑poorten, waardoor je meerdere apparaten tegelijk kunt aansluiten. De 50 Hz‑paneelverversing en de 4K‑AI‑upscaler zorgen ervoor dat beelden die niet in 4K beschikbaar zijn toch naar een hogere resolutie worden opgewaardeerd.

In het slimme Tizen‑besturingssysteem vind je apps zoals Netflix en YouTube en dankzij spraakbesturing via Bixby of Google Assistant kun je de tv bedienen zonder afstandsbediening. Het relatief platte ontwerp maakt het toestel geschikt voor wandmontage. Het apparaat ondersteunt HDR‑formaten zoals HDR10+ en HLG, wat hogere contrasten mogelijk maakt. Wie gameconsoles aansluit, heeft een lage input‑latency door de Game Mode. De ingebouwde luidsprekers leveren basismogelijkheden, maar het toestel kan geluid uitsturen via een optische aansluiting naar een externe soundbar.

Philips The One 55PUS8909/12 - LED

Philips noemt de 55PUS8909/12 “The One” omdat het toestel een allround-tv is. Het 55‑inch LED‑scherm heeft een 4K‑resolutie en ondersteunt verschillende HDR‑formaten, zoals HDR10+, Dolby Vision en HLG. Volgens de specificaties kan het scherm een variabele verversingssnelheid tussen 48 en 144 Hz aan, waardoor het beeld vloeiend blijft bij sport of games. De televisie gebruikt het Philips Pixel Precise Ultra HD‑beeldverwerkings­systeem en beschikt over drie HDMI‑2.1‑poorten die geschikt zijn voor gameconsoles en eARC‑audio.

Een kenmerk van veel Philips‑tv’s is Ambilight: leds aan de achterkant projecteren licht op de muur voor extra sfeer. Het apparaat draait op Titan OS, een nieuw smartplatform waarop je streaming‑apps en live‑televisie kunt combineren. Voor geluid gebruikt Philips twee luidsprekers met ondersteuning voor Dolby Atmos; via HDMI eARC kun je een soundbar aansluiten voor meer vermogen. Dankzij ondersteuning voor variabele refresh‑rates en lage input‑lag is de tv geschikt om te gamen. De televisie heeft ingebouwde wifi en Bluetooth zodat je draadloos content kunt delen vanaf je smartphone of tablet.

Philips 55PUS7609/12 - LED

De Philips 55PUS7609/12 uit 2024 biedt een 55‑inch 4K‑LED‑scherm. Het toestel gebruikt de Pixel Precise Ultra HD‑processor om standaardbeelden op te schalen naar hogere resolutie. Volgens de specificaties ondersteunt het toestel HDR10+ en Dolby Vision voor betere kleuren en contrasten. Met drie HDMI‑2.1‑poorten en twee USB‑poorten kun je eenvoudig consoles, een mediaspeler of een harde schijf aansluiten. Philips levert deze tv met Titan OS, een platform waarop streamingdiensten, apps en tv‑zenders overzichtelijk bij elkaar staan. De Audio uit het apparaat komt uit twee luidsprekers en wordt aangevuld met Dolby Atmos‑technologie.

Via HDMI eARC of de optische uitgang kun je het geluid naar een externe soundbar sturen. Voor gamers is de variabele refresh‑rate en lage input‑lag interessant; dat helpt om snelle beeldwisselingen vloeiend te houden. De tv heeft ingebouwde wifi en Bluetooth zodat je draadloos verbinding kunt maken met internet of accessoires. Tot slot is er ondersteuning voor spraakbesturing via Google Assistant. Het ontwerp is relatief dun, waardoor de tv goed past op een kast of aan de muur.

Hisense 55U6NQ - Mini‑LED

Hisense combineert in de 55U6NQ mini‑LED‑achtergrondverlichting met quantum‑dot‑technologie. Het 55‑inch scherm bevat meer dan zestig dimming‑zones en heeft een piekhelderheid tot 600 nits. Deze techniek zorgt voor diepe zwarttinten en een hoog contrast. De tv ondersteunt meerdere HDR‑formaten, waaronder Dolby Vision, HDR10+ en HLG. Voor het geluid is er Dolby Atmos‑ondersteuning zodat je omgevingsgeluid ervaart via de ingebouwde luidsprekers. De AI‑chip zorgt voor dynamische toonmapping, ruisonderdrukking en upscaling van 2K naar 4K.

Dankzij Smooth Motion en AI Sports Mode blijven snelle beelden vloeiend, wat prettig is bij sportwedstrijden of actiefilms. De tv heeft drie HDMI‑ingangen en twee USB‑poorten en draait op het VIDAA U7.6‑besturingssysteem, waarop je apps zoals Netflix en YouTube kunt installeren. Ook zijn er ingebouwde wifi, Bluetooth en een LAN‑poort aanwezig voor netwerkaansluitingen. Het toestel kan via CI+ omgaan met digitale televisie en biedt een CI‑slot voor module. Met de eARC‑aansluiting stuur je het geluid naar een soundbar. De afmetingen met voet bedragen 123,2 × 78 × 31 cm en het gewicht is ongeveer 13 kg.

LG 55UR78006LK - LED

De LG 55UR78006LK is een 55‑inch Ultra‑HD‑televisie uit 2023. Dit model gebruikt direct‑LED‑achtergrondverlichting en een resolutie van 3840 × 2160 pixels. Binnenin werkt de α5 Gen6 AI‑processor 4K die beelden opschaalt en samen met de AI Brightness Control de helderheid aanpast aan het omgevingslicht. De tv ondersteunt HDR10 en HLG en gebruikt Active HDR voor dynamische contrastverbetering. Voor geluid zorgt AI Sound Pro voor virtuele 5.1‑kanaalsweergave en een totaal vermogen van 20 watt.

Het toestel draait op webOS met ThinQ‑technologie; dit geeft toegang tot streaming-apps en biedt spraakbesturing via Amazon Alexa. Er zijn drie HDMI‑2.0‑poorten met eARC‑ondersteuning en twee USB‑2.0‑poorten. Verder heeft de tv ingebouwde wifi en Bluetooth 5.0, waardoor draadloze streaming mogelijk is, en een ethernetpoort voor vaste verbinding. Voor tv‑ontvangst zijn tuners voor DVB‑T2, DVB‑C en DVB‑S2 aanwezig. Het toestel weegt ongeveer 14 kg zonder voet.