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
Review Dyson V8 Cyclone – Betrouwbaar basismodel doet wat-ie moet doen
© Wesley Akkerman
Huis

Review Dyson V8 Cyclone – Betrouwbaar basismodel doet wat-ie moet doen

Met een prijskaartje van 399 euro is de Dyson V8 Cyclone een van de meest betaalbare draadloze steelstofzuigers van het Britse merk. Je haalt hiervoor een redelijk compacte maar krachtige huishoudhulp in huis, die een aantal duidelijke kanttekeningen heeft.

Goed
Conclusie

De Dyson V8 Cyclone is een geslaagde steelstofzuiger voor wie krachtige prestaties zoekt zonder overbodige luxe. Vooral op tapijt en bekleding komt hij sterk naar voren, en ook het verwijderen van haren gaat hem goed af. Het harde, smalle handvat en de wat stugge vloermond voelen niet altijd even prettig aan, maar dat past deels bij de prijsklasse. Jammer is ook het ontbreken van een lcd-display met handige informatie, al is dat net als het gebrek aan een automatische zuigstand goed te overzien. Alles bij elkaar is dit een betrouwbaar basismodel dat doet wat hij moet doen.

Plus- en minpunten
  • Krachtig zuigsysteem
  • Lekker wendbaar
  • Prima batterijduur
  • Handig opvang- en leegsysteem
  • Twee knoppen voor de bediening
  • Verrassend compleet
  • Voelt soms wat basaal
  • Handvat is niet comfortabel
  • Nieuwe vloermond tikt hard op de grond
  • Geen lcd-display
  • Zelf van zuigstand wisselen

De Dyson V8 heeft een nieuw ontwerp gekregen. Weg is de trekker die je constant moet indrukken om het apparaat te laten zuigen. In plaats daarvan beschikt hij voortaan over een handige aan-uitknop. Daarnaast zit een moduswisselaar, die met verschillende kleuren aangeeft welke zuigstand je gebruikt. Opvallend is ook dat Dyson voor de V8 Cyclone geen spannende kleuren voor de plastic onderdelen gebruikt. In plaats daarvan zien we een combinatie van kaki, rood, grijs en zwart; het geheel valt daardoor minder op.

©Wesley Akkerman

De nieuwe Dyson V8 Cyclone

De nieuwe V8 levert 30 procent meer zuigkracht en een 50 procent langere accuduur. In de laagste zuigstand houdt hij het tot 60 minuten vol. Helaas ontbreekt een handig lcd-scherm (dat wel op duurdere modellen zit) voor de resterende accutijd; ook hier moet je het doen met iets te simpele led-indicators. Onderop zit een nieuwe vloerzuigmond, die Dyson de 'Motorbar' noemt. Die moet dankzij het gebruik van speciale kammetjes effectief zijn tegen vastzittende haren, maar de stofzuiger moet het verder ook zonder moderne functies doen zoals lasers of stofsensoren.

Met slechts 2,7 kilogram is de Dyson V8 Cyclone lekker licht en wendbaar, waardoor je moeiteloos vloeren en zelfs hoekjes op het plafond schoonhoudt. Het stofreservoir (540 milliliter) heeft een handig uitwerpsysteem waarbij je het vuil niet hoeft aan te raken. Toch zijn we niet helemaal tevreden over alle eigenschappen van de zuigmodule. Het handvat is namelijk smal en klein, waardoor je grip bij langer gebruik oncomfortabel is. Ook kan het bij je duim gaan schuren. Dit is waarschijnlijk de minst ergonomische Dyson die we op de redactie hebben getest.

©Wesley Akkerman

Dyson V8 Cyclone in de praktijk

Gelukkig biedt de Dyson V8 Cyclone met 297 air-watts in de Boost-stand een flinke verbetering in zuigkracht (ten opzichte van zijn voorganger). De standaardmodus levert 79 aW en dat is voor ons ruim voldoende voor dagelijkse taken. Vooral het vloerkleed moet eraan geloven: haren, kruimels en ander vuil worden daar moeiteloos uit gezogen. Op hardere vloeren stelt de Cyclone eveneens niet teleur, al valt er wel één ding op. Wanneer je de stofzuiger oppakt nadat je bijvoorbeeld wat kruimels of korrels opzuigt, kan het zijn dat er een paar uit de mond vallen.

Daarnaast missen we een zachte(re) borstel op de Dyson V8 Cyclone. De huidige zuigmond ratelt namelijk hard over de vloer, wat niet zo prettig is voor (onder)buren in een flat- of appartementsgebouw of slapende kinderen. En dat terwijl de motor zelf stiller is dan verwacht. Gelukkig neemt de zuigmond moeiteloos allerlei soorten haren op en raken die niet in de borstel verstrengeld. Ook goed om te weten: de Cyclone past zijn zuigkracht niet automatisch aan, zoals duurdere modellen dat wel doen, waardoor je dat dus zelf in de gaten moet houden. Geen groot probleem, maar toch.

©Wesley Akkerman

Batterij en accessoires

Zoals gezegd gaat de batterij maximaal een uurtje mee wanneer je de zuinigste modus inschakelt. Anders moet je rekening houden met ongeveer een halfuur in de normale stand. Zet je de Boost-modus aan en laat je die aanstaan, dan is het binnen tien minuten wel gedaan. Geen vreemde scores als je kijkt naar het formaat en de behoorlijk indrukwekkende zuigkracht. Een groot pluspunt is daarnaast dat je de accu kunt verwisselen. Daardoor kun je de levensduur aanzienlijk verlengen door mettertijd een nieuwe batterij aan te schaffen.

Je krijgt trouwens twee accessoires bij aanschaf van de Dyson de V8 Cyclone: een kierenzuiger en een gemotoriseerde miniborstel. Hoewel dat misschien wat karig lijkt vergeleken met eerdere modellen, zijn oude V8-hulpstukken compatibel (mocht je die nog hebben). In de praktijk blijkt de basisset echter compleet genoeg. De kierenzuiger werkt goed voor meubels en lastige hoeken, terwijl de miniborstel onmisbaar is voor trappen, matrassen en bekleding. Ondanks het beperkte pakket biedt de stofzuiger dus voldoende opties voor de meeste huishoudens.

©Wesley Akkerman

Dyson V8 Cyclone kopen?

De Dyson V8 Cyclone is een geslaagde steelstofzuiger voor wie krachtige prestaties zoekt zonder overbodige luxe. Vooral op tapijt en bekleding komt hij sterk naar voren, en ook het verwijderen van haren gaat hem goed af. Het harde, smalle handvat en de wat stugge vloermond voelen niet altijd even prettig aan, maar dat past deels bij de prijsklasse. Jammer is ook het ontbreken van een lcd-display met handige informatie, al is dat net als het gebrek aan een automatische zuigstand goed te overzien. Alles bij elkaar is dit een betrouwbaar basismodel dat doet wat hij moet doen.

▼ Volgende artikel
Last van hoge energiekosten in de winter? Zo laat je je was en vaat zuiniger draaien
© ID.nl
Huis

Last van hoge energiekosten in de winter? Zo laat je je was en vaat zuiniger draaien

In de winter loopt de energierekening al snel op. De droger gaat vaker aan omdat de was buiten niet droogt, en omdat we vaker thuis koken en eten gaat ook de vaatwasser vaker aan. Ook de wasmachine draait op volle toeren, want nat weer en dikke kleding leveren extra was op. Hét moment dus om even stil te staan bij het energieverbruik van deze drie apparaten. Met wat kleine aanpassingen zorg je voor een zichtbaar (gunstig!) verschil op je stroomrekening.

In het kort

In dit artikel lees je hoe je met eenvoudige ingrepen energie bespaart bij het wassen, drogen en afwassen. We kijken naar slimme instellingen, zuinige programma's en klein onderhoud waarmee je het energieverbruik omlaag brengt.

Lees ook: 5 stille wasmachines met zuinig label

Slim plannen loont

Wie een slimme meter of dynamisch energietarief heeft, kan precies zien wanneer stroom het goedkoopst is. Door het programma van je wasmachine, droger of vaatwasser daarop af te stemmen, draai je letterlijk op de voordeligste momenten. Veel moderne apparaten hebben een startuitstelknop, waarmee je eenvoudig plant dat een was 's nachts of vroeg in de ochtend klaar is.

Heb je geen dynamisch contract, dan is het slim om eerst te kijken of jouw leverancier een piek- en daltarief hanteert. Bij een dubbeltariefmeter geldt het lagere tarief meestal alleen tussen ongeveer 23.00 en 07.00 uur, niet standaard in het weekend. Even checken bij je energieleverancier voorkomt verrassingen.

Gebruik van nachtstroom

Heb je een dubbeltariefmeter, dan betaal je tijdens de daluren vaak minder. Handig om te weten, maar houd rekening met geluid als je apparaten laat draaien terwijl je slaapt. Sluit de deur van het washok of gebruik het stille programma als dat aanwezig is.

Wassen op lagere temperatuur

De grootste energiebesparing zit in de temperatuur van het waswater. Een was van 30 graden is meestal voldoende schoon, zeker met de huidige wasmiddelen die ook bij lage temperatuur goed werken. Alleen bij sterk vervuilde was of handdoeken kan een hogere stand nodig zijn. Een wasbeurt op 60 graden of af en toe een machinereiniger houdt de trommel fris en voorkomt vetluis - een kookwas op 90 graden is bij moderne machines niet meer nodig.

Een andere eenvoudige stap is de wasmachine pas te laten draaien als hij goed vol is. Een halve was verbruikt bijna evenveel energie als een volle: zonde. Ook de juiste dosering helpt: te veel wasmiddel kan op den duur zeepresten achterlaten, waardoor de machine harder moet werken.

Droger of droogrek?

De droger is een onmisbare hulp in de winter, maar verbruikt veel stroom. Centrifugeer je was daarom eerst op de hoogste stand, zodat er minder vocht overblijft. Hoe droger het de trommel ingaat, hoe korter het droogprogramma duurt. Warmtepompdrogers verbruiken het minst stroom, al bespaar je nog meer door de was af en toe op te hangen. In een goed geventileerde kamer, bijvoorbeeld bij de verwarming, droogt het prima zonder dat je ernaar hoeft om te kijken.

Zuiniger én veiliger

Reinig na elke droogbeurt het pluizenfilter en controleer het rooster aan de achterkant. Ophoping van stof belemmert de luchtstroom, waardoor het apparaat langer draait en warmer wordt. Dat verhoogt niet alleen het energieverbruik, maar ook het risico op oververhitting.

Liever niet de wasdroger gebruiken?

Ga voor een droogrek!

De vaatwasser slim inzetten

Een vaatwasser verbruikt vooral energie om water te verwarmen. Kies daarom het eco-programma: dat duurt wat langer, maar gebruikt minder stroom en water doordat het water op lagere temperatuur wordt verwarmd. Grote etensresten kun je beter even wegschrapen, maar spoel servies niet voor onder de kraan - dat is onnodig en verspilt warm water. Licht aangekoekte pannen en schalen vormen voor moderne vaatwassers echt geen probleem.

Wie zonnepanelen heeft, kan de vaatwasser het beste overdag laten draaien, zodat de stroom direct uit eigen opwekking komt. Ook hier geldt dat een startuitstelknop handig is: je plant eenvoudig in dat het programma start zodra de zon op het dak staat.

Onderhoud maakt echt verschil

Goed onderhoud klinkt saai, maar heeft een direct effect op het energieverbruik. Een verstopt filter, kalk in de sproeiarmen of pluis in de droger laten apparaten harder werken dan nodig. Zet ze af en toe op een onderhoudsprogramma of gebruik een speciale reiniger. Dat voorkomt niet alleen geurtjes, maar zorgt ook dat de machine weer zo goed (lees: zo zuinig) mogelijk zijn werk kan doen.

Kleine aanpassingen, harde euro's

Energie besparen is vooral een optelsom van gewoontes. Door slimmer te plannen, de juiste temperatuur te kiezen en je apparaten schoon te houden, daalt het verbruik ongemerkt. En misschien nog belangrijker: je verlengt de levensduur van apparaten die het dagelijks zwaar te verduren hebben. Daarmee bespaar je ook op de langere termijn.