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
Microsoft Gaming-baas Phil Spencer en Xbox-president Sarah Bond vertrekken
Huis

Microsoft Gaming-baas Phil Spencer en Xbox-president Sarah Bond vertrekken

Microsoft Gaming-ceo Phil Spencer en Xbox-directeur Sarah Bond vertrekken bij het Amerikaanse bedrijf.

Dat hebben verschillende media vernomen, en Spencer zelf heeft het inmiddels ook bevestigd via social media. Daarbij publiceerde IGN ook interne e-mails van Microsoft's ceo Satya Nadella, de te vertrekken Spencer en de nieuwe Microsoft Gaming-ceo Asha Sharma en Matt Booty.

Naar verwachting vertrekt Spencer, die bijna veertig jaar bij Microsoft werkzaam was, aanstaande maandag. Xbox-president Sarah Bond - waarvan voorheen werd gedacht dat ze Spencer uiteindelijk zou vervangen - gaat ook weg. Asha Sharma is op dit moment nog de president van Microsofts CoreAI en gaat dus Microsoft Gaming bestieren. Matt Booty, het hoofd van Xbox Game Studios, wordt gepromoot naar chief content officer en zal nauw samenwerken met Sharma.

"Afgelopen najaar deelde ik met Satya dat ik nadacht over mijn vertrek en het beginnen aan het volgende hoofdstuk van mijn leven", zo stelt Spencer in zijn e-mail. "Vanaf dat moment gingen we aan de slag met onze aanpak, met het oog op het behoud van stabiliteit en het versterken van de fundering die we hebben gebouwd. Xbox is altijd meer dan een bedrijf geweest. Het is een levendige gemeenschap bestaande uit spelers, makers en teams die erg veel geven om wat we bouwen en hoe we dat doen. Het verdient een goed doordacht plan voor de toekomst."

"Ik wil Phil bedanken voor zijn uitzonderlijke leiderschap en samenwerking", aldus Nadella in zijn e-mail naar werknemers. "In meer dan 38 jaar bij Microsoft, waaronder 12 jaar aan het hoofd van de gamedivisie, heeft Phil geholpen met het transformeren van wat we doen en hoe we dat doen."

View post on X

De nieuwe Microsoft Gaming-ceo aan het woord

Sharma, de nieuwe ceo van Microsoft Gaming, meldt in haar e-mail: "Mijn eerste taak is simpel: begrijpen hoe dit werkt en het vervolgens beschermen. Dat begint bij drie verplichtingen. Ten eerste geweldige games - daar begint alles mee. We moeten geweldige games hebben die door onze spelers geliefd worden." Vervolgens vertelt Sharma over het belang van onvergetelijke personages, de macht geven aan ontwikkelstudio's en iconische franchises.

"Ten tweede: de terugkeer van Xbox. We verbinden ons opnieuw aan onze trouwe Xbox-fans en -spelers, die de afgelopen 25 jaar in ons hebben geïnvesteerd, en de ontwikkelaars waar we de uitgebreide universa en ervaringen die onze spelers wereldwijd omarmen mee hebben gebouwd. We zullen onze afkomst eren met een vernieuwde inzet voor Xbox, te beginnen bij de console, die heeft gevormd wie we zijn." Sharma benadrukt daarbij dat games tegenwoordig op meerdere apparaten te vinden zijn, en spreekt uit dat Microsoft zich niet wil limiteren aan één apparaat. "Terwijl we uitbreiden op pc, mobiel en cloud, moet Xbox naadloos, onmiddellijk en waardig voor de gemeenschappen die we serveren voelen."

Het derde punt van Sharma is "de toekomst van spelen. We nemen de heruitvinding van spelen waar. Daarom zullen we investeren in nieuwe zakenmodellen en nieuwe manieren om te spelen door gebruik te maken van wat we al hebben: iconische teams, personages en werelden waar mensen van houden. Maar we zullen die werelden niet behandelen als statische IP om uit te melken en geld uit te onttrekken. We bouwen een gedeeld platform en gereedschappen die ontwikkelaars en spelers de macht geven om hun eigen verhalen te creëren en delen."

Over Spencer en de staat van Xbox

Phil Spencer werd in 2014 hoofd van Xbox, toen hij de opdracht had Xbox One van een gebrekkige release het jaar ervoor te redden. Tijdens die consolegeneratie werd onder andere het populaire Xbox Game Pass gelanceerd. Dankzij onder andere die service en zijn veelvuldige interviews werd hij al snel populair onder gamers.

Na de Xbox Series X en S-release in 2020 begon de mening over Spencer om te slaan, vooral gevoed door de veranderingen rondom Xbox als merk. Sinds enkele jaren komen de spellen van Xbox-ontwikkelaar zelfs vaak ook op andere platforms uit - bijvoorbeeld op PlayStation 5 en Nintendo Switch. Tegelijkertijd loopt de verkoop van de huidige Xbox Series X en S-consoles flink terug. Spencer zelf verscheen de afgelopen jaren steeds minder vaak in interviews, en ook de vele ontslagrondes en studiosluitingen binnen de Xbox-divisie zorgden voor reputatieschade.

Tegelijkertijd werden onder Spencers leiding grote aankopen als Bethesda en Activision Blizzard gedaan, bekend van gamefranchises als The Elder Scrolls, Fallout en Call of Duty.

Microsoft heeft eerder laten weten aan een nieuwe console te werken, die de grenzen tussen consoles en pc moet vervagen. Voor zover bekend wordt dit een apparaat die in feite pc-games af gaat spelen, alsmede Xbox-games, en waarop verschillende digitale pc-winkels bereikbaar zullen zijn - en dus niet alleen die van Microsoft zelf.

Het vertrek van twee belangrijke kopstukken binnen Microsofts gamedivisie is opvallend, zeker in combinatie met het feit dat de gametak van het bedrijf schijnbaar in een transitieperiode zit. Ook het feit dat de nieuwe ceo van Microsoft Gaming van CoreAI afkomt, houdt de gemoederen onder gamers bezig. Microsoft zet groots in op kunstmatige intelligentie, maar onder gamers heerst vooral onvrede over de invloed die AI tegenwoordig heeft op hun hobby. Sharma benadrukte in haar interne e-mail echter dat Xbox zich niet gaat richten op "zielloze AI-slop".

▼ Volgende artikel
Het geheugen van je computer: dit is het verschil tussen DDR4 en DDR5
© Ayo man | Law of God
Huis

Het geheugen van je computer: dit is het verschil tussen DDR4 en DDR5

Toen je je laptop kocht, keek je waarschijnlijk vooral naar de processor, de grafische chip en hoeveel GB werkgeheugen erin zit. Of dat werkgeheugen DDR4 of DDR5 is, is voor de meeste mensen geen doorslaggevende factor. Toch is het wel handig om te weten wat de verschillen zijn tussen DDR4, dat je vooral in oudere laptops tegenkomt, en DDR5, dat bij nieuwe modellen meestal de standaard is. DDR5 kan per seconde meer data verwerken dan DDR4. Wat dat verschil betekent en wanneer extra gigabytes meer opleveren dan de stap naar DDR5, lees je in dit artikel.

In dit artikel

je leest wat DDR4 en DDR5 precies van elkaar onderscheidt, wanneer je dat verschil in snelheid en energieverbruik echt merkt en waarom het voordeel van DDR5 ten opzichte van DDR4 bij gamen vaak beperkt blijft. Ook leggen we uit waarom DDR4 niet automatisch meer de goedkope keuze is, waarom je DDR4 en DDR5 niet kunt uitwisselen en wat dat betekent voor upgraden bij laptops en desktops. Tot slot lees je hoe je op Windows en Mac snel checkt of je meer RAM nodig hebt.

Lees ook: RAM(p)-scenario: waarom tech in 2026 duurder wordt

De techniek achter DDR4 en DDR5

Het grootste verschil tussen DDR4 en DDR5 zit in de datasnelheid en bandbreedte. Zie het als een digitale weg: DDR4 is een prima route waar het verkeer netjes doorrijdt, DDR5 is een bredere snelweg waar per seconde meer data overheen kan. Daardoor hoeft de processor bij zware taken waarbij veel data heen en weer gaat (denk bijvoorbeeld aan videobewerking) minder vaak te wachten op nieuwe informatie. Let wel: die extra 'rijstroken' leveren pas winst op als je processor, grafische chip en software er ook echt gebruik van maken. Bij lichte taken, zoals browsen en tekstverwerken, is werkgeheugenbandbreedte zelden de bottleneck. Gaat dat langzaam, dan heeft dat eerder te maken met de processor, opslag, of de browser.

DDR5 kan ook helpen met het energieverbruik, omdat het op een lagere spanning werkt: 1,1 volt in plaats van 1,2 volt bij DDR4. In een laptop kan dat iets schelen, al hangt het effect af van wat je doet en hoe de rest van het systeem is opgebouwd. Daarnaast zit bij DDR5 een deel van de stroomregeling op de geheugenmodule zelf. Dat kan de stroomvoorziening stabieler maken, maar het maakt de module ook wat complexer om te produceren.

Wat biedt DDR5 in de praktijk?

DDR5 komt vooral tot zijn recht bij taken die veel werkgeheugenbandbreedte vragen, zoals 8K videobewerking of complexe simulaties. Daarbij blijft de processor (en soms de GPU) meestal de doorslaggevende factor: die bepaalt of je systeem zo'n klus überhaupt vlot aankan. DDR5 kan helpen om wachttijd te verminderen, maar het maakt een trage CPU niet ineens snel. Een ander voordeel is dat je per module hoge capaciteiten kunt halen. Voor zware desktop-werkstations zijn systemen met 256 GB aan werkgeheugen inmiddels realiteit. Bij laptops ligt die grens doorgaans lager, vaak rond de 128 GB, omdat ze meestal minder geheugenslots hebben. Bovendien is het werkgeheugen bij veel modellen vastgesoldeerd, waardoor je later niet kunt uitbreiden.

©Batorskaya Larisa

DDR5 voor gamers: nodig of niet?

Voor gamers blijft het voordeel van DDR5 vaak beperkt. In veel games gaat het om een klein verschil, en op 1440p of 4K zie je dat meestal nog minder terug omdat je dan eerder tegen de grens van de videokaart aanloopt dan tegen die van het werkgeheugen. Ook hier geldt: de keuze voor CPU en vooral GPU bepaalt je gameprestaties veel sterker dan de stap van DDR4 naar DDR5. Dat verschil tussen DDR4 en DDR5 is onderzocht in een vergelijkingstest van de gezaghebbende site Tom's Hardware. Daarbij ging het bijvoorbeeld om 3% verschil in gameprestaties in Assassin's Creed Valhalla, 2% in Far Cry 6, Tom Clancy's Ghost Recon Breakpoint, Watch Dogs: Legion en Borderlands 3, en 1% in Shadow of the Tomb Raider en Wolfenstein: Youngblood.

©Crystal Dynamics

Het verschil tussen RAM en opslag

Veel mensen halen werkgeheugen (RAM) en opslaggeheugen (SSD of HDD) door elkaar, terwijl ze iets heel anders doen: RAM is het korte-termijngeheugen waarin de gegevens staan van programma's die je nú gebruikt, waardoor je met meer RAM makkelijker en sneller tussen meerdere apps schakelt, maar zodra je de computer uitzet is dit geheugen weer leeg. Opslaggeheugen is juist het lange-termijngeheugen waarop je foto's, documenten en andere bestanden blijven staan, ook als er geen stroom is.

Is een laptop met DDR4 nog goed genoeg?

Ja, voor de meeste Nederlanders is een laptop met DDR4 nog steeds goed genoeg. Gebruik je hem vooral voor internetten, Netflix kijken, Microsoft Office en af en toe een simpele fotobewerking, dan merk je in de praktijk nauwelijks verschil tussen DDR4 en DDR5. Bij laptops is DDR4 of DDR5 bovendien vaak geen losse keuze: het hangt samen met de generatie processor die in het model zit.

DDR5 kan wel voordeel geven bij zwaardere taken waarbij de computer grote hoeveelheden data tegelijk moet verwerken, maar dat wordt pas echt interessant als je met zware programma's werkt, of als je games zo soepel mogelijk wilt laten lopen - ervan uitgaande dat je CPU en GPU die werklast ook aankunnen. Denk aan situaties waarin je merkt dat je laptop moeite heeft om alles bij te houden, ook al staat de beeldkwaliteit niet eens extreem hoog. In veel situaties blijft het verschil klein. Belangrijker is vaak de hoeveelheid werkgeheugen: 16 GB voelt meestal merkbaar fijner dan 8 GB, ongeacht of het DDR4 of DDR5 is.

DDR4 is niet meer vanzelfsprekend goedkoop

Lange tijd was DDR4 de slimme, goedkope keuze als je vooral op de prijs lette: het verschil met DDR5 was groot. Door de huidige tekorten klopt dat beeld minder. DDR4-geheugen is flink duurder geworden; in sommige gevallen is de prijs zelfs meer dan verdubbeld. DDR5 is ook duurder geworden, maar omdat de productie van DDR4 wordt afgebouwd, kan DDR4 relatief harder in prijs oplopen. Daardoor ligt DDR4 in veel gevallen dichter tegen DDR5 aan dan je zou verwachten. Wie nu een nieuw systeem koopt, is met DDR4 vaak nog steeds het minst kwijt, alleen is 'goedkoop' bij werkgeheugen momenteel een rekbaar begrip.

©ronstik

Upgraden: wat wel en niet kan

DDR4 en DDR5 zijn nooit onderling uitwisselbaar, ook niet in een desktop. De inkeping zit op een andere plek en het platform moet het juiste type werkgeheugen ondersteunen. Je kunt dus geen DDR5 plaatsen in een systeem dat voor DDR4 is gemaakt, en andersom ook niet.

Bij laptops betekent dit meestal dat als je wilt overstappen op DDR5 je een nieuwe laptop zult moeten kopen. Veel laptops hebben namelijk geen uitbreidbaar werkgeheugen meer: de geheugenchips zitten voor ruimte- en kostenbesparing op het moederbord gesoldeerd, en bij sommige ontwerpen zelfs in hetzelfde pakket als de processor. Dan kun je later niets meer bijprikken. Dat is ook precies waarom DDR4 vs DDR5 bij laptops zelden de hoofdvraag is: je kiest een model, en daar hoort dit type geheugen bij.

Bij een desktop heb je vaak meer speelruimte, maar ook daar is het geen kwestie van alleen de geheugenmodules wisselen. Wil je van DDR4 naar DDR5, dan heb je een moederbord nodig dat DDR5 ondersteunt, en vaak ook een processor die bij dat moederbord past. Heb je vooral te weinig werkgeheugen (bijvoorbeeld 8 of 16 GB) en merk je dat je pc daardoor traag wordt, dan is extra DDR4 bijplaatsen meestal de goedkoopste verbetering. Pas als je toch al toe bent aan een grotere upgrade van je pc, wordt de stap naar DDR5 logisch.

Wanneer moet je echt upgraden?

Echt upgraden is pas zinvol als je merkt dat je huidige machine niet meer probleemloos werkt bij zware klussen zoals grote fotobestanden bewerken, video's monteren of veel dingen tegelijk doen. Heb je nu een laptop met 16 GB of 32 GB DDR4 die nog vlot werkt? Blijf die dan vooral gebruiken zolang de prijzen zo hoog liggen. Twijfel je, kijk dan eerst wat de oorzaak van de mindere prestaties is: zit je werkgeheugen tegen zijn limiet, of zijn het vooral je processor of GPU die de klus niet bijbenen?

Zo controleer je of je extra RAM nodig hebt

Voordat je besluit om een flinke investering te doen in een nieuw systeem of extra geheugen, is het slim om te kijken hoe je huidige computer presteert onder druk. Je kunt dit eenvoudig zelf testen op zowel Windows als Mac.

Windows

Open eerst de programma's die je normaal gesproken tegelijk gebruikt, zoals je browser met veel tabbladen, Word en een videocall. Druk daarna op Ctrl + Shift + Esc om Taakbeheer te openen. Ga naar het tabblad Prestaties en klik op Geheugen. Kijk vervolgens naar de grafiek en het percentage dat in gebruik is: blijft dat langere tijd rond de 80 tot 90 procent hangen terwijl je gewoon je dagelijkse werk doet, dan zit je tegen de grens van je werkgeheugen aan. Dat merk je vaak aan kleine haperingen, zoals tabbladen die trager laden of apps die later reageren. Zie je tegelijk dat je pc veel met de schijf bezig is, bijvoorbeeld omdat programma's ineens langzamer worden terwijl je opslaglampje blijft knipperen, dan is de kans groot dat Windows tijdelijk data op de SSD parkeert omdat het werkgeheugen volloopt.

Apple

Open je gebruikelijke programma's en druk daarna op Command + Spatiebalk. Typ Activiteitenweergave en druk op enter. Klik bovenin op het tabblad Geheugen en kijk onderaan naar de grafiek bij Geheugendruk. Is die groen, dan is er niets aan de hand. Wordt de grafiek geel of rood, dan heeft je Mac meer geheugen nodig om alles vlot te blijven draaien. Let ook op Gebruikte swap: als dat oploopt tot meerdere gigabytes, dan is je werkgeheugen in de praktijk te krap.