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
Waar moet je op letten bij het kiezen van een inbouwvriezer?
© MG | ID.nl
Huis

Waar moet je op letten bij het kiezen van een inbouwvriezer?

Wanneer je kiest voor een inbouwvriezer werk je deze natuurlijk het liefst netjes weg achter een mooie keukendeur. Je vindt ze in hoogtes van 72 tot 178 cm, maar ook als onderbouw diepvrieskast die onder je aanrechtblad passen. Waar moet je allemaal nog meer op letten bij een inbouwvriezer voordat je deze aanschaft?

Een inbouwvriezer biedt als voornaamste voordeel dat de kast mooi is weggewerkt in je keuken. Juist daarom is het belangrijk om vooraf goed op een aantal zaken te letten als je zo’n vriezer wilt kopen.

Formaten

Inbouwvriezers zijn te koop in een aantal vaste maten. Die maten zijn gestandaardiseerd, zodat het eenvoudig is om de juiste inbouwvriezer bij de juiste inbouwkast te kopen en andersom. De ruimte in een inbouwkeuken waar de inbouwvriezer komt, is ietsje groter dan de inbouwvriezer zelf. Logisch, omdat zo'n inbouwvriezer wel makkelijk geplaatst moet kunnen worden, maar er ook weer eenvoudig uit moet kunnen in geval van reparatie of vervanging.

Bij een inbouwvriezer kun je kiezen uit de volgende hoogtes: 72, 88, 102, 122, 140, 178 en 180 cm. De breedte van inbouwvriezers ligt doorgaans tussen de 54 en 56 cm, het is dus belangrijk dat de breedte van de nis hierop is afgestemd. De diepte van een inbouwvriezer kan ook iets variëren, maar 54,5 cm is doorgaans de gemiddelde diepte. Je kunt ook kiezen voor een ondervriezer; een losse kleinere kast van zo'n 80 cm hoog die past onder het aanrechtblad.

Bij de aanschaf van een inbouwvriezer of elke inbouwapparatuur vind je altijd de informatie over de grootte van de nis. De nis is de plek in de inbouwkeuken waarin de inbouwapparatuur wordt geplaatst. Deze informatie is dus erg belangrijk bij het kiezen voor de juiste inbouwvriezer en de gewenste keuken.

©MG | ID.nl

Scharnier- en deursystemen

Bij de aanschaf van een inbouwvriezer houd je rekening met het soort scharniersysteem dat je wil gebruiken. Er zijn twee soorten deursystemen: deur-op-deurscharnieren en sleepdeursystemen. Bij een deur-op-deursysteem wordt de deur van de keuken direct op de deur van de vriezer geplaatst en is er geen speling tussen beide deuren.

Bij een sleepsysteem wordt de vriezerdeur met een glijd- of sleepsysteem bevestigd aan de keukendeur. Hierdoor schuift de deur van de keuken over de koelkastdeur. De deuren bewegen dan afzonderlijk van elkaar. Zo'n systeem komt het vaakst voor en is ook het eenvoudigst te installeren.

Watch on YouTube

Bij een deur-op-deursysteem wordt het paneel van de keukendeur direct op de deur van de vriezer gemonteerd. Het keukenpaneel draait dus op hetzelfde moment als de vriezerdeur. Voor een deur-op-deursysteem heeft de vriezer andere scharnieren die het gewicht van zowel de deur van de vriezer als het keukenpaneel moeten kunnen dragen. Bij een inbouwvriezer die geschikt is voor een deur-op-deursysteem, wordt het buitenste gedeelte van de vriezerdeur los geleverd.

Ventilatie

Een vriezer produceert aan de achterzijde warmte. Deze warmte moet goed kunnen worden afgevoerd en dat kan alleen als de nis waar de inbouwvriezer in wordt geplaatst, voldoende ruimte aan de achterkant heeft. De achterkant van de nis houd je vanzelfsprekend open en moet aan de achterkant tussen de muur en de vriezer minstens 10 centimeter vrijgehouden worden. Bij sommige inbouwvriezers krijg je aparte spacers mee die je op de achterkant van de vriezer kunt monteren om de juiste afstand te behouden, zodat je de vriezer ook niet te ver richting muur kunt plaatsen.

©MG | ID.nl

Geluidsdemping

Het geluid van een inbouwvriezer kan soms als storend worden ervaren. Dit geluid bestaat doorgaans uit twee componenten: luchtgeluid, zoals het brommen van de compressor, en contactgeluid, veroorzaakt door trillingen die via het meubel kunnen worden doorgegeven. Zowel vrijstaande- als inbouwmodellen kunnen hier last van hebben, maar met wat aanpassingen kun je het geluid reduceren. Zorg voor voldoende ventilatieruimte rondom de vriezer. Ga je gebruik maken van geluidsabsorberende materialen , houd er dan rekening mee dat deze warmte vasthouden.

Om luchtgeluid te dempen, kan aan de achterkant en eventueel zijkanten van de nis of de muur geluidsabsorberend materiaal worden bevestigd. Dit materiaal vangt het geluid van de compressor op en voorkomt dat het zich verder door de ruimte verspreidt. Er zijn hier verschillende soorten platen en strips voor verkrijgbaar.

Zoek een stil exemplaar

Omdat het lastig is om een inbouwapparaat van tevoren te testen op geluidsproductie, kun je natuurlijk in ieder geval alvast kijken naar de specificaties van een inbouwvriezer. Bij doorgaans alle online winkels vind je de relevante informatie over geluidsproductie bij de specificaties. Het maximaal hoorbare geluid wordt weergegeven in Decibel, afgekort als dB. Gemiddeld produceren inbouwvriezers een geluid van rond de 35 en 40 dB, maar dit zijn natuurlijk alleen piekmomenten, bijvoorbeeld als de compressor aanslaat. De informatie over de geluidsproductie vind je overigens ook op het energielabel, zie hieronder.

Zuinigheid

Tot slot moeten we het energieverbruik natuurlijk niet vergeten. Hoe zuiniger een inbouwvriezer is, hoe meer geld je op het gebruik ervan bespaart. Dankzij de specificaties en het welbekende energielabel koop je eenvoudig een energiezuinig model. Je ziet dan bij de specificaties ook wat een inbouwvriezer op jaarbasis aan energie verbruikt.

©EPREL

▼ Volgende artikel
Waar voor je geld: 5 krachtige hogedrukreinigers voor minder dan 275 euro
© MG | ID.nl
Huis

Waar voor je geld: 5 krachtige hogedrukreinigers voor minder dan 275 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Met een hogedrukreiniger maak je je oprit, terras en tuinbestrating grondig schoon. Wij vonden vijf krachtige modellen voor je.

Een hogedrukreiniger is ideaal voor het schoonmaken van terrassen, opritten, tuinmeubels, auto’s en schuttingen. Je hebt minder schoonmaakmiddelen nodig en bespaart tijd en moeite. Dankzij verstelbare spuitkoppen pas je de waterstraal aan per klus. Zo maak je efficiënt en veilig schoon, zelfs op lastig bereikbare plekken. Met behulp van handige accessoires zoals een autowasborstel kun je een hogedrukreiniger ook gebruiken voor auto's, aanhangers, caravans en campers. Wij hebben een vijftal betaalbare hogedrukreinigers voor je gevonden.

DISCLAIMER

De genoemde maximum prijs van 275 euro was correct tijdens het schrijven van dit artikel. De prijzen van producten op Kieskeurig.nl kunnen echter varieren, en kunnen inmiddels dus hoger of lager zijn.

Bosch UniversalAquatak 135

Deze compacte machine van Bosch zet moeiteloos 410 l/uur water af dankzij zijn krachtige 1900 W motor. De slang van 7 meter geeft je een groot bereik. Met een werkdruk tot 135 bar verwijdert hij eenvoudig hardnekkig vuil van fiets, oprit of terras. De geïntegreerde slanghaspel en opbergruimte voor accessoires maken hem erg gebruiksvriendelijk. Ondanks zijn lichte gewicht (7,9 kg), staat de Aquatak 135 stevig dankzij wielen en een telescopisch handvat. Hij is geschikt tot een watertemperatuur van 40 °C en geleverd inclusief nozzle‑set. Zijn compacte profiel en degelijke prestaties maken ‘m ideaal voor dagelijks gebruik in en om het huis.

Maximale druk: 135bar
Vermogen: 1900 Watt
Slanglengte: 7m
Opslagtank: 0,45 liter
Meegeleverde accessoires: lans, vuilfrees

Wat is een vuilfrees?

Een vuilfrees is een speciaal opzetstuk voor een hogedrukreiniger dat wordt gebruikt om hardnekkig vuil effectief te verwijderen. De vuilfrees bestaat uit een roterende waterstraal met hoge druk, waardoor het reinigingsvermogen aanzienlijk wordt verhoogd. Dit maakt het heel geschikt voor het schoonmaken van sterk vervuilde oppervlakken zoals bestrating, terrastegels en andere harde buitenoppervlakken. Een vuilvrees is echter niet geschikt voor auto's, campers of caravans. Het kan namelijk de lak of deur- en raamrubbers beschadigen.

Nilfisk Excellent 170

De Nilfisk Excellent 170 is een stevige krachtpatser met een inductiemotor en metalen pomp, ontworpen voor intensief gebruik. Hij levert maar liefst 170 bar en rond de 498 l/uur aan waterflow en dat is ideaal voor grote oppervlakken zoals terrassen of gevels . De SteelFlex-slang van 10 meter in combinatie met de interne haspel zorgt voor moeiteloze bereikbaarheid en opberging. Uniek is de Power Foam Blaster (700 ml) die zorgt voor rijke schuimlaag voor grondige reiniging, bijvoorbeeld van auto’s of tuinmeubilair. De machine schakelt bij spuitstop automatisch uit, en gaat weer aan bij gebruik, waarmee je dus energie kunt besparen. Met een gewicht van zo'n 21,5 kg is hij wat zwaarder dan gemiddeld, maar staat stevig op wielen en een telescoopgreep voor verplaatsing.

Maximale druk: 170 bar
Vermogen: 2100 Watt
Slanglengte: 10m
Opslagtank: 0,7 liter (voor foam)
Meegeleverde accessoires: Vuilfrees, oppervlakreiniger

Kärcher K 2 Basic

De K 2 Basic van Kärcher is een degelijk instapmodel voor eenvoudigere reiningsklusjes, zoals voor fietsen, tuinmeubels of lichte vervuiling. Deze machine levert tot 110 bar werkdruk en 360 l/uur waterflow vanuit een 1400 W motor. Hij is compact, weegt slechts 4 kg (zonder accessoires) en voorzien van twee wieltjes voor eenvoudige verplaatsing. De slang is 3 m lang, wat minder bereik biedt, maar praktisch is voor het dichtbij reinigen. Inclusief waterfilter en Quick Connect-systeem, plus diverse spuitstukken zoals een lans en vuilfrees. Dit toestel is ideaal voor gebruikers die een effectief, budgetvriendelijk toestel zoeken voor eenvoudig onderhoud rondom huis.

Maximale druk: 110 bar
Vermogen: 1400 Watt
Slanglengte: 3m
Opslagtank: geen
Meegeleverde accessoires: lans, vuilfrees

Powerplus POWXG90410

De Powerplus POWXG90410 combineert kracht en flexibiliteit in één: zijn 1800 W motor levert tot 140 bar en 420 l/uur waterflow, perfect voor het grondig reinigen van oprit, tuin of voertuigen. De slang van 8 m en een soepel oprolmechanisme maken werken zonder gedoe makkelijk. De tank van 0,75 liter voor reinigingsmiddel is ideaal voor gecombineerde schoonmaakbeurten. Hij beschikt over turbospuit, patio-cleaner en verstelbare lans en is uitgerust met wieltjes en auto start/stop voor bedieningsgemak en veiligheid. Weegt ongeveer 7,7 kg — handzaam en goed te manoeuvreren.

Maximale druk: 140 bar
Vermogen: 1800 Watt
Slanglengte: 8m
Opslagtank: 0,75 liter
Meegeleverde accessoires: lans, vuilfrees

EZIclean Hydroforce 165

Deze Eziclean Hydroforce 165 is uitgerust met een krachtige 2200 W motor waarmee hij tot 165 bar haalt — ideaal voor intensieve klussen zoals terras en auto’s schoonmaken . De slang van 5 meter biedt voldoende reikwijdte dichtbij de kraan. Inclusief 0,75 l reinigingstank en een ruime selectie aan spuitmonden, waaronder een turbomondstuk met 180° draaibare straal en 360°-draaifunctie – handig voor diverse oppervlakken. Het lage gewicht van zo'n 9,2 kg en wieltjes plus haspel maken het verplaatsen eenvoudig. Robuust, veelzijdig en ideaal voor huishoudelijk en zwaar buitengebruik.

Maximale druk: 165 bar
Vermogen: 2200 Watt
Slanglengte: 5m
Opslagtank: 0,75 liter
Meegeleverde accessoires: autowasborstel, lans, oppervlakreiniger