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
Streamtips: nieuwe films en series – Monarch: Legacy of Monsters, Paradise en Lord of the Rings: The War of the Rohirrim
Huis

Streamtips: nieuwe films en series – Monarch: Legacy of Monsters, Paradise en Lord of the Rings: The War of the Rohirrim

Het is maandag en dat betekent dat er weer een gloednieuwe portie streamtips voor je klaarstaat! Of je nu zin hebt in piraten, thrillers of fantasy, er is voor ieder wat wils. Wij hebben de beste tips van het nieuwe aanbod voor je op een rij gezet, zodat je precies weet wat je deze week niet mag missen.

Paradise (seizoen 2) | Disney+ | 23 februari

De post-apocalyptische politieke thriller Paradise speelt zich af in een ondergrondse bunker ter grootte van een stad in Colorado, drie jaar na ‘doomsday’. De serie volgt Xavier Collins (Sterling K. Brown), een agent van de Amerikaanse geheime dienst, die wordt verdacht wordt van de dood van de president. Om zijn eigen naam te zuiveren en de waarheid te achterhalen, gaat hij op zoek naar antwoorden over wat er werkelijk is gebeurd. Sterling K. Brown is zoals altijd fantastisch en maakt Paradise eigenhandig het kijken waard.

Watch on YouTube

The Bluff | Amazon Prime Video | 25 februari

The Bluff speelt zich af in de late negentiende eeuw in de Caraïben. Ercell Bodden (Priyanka Chopra Jonas) heeft haar piratenleven achter zich gelaten en leidt een rustig gezinsleven op een afgelegen plek op de Kaaimaneilanden. Wanneer haar voormalige, moordlustige bemanning haar opspoort om gestolen goud terug te eisen onder leiding van de wraakzuchtige Captain Connor (Karl Urban), wordt ze genoodzaakt haar oude trukendoos tevoorschijn te halen om haar familie te beschermen.

Watch on YouTube

Bridgerton (seizoen 4 - deel 2) | Netflix | 26 februari

Het blijft een ietwat gekke trend, dat uitbrengen van nieuwe seizoenen in 'delen'. Enfin, de conclusie van Bridgerton seizoen 4 waltst deze week onze levens in. Het verhaal over Benedict en zijn relatie met de huishoudster Sophie, terwijl hij de mysterieuze 'Lady in Silver' eigenlijk ook zeer interessant vindt, wordt voortgezet. Zet je dus maar weer schrap voor een flinke dosis drama.

Watch on YouTube

Girl Taken (seizoen 1) | SkyShowtime | 26 februari

Tiener Lily (Tallulah Evans) loopt op een avond weg van huis en neemt een lift aan van haar ogenschijnlijk charmante leraar Rick Hansen (Alfie Allen). Hansen kidnapt haar en weet haar vijf jaar gevangen te houden. Haar moeder Eve (Jill Halfpenny) en tweelingzus Abby (Delphi Evans) zijn na een eindeloze zoektocht radeloos geworden. Geen zorgen, dat is geen spoiler, de serie richt zich namelijk vooral op de naweeën van Lily’s kidnapping en volgt haar terwijl ze moet leren omgaan met haar trauma’s en moet wennen aan een wereld die jarenlang zonder haar is doorgegaan.

Watch on YouTube

Monarch: Legacy of Monsters (seizoen 2) | Apple TV+ | 27 februari

Zeg nou even eerlijk: er is praktisch niets *cooler* dan een kaiju, toch? Dat snappen ze bij Apple TV dondersgoed, dus deze week kunnen we zowel de King of Monsters als zijn primatische aardsrivaal weer zien. Godzilla én Kong zijn van de partij in het tweede seizoen van Monarch: Legacy of Monsters, waarin ook Kurt Russell en zijn zoon Wyatt Russell terugkeren. De serie volgt mensen door de geschiedenis van onze wereld die te maken krijgen met de titanische monsters. Wie teleurgesteld was in de hoeveelheid schermtijd die de kaiju's in het eerste seizoen ontvingen kan gerust een klein sprongetje maken: de wezens komen in dit vervolg namelijk nog vaker aan bod. Als je het aantal kaiju verdubbeld, moet de schermtijd dat ook, niet? Dat is simpele wiskunde.

Watch on YouTube

The ‘Burbs (seizoen 1) | SkyShowtime | 27 februari

The ‘Burbs is een gemoderniseerde versie van de gelijknamige cultklassieker met Tom Hanks uit de jaren tachtig en speelt zich af in de idyllische buitenwijk Hinkley Hills. Een jong koppel Rob (Jack Whitehall) en Samira Fisher (Keke Palmer) verhuizen naar Robs ouderlijk huis. Hun rustige leven wordt al snel op zijn kop gezet wanneer een mysterieuze man intrekt in het huis aan de overkant van de straat. Tijdens haar zwangerschapsverlof, wanneer ze veel tijd alleen thuis doorbrengt, raakt Samira bevriend met een bont gezelschap excentrieke buren. Samen gaan ze op onderzoek uit en komen ze steeds dichter bij de duistere waarheden over hun buurman en hun stad. 

Watch on YouTube

Lord of the Rings: The War of the Rohirrim | Netflix | 28 februari

The War of the Rohirrim is gebaseerd op een van de appendices van The Lord of the Rings en speelt zich zo’n tweehonderd jaar voor de gebeurtenissen van de boeken af. De film volgt Héra, de dochter van de legendarische koning van Rohan, Helm Hammerhand. Een adellijke Dunlending biedt zijn zoon Wulf aan als huwelijkskandidaat voor Héra. Haar afwijzing leidt tot een gevecht tussen hem en Helm, dat onbedoeld uitmondt in een moord. Om zijn vader te wreken begint Wulf een oorlog en worden Helm, Héra en haar broers geforceerd hun koninkrijk te verdedigen. The War of the Rohirrim is een vermakelijke toevoeging aan de verfilmingen van Tolkiens werk en is voor Lord of the Rings-fans zeker het kijken waard, al is hij met een speeltijd van twee uur en een kwartier wel een tikkeltje aan de lange kant.

Watch on YouTube
▼ Volgende artikel
Waarom deze ETNA-koel-vriescombinatie de Best Reviewed 2025-award pakt
© ETNA
Huis

Waarom deze ETNA-koel-vriescombinatie de Best Reviewed 2025-award pakt

De ETNA KCV282NRVS is door consumenten verkozen tot Best Reviewed van het Jaar 2025 in de categorie koelkasten. Dat is met name te danken aan de combinatie van een gunstig energielabel D, de stille Inverter-compressor en de onderhoudsvrije No-Frost Plus-techniek. Bovendien is hij vooral prijstechnisch bijzonder interessant!

Partnerbijdrage - in samenwerking met ETNA

De zoektocht naar een nieuwe koelkast strandt vaak in een jungle van technische termen die in de praktijk weinig lijken te zeggen. Je vraagt je af of die beloofde stilte ook écht stil is als je 's avonds in de woonkamer zit, of dat je na een jaar alsnog handmatig ijs in de vriezer staat weg te bikken. Veel consumenten maken de fout om alleen op de specificaties te letten, terwijl de echte winst zit in de dagelijkse ervaring van rust en versheid. In dit artikel ontdek je waarom de ETNA KCV282NRVS alle twijfels wegneemt en als zeer betaalbare publiekslieveling uit de bus komt als Best Reviewed van het Jaar.

©ETNA

Je spullen in alle stilte vers

In de kern van deze koelkast draait een Inverter-compressor die (anders dan traditionele compressors) niet constant op vol vermogen aan- en uitschakelt. Je hoort dus geen luide klik gevolgd door een brommend geluid; de motor past zijn snelheid subtiel aan op de koelvraag. Dit resulteert in een stabiel geluidsniveau van slechts 36 dB, wat in een open keuken aanvoelt als een rustig achtergrondgeruis dat je eigenlijk nauwelijks opmerkt.

De MultiFlow 360°-technologie blaast via verschillende openingen koude lucht door de hele binnenruimte, waardoor elk plateau even koud aanvoelt. Een veelvoorkomend misverstand is dat dit soort ventilatie producten uitdroogt; door de nauwkeurige vochtbeheersing in de CrispZone-lade blijven je groenten juist opvallend stevig en fris. Wanneer je de deur opent, voel je direct de koude luchtstroom die zich snel herstelt zodra de deur weer in het rubber valt.

Ideale oplossing voor een compacte keuken

Wanneer je beschikt over een keuken waarin elke centimeter telt, is deze vrijstaande koelkast een uitstekende keuze. Met een breedte van slechts 55 centimeter past de ETNA KCV282NRVS op plekken waar standaardmodellen van 60 centimeter simpelweg niet tussen de kastjes passen. De rvs-look afwerking geeft de ruimte direct een moderne uitstraling zonder dat je constant vingerafdrukken hoeft weg te poetsen. Oftewel: je kiest niet alleen voor koelcapaciteit, maar ook voor een apparaat dat fysiek minder ruimte inneemt terwijl de binnenruimte verrassend groot aanvoelt. De heldere ledverlichting zorgt ervoor dat je zelfs achterin op de bovenste plank nog precies ziet wat je in huis hebt, en dat draagt natuurlijk bij aan een overzichtelijk huishouden.

©ETNA

Is dit jouw nieuwe koelkast?

Om te bepalen of dit de juiste winnaar voor jou is, moet je eerst goed naar je eigen gebruik kijken. Gebruikers prijzen de 'open lade' boven in de vriezer, waar je bijvoorbeeld direct drie broden kunt neerleggen zonder met een lade te hoeven worstelen. Wil je de koelkast in een krappe ruimte plaatsen waar hij precies past? Meet de nis dan van tevoren nauwkeurig op en houd rekening met een paar centimeter ventilatieruimte; een koelkast die zijn warmte niet kwijt kan, verbruikt namelijk direct meer stroom.

Kijk ook naar je favoriete producten. De deurindeling is slim, maar grote 2-literflessen vragen om een specifieke indeling van de plateaus. Als je rust in huis belangrijker vindt dan smart-functies of een display op de deur, dan sluit dit model helemaal aan bij jouw behoeften.

Kortom: een terechte Best Reviewed-winnaar

De ETNA KCV282NRVS wint de Best Reviewed 2025-award omdat hij volgens gebruikers uitblinkt in stilte en gebruiksgemak voor een eerlijke prijs. Door de combinatie van No-Frost Plus en een slimme indeling hoef je nooit meer te ontdooien en blijft de koelkast ondanks de beperkte breedte van 55 cm van binnen opvallend ruim.

Consumenten op Kieskeurig.nl waarderen de degelijke rvs-look en de Inverter-compressor die trillingen en lawaai tot een minimum beperkt. Dit model is de ideale keuze voor wie een betrouwbare, onderhoudsvrije koel-vriescombinatie zoekt die moeiteloos in een compacte keuken past.