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
Fairphone vernieuwt Fairbuds XL met focus op beter geluid en comfort
© Fairphone
Huis

Fairphone vernieuwt Fairbuds XL met focus op beter geluid en comfort

Fairphone lanceert de vernieuwde Fairbuds XL. Deze modulaire koptelefoon belooft nu ook het geluid en comfort te bieden dat je voor 249 euro mag verwachten. Met nieuwe drivers en zachtere oorkussens pakt de fabrikant de eerdere kritiekpunten aan. Handig: je kunt je oude model zelf eenvoudig upgraden.

De Nederlandse fabrikant Fairphone heeft deze week de vernieuwde versie van de Fairbuds XL gepresenteerd. Deze modulaire koptelefoon is een doorontwikkeling van het model dat in 2023 werd gelanceerd. Waar de eerste generatie vooral een statement maakte op het gebied van repareerbaarheid, belooft deze nieuwe versie ook op audiogebied en draagcomfort een inhaalslag te maken. De koptelefoon is daardoor ontworpen om jarenlang mee te gaan en is per direct verkrijgbaar.

©Fairphone

Verbeterde audiokwaliteit en materialen

De belangrijkste upgrade ten opzichte van de voorganger zit in de geluidsweergave en het fysieke ontwerp. De nieuwe Fairbuds XL beschikt over 40 mm dynamische drivers en ondersteuning voor aptX HD, wat moet zorgen voor een gedetailleerder geluidsbeeld en high-res audio via bluetooth. Fairphone heeft daarnaast gekeken naar de feedback over het draagcomfort. De nieuwe modellen zijn uitgerust met zachtere oorkussens van 'birdseye-mesh' en een ademende hoofdband, waardoor de koptelefoon ook tijdens langere luistersessies prettig moet blijven zitten. Het design is beschikbaar in de kleuren Forest Green en Horizon Black.

Modulair ontwerp voor lange levensduur

Wat de Fairbuds XL onderscheidt in de markt van consumentenelektronica is de verregaande modulariteit. De koptelefoon is opgebouwd uit negen losse modules die door de gebruiker zelf te vervangen zijn. Dit betekent dat bij een defect of slijtage niet het hele apparaat weggedaan hoeft te worden, maar dat onderdelen zoals de batterij, de oorkussens of de hoofdband eenvoudig vervangen kunnen worden. Technisch biedt het apparaat verder dual-point connectiviteit, een IP54-certificering voor spatwaterdichtheid en een accuduur tot 30 uur.

Zoals gebruikelijk bij het Amsterdamse bedrijf ligt de nadruk sterk op duurzaamheid en eerlijke materialen. De koptelefoon bestaat voor ongeveer 50 procent uit gerecyclede grondstoffen, waaronder gerecycled aluminium en zeldzame aardmaterialen in de magneten. Ook wordt er bij de assemblage gebruikgemaakt van fabrieken die draaien op zonne-energie en investeert het bedrijf in leefbare lonen voor fabrieksarbeiders.

©Fairphone

Compatibel met het vorige model

Een opvallende keuze van Fairphone is de compatibiliteit met de eerste generatie Fairbuds XL. De fabrikant benadrukt dat technologie moet meegroeien met de gebruiker. Bezitters van het 2023-model hoeven daarom geen volledig nieuwe koptelefoon aan te schaffen om te profiteren van de geluidsverbeteringen. De nieuwe drivers zijn namelijk ook als los onderdeel verkrijgbaar en kunnen eenvoudig in het oude model worden geïnstalleerd. Hiermee voegt Fairphone daadwerkelijk de daad bij het woord wat betreft het verlengen van de levensduur van elektronica.

©Fairphone

Prijs en beschikbaarheid

De vernieuwde Fairbuds XL is per direct verkrijgbaar in Nederland. De adviesprijs voor de koptelefoon bedraagt 249 euro. Hij is te koop via de webwinkel van Fairphone en bij geselecteerde retailers.

▼ Volgende artikel
Zo kies je een parfum dat écht bij je past (en dat blijft hangen)
© ID.nl
Gezond leven

Zo kies je een parfum dat écht bij je past (en dat blijft hangen)

Een parfum is meer dan een lekker luchtje; het is je onzichtbare visitekaartje. De juiste geur kan je stemming versterken, je zelfvertrouwen een boost geven en direct vertellen wie jij bent. Maar hoe vind je een geur die echt bij jouw persoonlijkheid past?

Dit artikel in het kort

💨Welke geurnoten passen bij jouw karaktertype?
💨Top-, hart- en basisnoten: hoe een parfum is opgebouwd.
💨Het verschil tussen eau de toilette en eau de parfum.
💨De gouden regel voor het testen in de winkel.

Lees ook: Waarom parfum niet bij iedereen hetzelfde ruikt

Zeg me wat je draagt, ik zeg wie je bent

Geuren zijn de snelste weg naar onze emoties. Ruik je versgebakken brood, dan sta je in gedachten direct in een warme keuken. Ruik je zonnebrandcrème, dan voel je het strand. Parfums werken precies zo: ze communiceren iets over jou, zonder dat je een woord zegt.

Door een parfum te kiezen dat aansluit bij je karakter, versterk je je uitstraling. Welk type ben jij?

Persoonlijkheidstypen en bijpassende geuren

Hieronder vind je een overzicht van veelvoorkomende persoonlijkheidstypen en welke geuren daar goed bij aansluiten.

1. De romanticus (dromerig & gevoelig)

Ben je creatief, nostalgisch en gevoelig ingesteld? Dan voel jij je waarschijnlijk het prettigst bij zachte, ronde geuren. Bloemige en poederachtige noten omhullen je als een warme deken en passen perfect bij jouw zachtaardige karakter. Zoek naar: roos, jasmijn, viooltjes, vanille en lelie.

Voor dames:

Chloé - Chloé Eau de Parfum
: de ultieme romantische geur. Ruikt naar een vers boeket rozen met een poederige, schone ondertoon.
Marc Jacobs - Daisy: Speels, zacht en dromerig. Met noten van viooltjes en aardbei is dit een lichte, vrolijke bloemengeur.

Voor heren:

Dior - Dior Homme
: een zeldzame herengeur met iris. Hierdoor is hij zacht, poederig en verfijnd (in plaats van typisch 'mannelijk' stoer).
Prada - L'Homme: schoon, luchtig en zacht. Ruikt naar luxe zeep en verse bloemen (neroli/iris), perfect voor de gevoelige man.

2. De power-persoonlijkheid (krachtig & zelfverzekerd)

Jij komt een ruimte binnen en mensen hebben het door. Je staat stevig in je schoenen en houdt niet van poespas. Houtachtige en kruidige geuren sluiten hier naadloos op aan. Ze hebben een diepe, stabiele basis die autoriteit en rust uitstraalt. Zoek naar: Sandelhout, cederhout, leer, patchouli en zwarte peper.

Voor dames:

Chanel - Coco Mademoiselle
: een moderne klassieker met karakter. De combinatie van frisse sinaasappel en krachtige patchouli straalt pure klasse en zelfvertrouwen uit.
Tom Ford - Black Orchid: niet voor muurbloempjes. Een zware, aardse geur met truffel en pure chocolade. Je vult er de kamer mee.

Voor heren:

Hermès - Terre d’Hermès
: ruikt naar aarde, hout en sinaasappel. Een hele stabiele, volwassen geur die autoriteit uitstraalt zonder te schreeuwen.
Dior - Sauvage: extreem populair vanwege zijn kracht. Peperig en fris; een geur die zegt: "Ik ben er."

3. Het mysterie (sensueel & raadselachtig)

Houd je ervan om niet direct het achterste van je tong te laten zien? Ben je gek op de avond en subtiele verleiding? Dan zijn Oriëntaalse geuren jouw match. Deze zijn vaak rijk, zwaar en gelaagd. Zoek naar: Amber, wierook, muskus, kaneel en exotische kruiden.

Voor dames:

Yves Saint Laurent - Black Opium
: een verslavende mix van zwarte koffie en vanille. Donker, zoet en perfect voor de avond.
Dior - Hypnotic Poison: de naam zegt het al. Een betoverende, zware geur met amandel, karwij en vanille. Zeer verleidelijk.

Voor heren:

Viktor&Rolf - Spicebomb
: een explosie van kruiden (peper, kaneel) en tabak. Warm en kruidig, maar met een mysterieuze diepte.
Armani - Code: een geraffineerde mix van tonkaboon en leer. Glad, donker en een tikkeltje geheimzinnig.

4. De zonnestraal (speels & spontaan)

Ben jij de optimist van de groep, altijd vrolijk en ongecompliceerd? Zware geuren passen vaak niet bij jouw energie. Jij bloeit op van frisse, fruitige noten die licht en uitnodigend zijn. Zoek naar: Perzik, appel, framboos, zwarte bes en citrusbloesem.

Voor dames:

DKNY - Be Delicious
: het bekende 'groene appeltje'. Fris, fruitig en ongecompliceerd. Echt een energieboost.
Giorgio Armani - My Way: een vrolijk boeket van witte bloemen en citrus. Heel open, zoet en uitnodigend.

Voor heren:

Versace - Eros
: een luide, vrolijke geur met munt, appel en vanille. Jong, energiek en een echte allemansvriend.
Paco Rabanne - 1 Million: bekend om de goudstaaf-flacon. Zoet, kruidig en fruitig. Een geur met een knipoog die het leven viert.

5. De avonturier (energiek & sportief)

Stilzitten is niets voor jou. Je houdt van buitenlucht, actie en nieuwe ervaringen. Daar past geen bedwelmende geur bij, maar juist iets dat energie geeft. Aquatische (water) geuren en citrus zijn jouw beste vrienden. Zoek naar: Bergamot, grapefruit, munt, zeewater en groene thee.

Voor dames:

Giorgio Armani - Acqua di Gioia
: geïnspireerd op de zee. Ruikt naar munt, citroen en water. Heerlijk fris en opwekkend.
Davidoff - Cool Water Woman: een klassieker die ruikt naar de oceaan en frisse meloen. Voor vrouwen die liever buiten zijn dan binnen.

Voor heren:

Giorgio Armani - Acqua di Giò
: waarschijnlijk de bekendste 'watergeur' ter wereld. Ruikt naar zeewater, wind en limoen.
Issey Miyake - L'Eau d'Issey Pour Homme: een unieke, scherpe frisheid dankzij de Japanse yuzu (citrusvrucht). Strak, modern en heel energiek.

©africa-studio.com (Olga Yastremska and Leonid Yastremskiy) - stock.adobe.com

Begrijp wat je koopt: de opbouw van een geur

Heb je wel eens een parfum gekocht dat in de winkel heerlijk rook, maar thuis tegenviel? Grote kans dat je alleen de topnoten hebt geroken. Een parfum is opgebouwd als een piramide:

1: Topnoten (de binnenkomer)
Dit is wat je de eerste 10 tot 15 minuten ruikt. Vaak fris en licht (citrus), bedoeld om je aandacht te trekken. Topnoten vervliegen snel.
2: Hartnoten (de kern)
Zodra de topnoten verdwijnen, komt het 'hart' naar boven. Dit is de ware geur van het parfum, vaak bloemig of kruidig. Dit blijf je enkele uren ruiken.
3: Basisnoten (de blijver)
Dit is wat er aan het einde van de dag nog op je huid zit. Zware ingrediënten zoals hout, muskus en vanille die zorgen voor diepte.

💡Tip:
Koop een parfum nooit direct na het opspuiten. Wandel de winkel uit, doe boodschappen en ruik na een uur nog eens. Pas dan weet je hoe het parfum écht ruikt.

Eau de toilette of eau de parfum?

Op de flacon staan vaak termen die iets zeggen over de sterkte (en de prijs):
Eau de Cologne:
zeer licht, vervliegt snel (3-5% geurstoffen). Lekker wanneer je je even wilt opfrissen.
Eau de Toilette (EDT): de meest verkochte variant. Fris en geschikt voor dagelijks gebruik (5-10% geurstoffen).
Eau de Parfum (EDP): sterker en blijft langer hangen (10-20% geurstoffen). Je hebt er minder van nodig, maar het is vaak duurder.
Parfum / Extrait:
Zeer geconcentreerd en kostbaar. Een paar druppels ruik je de hele dag.

Zo voorkom je een miskoop: 4 gouden tips

Tot slot: hoe hak je de knoop door in de parfumerie?
1. Test op je huid (niet op een papiertje)
Een papieren strookje heeft geen pH-waarde en geen hormonen. Jouw huid wel. Door je lichaamschemie kan een parfum bij jou heel anders ruiken dan bij je beste vriendin. Spray altijd op je pols om te weten hoe de geur op jou reageert.
2. Niet wrijven!
Een klassieke fout: sprayen op de polsen en ze dan tegen elkaar wrijven. Niet doen! Door de wrijving maak je de geurmoleculen kapot, waardoor de topnoten sneller verdwijnen en de geurbalans verstoord raakt. Gewoon laten drogen aan de lucht.
3. Maximaal drie geuren
Na drie verschillende parfums is je neus 'vermoeid' en kun je geuren niet meer goed onderscheiden. Ruik tussendoor even aan je eigen kleding (of aan koffiebonen als ze die hebben staan) om je neus te neutraliseren.
4. Kijk naar wat je al hebt
Weet je niet waar je moet beginnen? Kijk naar de flesjes die je al hebt staan of opgebruikt hebt. Google de geurnoten van je favoriet (bijvoorbeeld op een website als Fragrantica) en zoek naar nieuwe parfums die dezelfde ingrediënten bevatten. Of kijk naar geuren in huis die je fijn vindt. Houd je van lavendel in je wasmiddel of vanille in je kaarsen? Dat zijn goede uitgangspunten. 

Geur gevonden? Dan weet je nu...

...altijd wat je als cadeau kunt vragen!