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
Professioneel en gratis video's bewerken? Aan de slag met VSDC Free Video Editor
Huis

Professioneel en gratis video's bewerken? Aan de slag met VSDC Free Video Editor

Maak jij tijdens een welverdiende vakantie talloze video’s? Met VSDC Free Video Editor giet je de leukste fragmenten in een gelikte film. Dankzij het gebruik van mooie overgangen en fraaie effecten oogt het resultaat zeer professioneel. Het kost je bovendien geen cent, want je installeert deze zeer uitgebreide videobewerker gratis op een Windows-computer.

Tegenwoordig liggen er best wat goede gratis videobewerkers voor het oprapen. Zeker wanneer je geen torenhoge eisen aan de videomontage stelt, heb je niet per se een betaald programma als Adobe Premiere Elements of Magix Video Deluxe nodig. Zo krijg je met het gebruiksvriendelijke VSDC Free Video Editor al een heleboel voor elkaar. In tegenstelling tot diverse gratis alternatieven voegt dit programma geen lelijk watermerk toe aan jouw film. Deze freeware heeft daarnaast een verrassend uitgebreide gereedschapskist.

Videobewerker installeren

VSDC Free Video Editor heeft relatief lage systeemeisen. Zeker voor video’s tot een resolutie van 1920 × 1080 pixels heb je geen supersnelle pc of laptop nodig. Wil je haarscherpe 4K-video’s bewerken? In dat geval adviseren de makers een systeem met 8 of 16 GB werkgeheugen. Daarnaast is een krachtige processor met meerdere rekenkernen geen overbodige luxe.

Particulieren mogen VSDC Free Video Editor voor nop installeren. Ga naar de site via www.kwikr.nl/vsdc en download het installatiebestand. Je hebt keuze tussen de 32bit- en 64bit-versie. De meeste computers kunnen met de 64bit-versie uit de voeten. Dubbelklik op het gedownloade exe-bestand en doorloop de stappen van de installatie. 

Nieuw project starten

Zodra je de videobewerker voor de eerste keer opstart, verschijnt er een pop-upvenster met een aanbeveling voor de betaalde Pro-versie (zie kader). Je klikt dat via het kruisje weg. Laat de ietwat drukke gebruikersomgeving even op je inwerken. Het beginscherm toont diverse instructies voor geavanceerde bewerkingen. Laat die als beginnende gebruiker links liggen. Je kunt wel alvast even de tabbladen doornemen, want die herbergen verschillende bruikbare functies.

Je gaat nu eerst een nieuw (video)project starten. Klik op het tabblad Projects en daarna op New project. Er verschijnt een nieuw venster waarin je diverse instellingen voor de videomontage kunt bepalen. Het belangrijkste is de waarde achter Resolution. Voor een scherp beeld en soepele montage laat je de huidige waarde van 1920 × 1080 pixels (16:9) staan. Filmt jouw smartphone of videocamera in een hogere resolutie, dan kun je een andere waarde overwegen. Laat de overige opties ongewijzigd. Je typt achter Project title een relevante projectnaam en kiest onderaan voor Blank project. Bevestig tot slot met Finish.

Welke resolutie ken je aan de videomontage toe?
VSDC Pro

Naast de hier besproken gratis versie bestaat er met VSDC Pro (www.videosoftdev.com/video-editor-pro) ook een betaalde variant. Die bevat allerlei extra snufjes voor geavanceerde gebruikers. Je kunt bijvoorbeeld een achtergrondkleur verwijderen, gesproken commentaar toevoegen en trillende beelden stabiliseren. Daarnaast ondersteunt de Pro-versie hardwareversnelling door een geschikte grafische kaart. Dit leidt tot betere prestaties, omdat de processor minder hoeft te rekenen. Je merkt dat bijvoorbeeld aan kortere wachttijden en een vloeiendere videoweergave. VSDC Pro kost op het moment van schrijven circa 31 euro. 

Video’s toevoegen

Nu ga je met het zojuist aangemaakte videoproject aan de slag. Merk op dat het tabblad Editor is geopend. Je zit nu dus in de videobewerker. Zoals je ziet, zijn er flink wat opties beschikbaar. Laat je hierdoor niet afschrikken, want we nemen de basisfuncties stap voor stap met je door.

Je dient eerst relevante videoclips aan het programma toe te voegen. Gunstig is dat VSDC Free Video Editor alle bekende beeldformaten ondersteunt. Klik bovenaan in de werkbalk op Add object / Video en navigeer naar de map met de bestanden. Je selecteert één of meer video’s, waarna je bevestigt met Openen / OK. Wanneer je minimaal twee fragmenten toevoegt, kies je Add to layer.

Wegens de talloze toeters en bellen ziet deze videobewerker er nogal imponerend uit.

De videoclips verschijnen allemaal in de tijdlijn onderaan het venster. Deze tijdlijn is belangrijk, want die bepaalt welke momenten er in de uiteindelijke film terechtkomen. Verder kun je hieraan bijvoorbeeld ook titels, overgangen, speciale effecten en audiotracks toevoegen. Vind je de tijdlijn te klein? Je kunt dit onderdeel eenvoudig vergroten. Zweef onder Layer 1 op de scheidslijn totdat er een dubbele pijl verschijnt. Beweeg de muis nu met ingedrukte muisknop omlaag. In VSDC Free Video Editor pas je op soortgelijke wijze de grootte van alle deelvensters aan. Kortom, richt op die manier het bewerkvenster naar eigen wens in.

Alle geïmporteerde videobestanden belanden op de tijdlijn.

Volgorde clips wijzigen

Waarschijnlijk heb je een bepaalde volgorde voor de videoclips in gedachten. Geen probleem, want je kunt de clips op de tijdlijn verplaatsen. Sleep het beoogde fragment met ingedrukte muisknop één laag omlaag. De overgebleven video’s schuif je daarna naar links of rechts. Creëer op die manier een ‘gat’ en sleep het fragment ernaartoe. Het is belangrijk dat er geen loze ruimtes op de tijdlijn achterblijven. Anders zie je namelijk zwart beeld.

Sleep videoclips naar onder, boven, rechts en links om de volgorde op de tijdlijn te wijzigen.

Scènes inkorten

Vanzelfsprekend wil je alleen boeiende scènes in de film tonen. Saaie passages snijd je daarom resoluut weg. Dat doe je door een videoclip in te korten. Gebruik hiervoor wederom de tijdlijn. Selecteer een fragment en beweeg de rode schuifregelaar naar deze clip. Het bijbehorende beeld verschijnt nu in de voorbeeldweergave. Vind je dit beeld te klein? Klik dan helemaal rechtsonder in het programma op het kleine plusteken. Je past daarmee het zoomniveau aan. Klik nu onder de voorbeeldweergave op de rode afspeelknop (PijltjeRechts) om de video te starten. Begint of eindigt het saaie gedeelte? Via dezelfde rode knop (twee verticale streepjes) pauzeer je de video.

Inkorten is vrij eenvoudig. Een geselecteerde videoclip heeft op de tijdlijn aan weerszijden twee piepkleine vierkanten. Klik daarop en houd de muisknop ingedrukt. Beweeg de muis nu naar links of rechts tot de rode schuifregelaar. Laat de muisknop als laatste los. Het fragment is nu een kopje kleiner gemaakt! 

Fragmenten splitsen

Je kunt een lang fragment ook in twee (of meer) delen opsplitsen. Dat is nuttig wanneer je deze videootjes op verschillende momenten in de film wilt tonen. Selecteer in de tijdlijn een videoclip en bepaal met de rode schuifregelaar een geschikt ‘splitmoment’. Overigens kun je met de mediaknoppen onder de voorbeeldweergave dit moment heel precies bepalen. Spoel bijvoorbeeld een seconde voor- of achteruit. Het is zelfs mogelijk om een video frame voor frame door te nemen. Staat de rode schuifregelaar exact op de goede plek? Klik dan in de werkbalk boven de tijdlijn op het pictogram met de twee rode haakjes. Je ziet vervolgens twee aparte clips.

Maak via de optie Split into parts van één clip twee losse fragmenten.

Roteren en bijsnijden

Soms is het noodzakelijk om een video negentig graden te roteren, omdat het beeld in VSDC Free Video Editor is gedraaid. Gelukkig herstel je deze ‘fout’ simpel. Je selecteert in de tijdlijn de juiste video en klikt helemaal bovenaan bij de sectie Tools op het pictogram met de gebogen pijl. De video draait meteen.

Staat er een ongewenst persoon, lelijk logo of storend object in beeld? Gooi de videoclip dan nog niet weg! Je kunt het fragment namelijk nog bijsnijden. Beslis welk deel van de video je wilt gebruiken en gooi het overtollige beeldmateriaal weg. Je klikt met de rechtermuisknop op een videoclip in de tijdlijn en kiest Crop tools / Custom region. Bepaal in het nieuwe venster welk deel uit beeld moet verdwijnen. Je regelt dat door de zwarte vierkantjes aan de randen van de voorbeeldweergave te verslepen. Tevreden? Met OK voer je de actie definitief uit.

Nuttig om te weten is dat je met deze functie de oorspronkelijke resolutie verkleint. Zeker wanneer je de uiteindelijke film op een grote televisie of pc-monitor bekijkt, zie je mogelijk korrelige beelden. Snijd daarom liever niet te veel beeldmateriaal weg.

Alles buiten de rechthoekige selectie verdwijnt uit de video.

Video-effecten

Wie dat wil, gaat in deze videobewerker helemaal los met speciale effecten. Klik maar eens bovenaan in de werkbalk op Video effects. Er verschijnt een uitgebreid menu. Voordat je iets uitkiest, selecteer je eerst een clip op de tijdlijn. Via Quick styles pas je heel makkelijk een effect toe, omdat hiervoor geen extra instellingen zijn vereist. Laat de video bijvoorbeeld op een gedateerde film uit de jaren ‘70 lijken of pas automatisch de contrastwaarden aan.

Wil je zelf meer invloed op in hoeverre het programma een video-effect toepast? Bij veel filters stel je naar eigen inzicht de intensiteit in. Bekijk hiervoor de mogelijkheden via Video effects / Adjustments. Zo wijzig je onder andere de kleurverzadiging en helderheid. Daarnaast kun je ook een stijlvol sepia- of zwart-wit-effect op de video loslaten. Zodra je eenmaal iets hebt gekozen, pas je in het deelvenster Properties window aan de rechterkant de waarden aan. Als je dit deelvenster niet ziet, klik je achtereenvolgens op het tabblad View en Properties. Tot slot zijn ook de video-effecten binnen de rubrieken Filters en Nature de moeite waard. Spijt van een bepaalde keuze? Met de sneltoets Ctrl+Z maak je de laatste handeling weer ongedaan. Experimenteer er dus lustig op los!

Met het Auto contrast-filter optimaliseer je heel eenvoudig de contrastwaarden.
Gebruik het deelvenster Properties window om de instellingen van een video-effect te wijzigen.

Overgangen

Tijdens de montage van een video ontkom je eigenlijk niet aan het gebruik van overgangen. Doe je dat niet, dan lopen de fragmenten nogal abrupt in elkaar over. Dat is onprettig voor de kijker. Met een overgang wordt een nieuwe videoclip op subtiele wijze geïntroduceerd.

Klik in de tijdlijn op de videoclip waarbij je aan het einde een overgang wilt toevoegen. Je opent zo nodig eerst het tabblad Editor en navigeert daarna naar Video effects / Transitions. Probeer nu één van de beschikbare overgangen uit. Zo laat je het oude fragment bijvoorbeeld in vlammen opgaan (Paper burn) of in scherven uit elkaar vallen (Shattered glass). Kies een overgang en controleer in het pop-upvenster of de optie To the end of scene is geselecteerd. Klik op OK.

Merk op dat er op de tijdlijn een verse laag met de gekozen overgang verschijnt. Klik op de rode afspeelknop onder de videoweergave om de overgang te bekijken. Je past in het eigenschappenvenster aan de rechterkant diverse zaken aan, waaronder de tijdsduur en transparantie.

Deze videobewerker heeft een aantal spectaculaire overgangen in huis.

Geluid

De audiokwaliteit van zelfgeschoten video’s is vaak matig. Stond er toentertijd tijdens de opname een stevig briesje, dan hoor je waarschijnlijk voornamelijk windgeruis. Zet het geluid van dergelijke videoclips daarom gewoon uit. Klik in de tijdlijn op een fragment om de bijbehorende eigenschappen aan de rechterkant te tonen. Verschijnt dat niet, dan klik je op View / Properties. Je scrolt zo nodig een stukje omlaag totdat je de optie Audio track tegenkomt. Klik achter Track 1 op het kleine pijltje en kies Don’t use audio.

Je kunt eventueel zelf audio aan de videomontage toevoegen, zoals achtergrondmuziek of een voice-over. Klik zo nodig op het tabblad Editor en kies Add object / Audio. Je selecteert nu pakweg een mp3-, wma-, wav- of flac-bestand op de computer. Via Openen / OK belandt de audiotrack als nieuwe laag op de tijdlijn. Kies een geschikte plek en pas diverse eigenschappen in het Properties window desgewenst aan. Denk hierbij onder meer aan de snelheid en het volumeniveau.

Schakel bij video’s met slecht geluid het audiospoor eenvoudig uit.

Film opslaan

Deze workshop is slechts een bescheiden introductie van VSDC Free Video Editor. Je kunt namelijk nog veel meer met deze veelzijdige videobewerker doen. Ga er dus vooral ook zelf mee stoeien. Ben je eenmaal klaar, dan sla je het resultaat op. Je kunt de film daarna op verschillende schermen bewonderen.

Klik in de werkbalk op het tabblad Export project en speel zekerheidshalve de volledige videomontage nog eens af. Ben je helemaal tevreden, dan geef je in de werkbalk het gewenste videoformaat aan. Kies bijvoorbeeld voor mp4, mkv, mov, flv of mts. Het is ook mogelijk om de film op een dvd te branden. Wijzig via Change name zo nodig de bestandsnaam en opslaglocatie. Je bevestigt bovenaan ten slotte met Export project / Continue.

VSDC Free Video Editor ondersteunt een heleboel exportformaten.
▼ Volgende artikel
CES 2026: 5 opvallende dingen gespot door Martin van Power Unlimited Tech
Huis

CES 2026: 5 opvallende dingen gespot door Martin van Power Unlimited Tech

Je hebt vorige week al een aantal keer de leukste filmpjes vanaf de CES voorbij zien komen, gemaakt door Martin Verschoor van Power Unlimited Tech. De CES is inmiddels voorbij (tot volgend jaar, Las Vegas!), maar als toetje hebben we nog vijf bijzondere TikToks voor je verzameld.

Ook leuk: CES 2026: 4 opvallende dingen gespot door Martin van Power Unlimited Tech

Vechtende robots

View post on TikTok

Vliegend naar je werk met de jetbike

View post on TikTok

Vloeistof-speakers (en ja, dat ziet er gaaf uit)

View post on TikTok

Tip voor de Vierdaagse: extra steun voor je benen

View post on TikTok

Gewone fiets? Zo maak je er een e-bike van

View post on TikTok