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
NintenDaan over de volgende Animal Crossing (en 3.0!) - Bonuslevel
Huis

NintenDaan over de volgende Animal Crossing (en 3.0!) - Bonuslevel

Daan is terug! Vlak voordat hij naar naar Japan gaat voor onder andere PokéPark Kanto, heeft hij het Cody en Jacco over Pokémon Day-gekte en Animal Crossing: New Horizons 3.0. Ook bespreken de mannen wat ze willen van een nieuwe Animal Crossing.

Kom bij onze Discord. Via ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠deze link⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠kan je met ons en andere luisteraars kletsen over games, deals, nieuws en meer.

Wil je zelf ook een vraag insturen of heb je iets leuks om te melden? Dat kan! Stuur een mailtje naar bonuslevelcast@gmail.com (of bonuslevelkast@gmail.com of bonuslevelqast@gmail.com) en wellicht hoor je jezelf terug in de volgende aflevering!

▼ Volgende artikel
Gratis Office-alternatieven: meer controle, privacy én offline werken
© Videophilia | stock.adobe.com
Huis

Gratis Office-alternatieven: meer controle, privacy én offline werken

Microsoft 365 is niet de enige optie voor professionele documenten, spreadsheets en presentaties. Wie privacy wil, liever offline werkt of sneller klaar wil zijn, heeft keuze uit verrassend goede suites. Die voeren je taken net zo goed, of zelfs beter, uit. We bespreken hoe je krachtige, minder bekende alternatieven inzet voor onder meer samenwerken, tabellen analyseren, notities beheren en presenteren.

De meeste gebruikers kiezen automatisch voor Microsoft 365 of voor Google Workspace. Maar er zijn ook moderne Office-alternatieven voor Windows. Die bieden een prima compatibiliteit met docx-, xlsx- en pptx-bestanden en bieden ook nog eens unieke extra’s. Denk aan lokaal werken zonder in te leveren op samenwerking, docx-end-to-end-versleuteling voor gevoelige documenten, of lichtgewicht apps die sneller opstarten en minder systeembronnen vergen.

Daarmee voorkom je dus dat je de systemen van Microsoft of Google wordt ingezogen. Je houdt de regie over je dataopslag en je kunt je workflows precies invullen zoals je team dat nodig heeft.

In dit artikel ga je concreet aan de slag met een aantal alternatieven. OnlyOffice Desktop Editors is er voor lokale power en veilige samenwerking. Zoho Writer en Zoho Show zijn er voor offline werken en automatisering. WPS Office is een snelle all-in-one desktopervaring, inclusief pdf. SoftMaker FreeOffice is een betrouwbare, lichte suite. En dan hebben we nog CryptPad, een samenwerkingstool waarbij privacy bovenaan staat.

©dennizn - stock.adobe.com

Microsoft Office werkt prettig, maar er zijn voldoende gratis alternatieven. 

OnlyOffice Desktop Editors: Lokaal of in de cloud

Installeer OnlyOffice Desktop Editors op Windows (www.onlyoffice.com)en start de suite. Klik in het hoofdvenster links op Verbinding maken met Cloud office en kies je dienst, bijvoorbeeld Nextcloud. Vul de url in, klik op Nu verbinden, meld je aan en open daarna je bestanden direct in de desktop-tabbladen. Zo werk je offline aan documenten op je schijf en schakel je naadloos over op co-authoring zodra je verbinding hebt.

In tekstbestanden vind je revisiehulpmiddelen onder Samenwerken en Wijzigingen bijhouden, in spreadsheets en presentaties staan de samenwerkingstools eveneens bovenin het lint. Belangrijk is dat OnlyOffice lokaal volledige bewerking biedt voor Office-bestanden en dat je extra onlinefuncties (zoals Mail Merge) pas nodig hebt als je aan de cloud koppelt. In de praktijk gebruik je dus één interface voor beide werelden: lokaal en online. Dat vermindert context-switches en voorkomt dat je documenten verspreid raken over verschillende apps.

OnlyOffice biedt veel mogelijkheden om samen te werken.

Formulieren en pdf’s maken

OnlyOffice maakt van formulieren een eersteklas workflow. Open een document en ga naar de tab Forms om velden toe te voegen, zoals tekst, dropdowns, checkboxes, radio buttons, datum of afbeelding. Sla je formulier op als pdf zodat ontvangers het kunnen invullen met verplichte velden en duidelijke navigatie via Vorig veld en Volgend veld. In een geopende pdf schakel je met PDF bewerken naar de bewerkingsmodus, of kies Opslaan als om het ingevulde formulier op te slaan.

Werk je met zeer gevoelige informatie, gebruik dan de versleutelde omgeving van OnlyOffice: de Private Room. Die is toegankelijk via de desktopapp wanneer je aan een OnlyOffice-cloud bent verbonden. De documenten en het verkeer zijn versleuteld met AES-256 en kunnen veilig worden gedeeld en samen worden bewerkt, met enkele restricties zoals geen drag-and-drop upload. Zo combineer je formulierstromen, pdf-bewerking en vertrouwelijke samenwerking zonder extra tools.

Met OnlyOffice verander je een document in een handomdraai in een invulbare pdf.

Welk alternatief past bij jou?

Werk je vooral lokaal met af en toe samenwerking, dan is OnlyOffice Desktop Editors een goede eerste stap. Je bewerkt hiermee offline documenten en koppelt ze later aan je cloud. De co-edit-modi Fast en Strict geven controle over de wijzigingen. Wil je PowerPoint vervangen op Windows met degelijke offlinepresentaties? Dan ben je met de Windows-app van Zoho Show snel aan het werk. Dit is compleet met thema’s en naadloze sync zodra je weer online bent.

Zoek je een compacte desktopervaring met pdf-tools en automatische cloudback-ups? Dan is WPS Office praktisch. Houd er wel rekening mee dat geavanceerd pdf-bewerken onder een abonnement valt, terwijl de kernapps gratis blijven.

Moet privacy boven alles gaan? Dan zit CryptPad in een eigen klasse met docx-end-to-end-versleuteling en met delen via Share en Access. Tip voor hybride teams: combineer OnlyOffice met Nextcloud voor intern co-authoren en gebruik Zoho Show of WPS Presentation voor presentatiemomenten, zodat je het beste van beide werelden benut. 

Draaitabellen en slicers

Voor snelle analyses maak je in OnlyOffice Spreadsheets een draaitabel. Selecteer een cel in je dataset, open de tab Invoegen en klik op Draaitabel. Kies Nieuw werkblad of Bestaand werkblad en bouw je rapport door velden naar Rijen, Kolommen, Waarden en Filters te slepen.

Voor een snelle filtering voeg je slicers toe. Selecteer hiervoor een geformatteerde tabel, ga naar Invoegen en kies Slicers. Elk geselecteerd kolomveld krijgt dan een klikbare filterknop naast je rapport. In één interface stap je zo van ruwe csv naar bruikbare managementoverzichten die je als xlsx of pdf deelt. Het grote voordeel is dat je dit geheel offline doet en pas online gaat wanneer je wilt delen of samenwerken.

Met een draaitabel presenteer je je gegevens op een duidelijke manier.

Zoho Writer en Zoho Show: Offline documenten

Zoho Writer kun je als PWA of in de browser offline gebruiken. Ga naar https://writer.zoho.com en open je documentoverzicht, klik links op Offline en kies Writer offline aanzetten. Writer synchroniseert vervolgens recent geopende bestanden, die je via de offline-link bewerkt; met een werkende internetverbinding herstelt Writer automatisch de sync.

Voor repetitieve documenten automatiseer je met Automatiseren en Template samenvoegen. Open je sjabloon, voeg mergevelden in, koppel een gegevensbron zoals Zoho Sheet, Zoho Forms of Zoho CRM, en kies de uitvoer: opslaan, mailen als attachment of link, naar ondertekening sturen of publiceren als invulbaar formulier. Via Automatiseren / Voorbeeldweergave van samenvoegen controleer je de lay-out en logica, waarna Run Merge de batch genereert. Zo vervang je handwerk voor contracten, offertes of brieven door een herhaalbare structuur zonder menselijke fouten.

Wil je offline werken, dan is Zoho een van de betere alternatieven.

Presentaties

Presenteren zonder PowerPoint kan verrassend soepel met Zoho Show. Sinds mei 2025 is er een Windows-desktopapp waarmee je presentaties lokaal kunt maken, openen en bewerken. Je start de app en kunt zelfs zonder account direct bouwen; later aanmelden synchroniseert je werk naar de cloud. Show ondersteunt offline werken, gebruikt ingebouwde thema’s en laat je meerdere decks in tabbladen openen. Werk je liever in de web-app, dan activeer je via de overzichtspagina Offline presentaties en klik je Offline instelling inschakelen; standaard zijn je vijf meest recente decks offline beschikbaar en kun je desgewenst afzonderlijke presentaties offline markeren. Tijdens een switch naar online synchroniseert Show wijzigingen automatisch. Tegelijk blijft realtime samenwerken beschikbaar, inclusief delen, commentaar en bibliotheken voor herbruikbare slides. Daarmee is Show een volwassen alternatief voor vergaderingen, lessen en evenementen.

Zoho biedt ook een PowerPoint-alternatief met veel mogelijkheden.

WPS Office: Snel en compatibel

Op Windows blinkt WPS Office (www.wps.com) uit in snelheid en compatibiliteit. Je krijgt Writer, Spreadsheets, Presentation en een pdf-module in één venster met tabbladen, volledig compatibel met gangbare Microsoft-formaten. De basisfunctionaliteit is gratis, voor geavanceerd pdf-bewerken heb je een abonnement nodig.Meld je aan in WPS en schakel fileroaming in (wordt standaard geactiveerd) om documenten automatisch in WPS Cloud te bewaren en geschiedenis te bekijken; uitloggen stopt die uploads.

In Spreadsheets maak je een draaitabel door je data te selecteren, Insert / PivotTable te kiezen en in een nieuw werkblad velden te slepen naar de gebieden. Je vindt hier refresh-, herorden- en verwijdervelden zoals je gewend bent.In Writer schakel je revisie bij via Review / Track Changes of met Ctrl+Shift+E. Zo combineer je snelle desktopbewerking, cloudsync en basis-pdf in één pakket dat op oudere Windows-machines lekker licht blijft.

WPS Office is een goed gratis alternatief, hoewel je voor sommige functies toch een abonnement nodig hebt.

SoftMaker FreeOffice: Klassiek en betrouwbaar

Zoek je een klassieke, betrouwbare desktopervaring, dan is FreeOffice van SoftMaker (www.freeoffice.com) een goede keuze. Met TextMaker, PlanMaker en Presentations werk je lokaal in docx, xlsx of pptx en kun je snel print-klare pdf’s maken.

De interface is compact, start vlot en blijft responsief op oudere hardware. Voor wie later wil doorgroeien, biedt SoftMaker Office NX Universal een paar extra’s, zoals geïntegreerde Zotero-bronvermelding, Duden Korrektor voor geavanceerde taalcontrole en administratieve opties; FreeOffice blijft echter ruimschoots bruikbaar voor dagelijkse taken als rapporten, begrotingen en presentaties.

De installatie is rechttoe rechtaan en updates kun je met een klik op het vraagteken Controleer op updates uitvoeren. Omdat FreeOffice focust op kernfuncties, is het een prettige keuze voor redacties en onderwijs-pc’s waar stabiliteit en compatibiliteit vooropstaan en waar cloudfunctionaliteit minder belangrijk is.

FreeOffice draait probleemloos op oudere Windows-machines.

Presenteren zonder PowerPoint

Moet je vaak op locatie presenteren met matige wifi, dan werkt de Windows-app van Zoho Show prettig. Je bouwt hiermee decks volledig offline op en synchroniseert later. Werk je veel met sjablonen en wil je snel variëren? Dan is WPS Presentation handig door View / Slide Master en een vlotte bewerking. Oefen je timing met Slide Show / Rehearse Timings en print notitiepagina’s met je spreektekst.

Voor privacygevoelige instellingen of publieksdecks die je als link wilt delen zonder dat iemand de bron ziet, is CryptPad sterk. Je schrijft hiermee in Markdown, exporteert naar pptx of pdf en deelt via Share met leesrechten of een wachtwoord. Wissel je tussen platformen, bereid dan altijd een pdf-backup van je deck voor. Dat voorkomt compatibiliteitsproblemen met lettertypes of animaties op onbekende pc’s. In alle drie de routes houd je controle over timing, notities en distributie, zonder afhankelijk te zijn van Microsoft-ecosystemen. 

CryptPad: Veilig samenwerken

Als privacy belangrijk is, biedt CryptPad (www.cryptpad.fr) een volledige Office-achtige suite in de browser met docx-end-to-end-versleuteling. Maak in je CryptDrive een nieuw document, kies bijvoorbeeld Slides of Rich Text, en deel dat via de knoppen Share en Access. Je stelt per link of contact in of iemand mag kijken, presenteren of bewerken. Je kunt desgewenst een access-list of wachtwoord instellen.

Voor presentaties schrijf je in Markdown. Met Insert voeg je afbeeldingen uit je CryptDrive toe en met Present ga je fullscreen. Exporteren kan naar pptx, odp of pdf, zodat je decks ook zonder CryptPad te gebruiken zijn. Omdat alles client-side is versleuteld, zien zelfs servicebeheerders de inhoud niet. Zo kun je veilig samenwerken met collega’s of bekenden, zonder lokale software te installeren.

CryptPad is een vreemde, maar privacyvriendelijke eend in de bijt.
Notities en spreekteksten

Wil je tijdens een pitch je eigen aantekeningen zien, dan werkt dat in veel alternatieven net zo soepel. In WPS Slides klik je onderaan de slide in het notitiegebied om notities voor de spreker toe te voegen. Tijdens de presentatie open je met een klik rechts Speaker Notes, dat is je sprekersvenster dat het publiek niet ziet. Met Presentation / Print druk je notitiepagina’s af of exporteer je ze via Export to PDF.

In Zoho Show plaats je tekstkaders of slimme elementen voor steekwoorden en oefen je je timing door offline te presenteren. In WPS kun je bovendien je timing oefenen via Slide Show / Rehearse Timings en die tijden bewaren voor automatische weergave. Zo bouw je een beheersbare spreektekst, houd je de regie over tempo en zorg je dat je verhaal staat, ook zonder PowerPoint.

De PowerPoint-versie van WPS biedt veel extra’s, zoals het oefenen van je timing.

Tot slot

De kracht van minder bekende Office-alternatieven zit in keuzevrijheid. OnlyOffice levert een naadloze brug tussen lokaal werken en gecontroleerde samenwerking, bij voorkeur op je eigen Nextcloud. Zoho Writer en Show maken offline-productiviteit en documentautomatisering bereikbaar zonder IT-gedoe, terwijl WPS Office een snelle desktopervaring biedt met ingebouwde pdf-tools en cloudroaming. SoftMaker FreeOffice is de lichte klassieker die op vrijwel elke Windows-pc kan draaien, en CryptPad geeft je maximale privacy met docx-end-to-end-versleuteling. Door deze tools te combineren, bouw je een workflow die past bij je team, je data-eisen en je budget, zonder concessies te doen aan compatibiliteit of kwaliteit.