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 HP OmniBook 7 Aero – Perfect voor onderweg
© Jeroen Boer - ID.nl
Huis

Review HP OmniBook 7 Aero – Perfect voor onderweg

Onderweg telt soms iedere gram, zeker als je veel reist. Voor wie niet houdt van een zware rugtas heeft HP de OmniBook 7 Aero. Deze laptop weegt nog geen kilogram, maar heeft toch een processor met 8 cores in combinatie met 32 GB RAM. Dat klinkt als een uitstekend product voor wie veel onderweg is. Of dat echt zo is? Wij hebben hem getest.

Uitstekend
Conclusie

De HP OmniBook 7 Aero is al met al een heel fijne laptop en dat komt voor een groot deel door het gewicht. Je moet hem dus ook vooral overwegen als je echt een lichte laptop wilt hebben. De laptop weegt nog geen kilo, waardoor je hem altijd makkelijk meeneemt. Ondanks het lage gewicht zijn de prestaties prima en kun je comfortabel werken. Over de stevigheid hoef je je geen zorgen te maken; de aluminium-magnesiumbehuizing is lekker degelijk. Natuurlijk heeft HP wel wat concessies moeten doen om dat lage gewicht te bereiken. Zo is de accucapaciteit niet heel indrukwekkend, al overleef je met 12 uur werktijd op zich wel een werkdag. Voor hetzelfde geld kun je zeker laptops kopen waar je langer op kunt werken, maar die wegen dan ook een stuk meer dan een kilo.

Plus- en minpunten
  • Superlicht
  • Genoeg aansluitingen
  • Uitstekend toetsenbord
  • 32 GB RAM
  • Luidruchtige koeling
  • Accucapaciteit kan beter
OnderdeelSpecificatie
ProcessorAMD Ryzen AI 7 350
RAM32 GB
GPUAMD Radeon 860M
Opslag1 TB ssd
Beeldscherm13,3 inch, ips (2560 × 1600 pixels)
Aansluitingen2x usb-c (DisplayPort en laden), usb 3.2, HDMI 2.1, 3,5mm-headsetaansluiting
DraadloosWifi 6, bluetooth 5.4
Afmetingen29,7 × 21,1 × 1,7 cm
GewichtMinder dan 1000 gram
Accu43 Wh
OSWindows 11 Home

Natuurlijk wist ik dat de HP OmniBook 7 Aero ongeveer een kilogram weegt, maar toch was ik positief verrast toen ik hem uit de doos haalde. De OmniBook 7 Aero is zó licht dat het bijna een stuk speelgoed lijkt. Dat is gelukkig niet het geval, want de behuizing van een aluminium-magnesium-legering zit ondanks het geringe gewicht degelijk in elkaar. Het is daardoor een laptop die je zonder zorgen in je rugtas stopt, waarna je eigenlijk niet meer merkt dat je hem bij je hebt. Mijn eigen laptop is met 1,35 kilogram ook niet bijzonder zwaar, maar toch voel ik een duidelijk verschil als ik de OmniBook 7 Aero meeneem. Fijn als je dagelijks met de trein naar kantoor of studie gaat.

©Jeroen Boer - ID.nl

Waar ik ook blij van word, is dat HP ondanks de compacte behuizing toch in een fijne verzameling aansluitingen heeft voorzien. Natuurlijk wordt de basis tegenwoordig gedekt door usb-c en daarvan krijg je er twee die allebei geschikt zijn voor zowel laden als het aansluiten van een beeldscherm. Thuis of op kantoor kun je hem dus met één kabel aansluiten op je werkplek. Maar omdat je een lichte laptop waarschijnlijk juist onderweg gebruikt, is het fijn dat HP je ook twee normale usb-poorten, een HDMI-aansluiting en een headsetaansluiting geeft. Zo kun je hem ook gewoon gebruiken op plekken waar nog een oudere monitor of beamer staat en heb je ook voor een usb-stickje geen adapter nodig. Het enige dat een klein beetje jammer is, is dat de usb-c-poorten geen usb 4 ondersteunen terwijl de gebruikte processor dat op zich wel kan.

©Jeroen Boer - ID.nl

Je krijgt naast twee usb-c-poorten ook een HDMI-aansluiting en normale usb-poorten.

Lekker tikken

Als je het scherm openklapt, wordt het palmgedeelte in een lichte hoek gezet zodat je fijner kunt tikken. Dat is op de OmniBook sowieso geen straf. Het toetsenbord heeft een prettige aanslag met duidelijke feedback. Prettig, zeker als je net als ik veel met teksten werkt. Het toetsenbord ziet er met zijn grijze toetsen ook overzichtelijk uit en heeft toetsverlichting in twee helderheidsstanden. Een eigenschap die wat mij betreft vooral weer onderweg als je werkt op allerlei ongunstige locaties onmisbaar is. De touchpad met geïntegreerde fysieke knop laat zich eerder omschrijven als oké. Het geheel werkt op zich goed, maar voelt wel minder premium dan het uitstekende toetsenbord.

©Jeroen Boer - ID.nl

Het toetsenbord oogt overzichtelijk én tikt lekker.

Geen last van spiegeling

Het 13,3inch-scherm maakt gebruik van een IPS-paneel en heeft een resolutie van 2560 × 1600 pixels. Hierdoor krijg je goede inkijkhoeken en een scherp beeld. Handig voor onderweg is dat HP het paneel mat heeft afgewerkt, zodat je geen last hebt van storende lichtinval. Ook de helderheid is voor veel omstandigheden hoog genoeg. Verder is het scherm niet heel bijzonder. Zo wordt er slechts een maximale verversingssnelheid van 60 Hz ondersteund, terwijl steeds meer duurdere laptops schermen met een hogere verversingssnelheid hebben. Dat heeft misschien ook iets met de accuduur te maken, iets waarover je verderop meer leest. Boven het scherm vind je een prima webcam die ook geschikt is voor inloggen met gezichtsherkenning via Windows Hello. Prettig is dat de webcam een schuifje heeft om de lens fysiek te bedekken; zo weet je zeker dat je niet bespied wordt.

©Jeroen Boer - ID.nl

Dankzij een ingebouwd schuifje wordt je niet bespied.

Goede prestaties

Op papier stelt de configuratie met een Ryzen AI 7 350, 32 GB RAM en een 1TB-ssd niet teleur. Misschien is 32 GB RAM een beetje overdreven voor een laptop die zich niet laat omschrijven als workstation, maar het is voor een laptop waarvan je het geheugen niet kunt uitbreiden ook weer niet heel gek. Dit is wellicht juist het moment om nog even je slag te slaan voordat laptops met veel geheugen veel duurder worden. De opslag wordt verzorgd door een ssd van 1 TB die gewoon prima presteert. Het is een M.2-ssd die je eventueel kunt vervangen als je opslag tekort komt.

De Ryzen AI 7 350 combineert vier normale met vier energiezuinige cores en heeft een npu die voldoet aan de eisen voor een Copilot+-pc. Je krijgt dus alle extra AI-functies van Windows 11. De prestaties van de chip zijn goed en de laptop scoort een mooie 7527 punten in PCMark 10. Ook de score van 1975 en 12433 punten in CineBench R23 voor respectievelijk single-core- en multi-core-prestaties zijn voor een mobiele processor uitstekend. De prestaties kennen bovendien weinig verval als je de laptop langdurig aan het werk zet. Helaas verandert de koeling dan wel in een soort stofzuiger: de laptop laat goed van zich horen als je hem wat langer aan het werk zet. Bij lichte dingen als browsen of tekstverwerken is de laptop gelukkig wel stil.

©Jeroen Boer - ID.nl

Het scherm heeft geen last van spiegelingen.

Best wel kleine accu

Wanneer een laptop zo dun en licht mogelijk is, kan het bijna niet anders dan dat er ergens concessies gedaan zijn. Dat is in het geval van deze HP overduidelijk de accu, want een accu met een capaciteit van slechts 43 Wh is tegenwoordig wel heel magertjes. Toch wist de HP me positief te verrassen, want de werktijd bij alledaagse (kantoor)werkzaamheden is met zo'n 12 uur helemaal niet zo verkeerd. Natuurlijk zijn er genoeg laptops met een veel langere accuduur (waaronder de eveneens ook superlichte ASUS ZenBook A14), maar een echte dealbreaker is de werktijd ook weer niet.

©Jeroen Boer - ID.nl

De aluminium-magnesium-behuizing oogt netjes en is lekker stevig.

En gamen?

De Ryzen AI 7 350 heeft een geïntegreerde AMD Radeon 860M-gpu en is volgens AMD ook geschikt voor gamen. Je kunt natuurlijk niet verwachten dat een geïntegreerde gpu echt topprestaties biedt. Een score van 2571 punten in 3D mark Time Spy is in ieder geval niet heel indrukwekkend. Ik heb Shadow of the Tomb Raider geïnstalleerd, een spel waarvan ik weet dat het inmiddels goed speelbaar is op een geïntegreerde gpu. Het is een spel van alweer zeven jaar oud, maar grafisch nog altijd mooi. Om op Full HD een beetje soepel te kunnen spelen, moest ik kiezen voor de voorinstelling Lowest waarmee je zo'n 54 fps haalt. Opvallend is dat er met AI-upscaler Intel XeSS niet significant meer frames gehaald worden. Jammer, want op andere laptops heb ik goede ervaringen met zulke AI-upscalers. Het hangt natuurlijk ook een beetje van het spel af en een titel met ondersteuning voor AMD's eigen FSR presteert misschien wel wat beter. De prestaties in Shadow of the Tomb Raider geven wel een goed beeld van de mogelijkheden. Voor soepel gamen zul je wat oudere spellen met lagere kwaliteitsinstellingen of esports-titels moeten spelen. Dit klinkt misschien teleurstellend, maar voor een dunne en lichte ultrabook zijn de prestaties helemaal niet zo verkeerd. 

Conclusie

De HP OmniBook 7 Aero is al met al een heel fijne laptop en dat komt voor een groot deel door het gewicht. Je moet hem dus ook vooral overwegen als je echt een lichte laptop wilt hebben. De laptop weegt nog geen kilo, waardoor je hem altijd makkelijk meeneemt. Ondanks het lage gewicht zijn de prestaties prima en kun je comfortabel werken. Over de stevigheid hoef je je geen zorgen te maken; de aluminium-magnesiumbehuizing is lekker degelijk. Natuurlijk heeft HP wel wat concessies moeten doen om dat lage gewicht te bereiken. Zo is de accucapaciteit niet heel indrukwekkend, al overleef je met 12 uur werktijd op zich wel een werkdag. Voor hetzelfde geld kun je zeker laptops kopen waar je langer op kunt werken, maar die wegen dan ook een stuk meer dan een kilo.

▼ Volgende artikel
Analist: 'PlayStation 6 verschijnt mogelijk pas na 2028'
© Sony
Huis

Analist: 'PlayStation 6 verschijnt mogelijk pas na 2028'

Sony zou overwegen de PlayStation 6 intern uit te stellen en de console pas ergens na 2028 uit te brengen.

Dat meent MST Financial-analist David Gibson via Sandstone Insights Japan. Hoewel de PlayStation 5 al meer dan vijf jaar beschikbaar is - de console kwam eind 2020 uit - is het volgens hem onwaarschijnlijk dat Sony de PlayStation 6 binnenkort uitbrengt.

"Sony verwacht dat de levenscyclus van de PlayStation 5 wordt verlengd, en dat de PlayStation 6-release langer op zich laat wachten dan de meesten voorspellen", zo stelt Gibson. Hij verwacht dat de nieuwe console pas ergens na 2028 uitkomt - op zijn vroegst dus in 2029.

PlayStation 6 is nog niet aangekondigd

Sony zelf heeft nog geen officiële releaseperiode gegeven voor de PlayStation 6. De console is immers nog niet officieel aangekondigd, al is het logisch dat het bedrijf achter de schermen al aan een opvolger van de PlayStation 5 werkt.

Eerder gingen er al wel geruchten over een PS6-release in 2027 of 2028, maar volgens bovengenoemde analyse wordt het dus pas later. Er gaan ook geruchten dat Sony twee apparaten wil uitbrengen: een traditionele console en een hybride versie die ook als handheld gebruikt kan worden - vergelijkbaar met de Nintendo Switch dus.

Reden voor vertraging

Een van de redenen voor een vertraagde komst van PlayStation 6 kunnen de alsmaar stijgende prijzen voor geheugen zijn. Prijzen van RAM (Random Access Memory) stijgen alsmaar doordat er massaal RAM nodig is om het alsmaar populairder wordende AI werkende te houden. RAM is echter nodig in spelcomputers.

De theorie is dat bedrijven nu hun plannen voor nieuwe consoles uitstellen, omdat de prijzen voor RAM zo hoog liggen. Dat zou immers betekenen dat men ook hogere prijzen voor nieuwe consoles moet vragen, en dat zou eventueel een negatief effect op het succes van deze consoles kunnen hebben.

View post on Instagram
 

Valkuil van uitstel

Het intern uitstellen van de PlayStation 6 - of andere consoles - kan echter een prijzige aangelegenheid zijn voor bedrijven. Sony heeft vele miljoenen dollars in de ontwikkeling van een nieuwe console gestoken en mogelijk de technologie die in deze console zit gekozen.

Door de PlayStation 6 uit te stellen, veroudert de technologie in de console ook, en komt het bedrijf voor een lastige keuze te staan: gooit Sony de vele miljoenen aan onderzoekskosten weg om nieuwe specificaties samen te stellen, of brengt het bedrijf op een later moment een console met ietwat achterhaalde specificaties uit?

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.