ID.nl logo
Maak je eigen ZigBee-gateway
© Reshift Digital
Huis

Maak je eigen ZigBee-gateway

ZigBee is een interessant draadloos mesh-protocol voor domotica-apparaten, onder andere gebruikt door Philips Hue en IKEA Trådfri. Met Zigbee2MQTT en een ZigBee-transceiver maak je van een Raspberry Pi een ZigBee-gateway. Door het gebruik van MQTT integreer je al je ZigBee-apparaten bovendien eenvoudig met allerlei domoticasystemen, waaronder Home Assistant.

ZigBee is een protocol voor draadloze communicatie op korte afstand en met laag stroomverbruik. Ideaal voor domotica, zou je denken, en inderdaad: zo zijn de lampen van Philips Hue en IKEA Trådfri op ZigBee gebaseerd. Ook Xiaomi en heel wat andere fabrikanten hebben een breed gamma aan ZigBee-apparaten, zoals contactsensoren voor deuren en ramen, temperatuursensoren enzovoort. Vergeleken met Z-Wave, een vergelijkbare technologie, zijn ZigBee-apparaten meestal betaalbaarder.

Om ZigBee-apparaten aan je thuisnetwerk te koppelen zodat je bijvoorbeeld je lampen met je smartphone kunt aansturen, heb je een gateway nodig. Sommige fabrikanten noemen dat ook een hub of een bridge. In correcte ZigBee-termen heet het eigenlijk een concentrator of coördinator. We zullen in deze masterclass afwisselend de termen gateway en coördinator gebruiken.

©PXimport

Mesh-netwerk

ZigBee is een mesh-netwerk: in plaats van elk apparaat rechtstreeks met de gateway te verbinden, communiceren alle apparaten van het netwerk met elkaar. Ze sturen een boodschap gewoon door naar naburige apparaten, die die weer doorstuurt, tot ze bij de ontvanger is aangekomen. Zo kunnen twee ZigBee-apparaten zelfs met elkaar communiceren als ze zich niet in elkaars bereik bevinden, zolang er maar een apparaat tussen staat dat zich in het bereik van de twee apparaten bevindt.

Elk ZigBee-netwerk heeft één coördinator, die het netwerk opstart en beheert. In domotica wordt dit vaak de gateway genoemd, omdat dit apparaat het ZigBee-netwerk ook met je thuisnetwerk verbindt (een gateway verbindt altijd twee incompatibele netwerken). Daarnaast zijn er ook routers: die hebben een eigen taak, zoals een lamp, schakelaar of sensor, en sturen daarnaast boodschappen van andere ZigBee-apparaten door. Omdat een router het best altijd ingeschakeld is, zijn dat meestal apparaten die je in het stopcontact steekt, zoals een lamp.

Tot slot heb je ook de gewone apparaten, die hun taak uitvoeren maar geen boodschappen doorsturen omdat ze op batterijen werken en dus niet altijd ingeschakeld zijn. Elk van deze apparaten stuurt zijn boodschappen rechtstreeks naar de coördinator of naar een router.

Je eigen gateway

De meeste mensen gebruiken ZigBee met een gateway van de fabrikant van hun apparaten. De kans is groot dat je bijvoorbeeld de Philips Hue Bridge gebruikt om je Philips Hue-lampen op afstand aan te sturen, en de IKEA hub als je IKEA Trådfri-lampen hebt gekocht. Maar dat hoeft niet: uiteindelijk gaat het onderliggend allemaal om de ZigBee-standaard en kun je in principe dus om het even welke gateway gebruiken die deze standaard ondersteunt.

In deze masterclass tonen we je hoe je van een Raspberry Pi een ZigBee-gateway maakt, door een ZigBee-transceiver op een usb-poort aan te sluiten. Met de software Zigbee2MQTT maak je dan een coördinator van je Raspberry Pi, en kun je in Home Assistant of andere domoticasoftware via het berichtenprotocol MQTT je ZigBee-netwerk aansturen. Aan het einde van deze masterclass krijg je de metingen van je ZigBee-sensoren dus in je dashboard van Home Assistant te zien en kun je ook je ZigBee-lampen en -schakelaars via ditzelfde dashboard aansturen.

©PXimport

ZigBee-adapter

Om de ZigBee-signalen te kunnen ontvangen en uitsturen op je Raspberry Pi heb je een adapter nodig. Zigbee2MQTT ondersteunt meerdere adapters. De bekendste adapter is de ConBee II, en die zou out-of-the-box bruikbaar moeten zijn, maar de ondersteuning in Zigbee2MQTT is nog experimenteel.

Voor kleine netwerken (minder dan 20 ZigBee-apparaten) is de Texas Instruments CC2531 bruikbaar. Die is voor ongeveer 5 euro te vinden op AliExpress, maar je moet er zelf nog (eenmalig) firmware op flashen (al verkoopt iTead ze ook met compatibele firmware voorgeïnstalleerd). Daarvoor heb je nog een speciale downloaderkabel nodig en vier jumperdraden. Voor grotere netwerken zijn de Electrolama zig-a-zig-ah! en de CC2652RB-stick van slaesh aan te raden: ze kunnen meer dan 100 ZigBee-apparaten aan, hebben een beter bereik door een externe antenne en hebben geen extra hardware nodig om de firmware erop te flashen. In deze masterclass maken we gebruik van de CC2531.

Sluit de CC2531 aan

De downloaderkabel bestaat uit een vierkanten printplaatje met 10-pins header aan de ene kant en een kleinere header met 10 pinnen aan de andere kant. Er zit ook een dunne lintkabel bij. Daarvan steek je de ene connector in de kleine header van het printplaatje, en de andere connector in dezelfde header op de CC2531. Wees voorzichtig wanneer je de connectors insteekt, want de pinnetjes zijn klein en kwetsbaar. De grote header van het downloaderprintplaatje sluit je nu met jumperdraden als volgt op de gpio-pinnen van je Raspberry Pi aan zoals in tabel 1.

Kijk op de website voor de pinnummers van de Raspberry Pi. De pinnnummers van de downloader vind je op de printplaat achter de header.

Nadat je de CC2531 op de downloader hebt aangesloten en alle jumperdraden tussen het downloaderprintplaatje en de Raspberry Pi hebt aangesloten, steek je de CC2531 in een usb-poort van je Raspberry Pi. Hij is nu klaar om van nieuwe firmware te voorzien.

©PXimport

Interferentie met bluetooth en wifi

ZigBee werkt in de frequentieband van 2,4 GHz, die ook gebruikt wordt door bluetooth en wifi. Vooral het gebruik van 2,4 GHz wifi bij je thuis kan een onbetrouwbaar ZigBee-netwerk opleveren. Als een wifi-netwerk zich op hetzelfde kanaal bevindt als een ZigBee-netwerk, is er doorgaans te veel interferentie om ZigBee nog te doen werken. Zo overlapt ZigBee-kanaal 18 (2440 MHz) met wifi-kanaal 6 (2437 MHz) en ZigBee-kanaal 25 (2475 MHz) met wifi-kanaal 11 (2462 MHz). Heb je nog een druk bezet 2,4 GHz wifi-netwerk, dan is een goede planning van de kanalen belangrijk. Gebruik bijvoorbeeld geen wifi-kanaal 6 op je accesspoint, zodat ZigBee-kanaal 18 zonder interferentie te gebruiken is. Bekijk uiteraard eerst ook welke wifi-kanalen je buren gebruiken. Op de Raspberry Pi die je als ZigBee-gateway inzet, schakel je het best wifi en bluetooth uit. Indien je dat niet doet, kan het ook al helpen als je de ZigBee-transceiver niet rechtstreeks in een usb-poort van je Raspberry Pi steekt, maar via een usb-verlengkabel.

Flashprogramma

We gaan nu vanaf je Raspberry Pi nieuwe firmware flashen op de CC2531. Installeer eerst wiringPi en git:

sudo apt install wiringpi git

Download dan de software om je CC2531 te flashen en controleer of de software de chip herkent:

git clone https://github.com/jmichault/flash_cc2531.gitcd flash_cc2531./cc_chipid

Die laatste opdracht zou ID = b524. moeten teruggeven. Zo niet, controleer dan of je alles goed hebt aangesloten.

Flash de firmware

Download de firmware van www.tiny.cc/z-stack. Je vindt deze in de map coordinator. Voor de CC2531 is de firmware Z-Stack_Home_1.2 aangeraden. Ga daarin naar de map bin. Is je netwerk minder dan dertig apparaten groot, open dan de map default, anders source_routing. Open dan het juiste zip-bestand voor de CC2531. Op je Raspberry Pi download je dat zip-bestand en pak je het uit:

wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20190608.zip

unzip CC2531_DEFAULT_20190608.zip

Wis daarna het flashgeheugen van de CC2531 en schrijf de nieuwe firmware ernaar:

./cc_erase

./cc_write CC2531ZNP-Prod.hex

Als je je uiteindelijk flash OK te zien krijgt, is het flashen gelukt. Verwijder de jumperdraden tussen de downloader en de Raspberry Pi, haal de CC2531 uit de usb-poort en verwijder ook de downloaderkabel van de CC2531. Die laatste is nu een ZigBee-coördinator. Steek de CC2531 weer in de usb-poort, het liefst met een usb-verlengkabel ertussen (zie het kader ‘Interferentie met bluetooth en wifi’). Bekijk dan met de opdracht dmesg|grep tty wat het apparaatbestand van de CC2531 is. Normaal gesproken is dat /dev/ttyACM0.

©PXimport

Softwarevereisten

We gaan ervan uit dat je al een MQTT-broker hebt draaien. De bekendste is Eclipse Mosquitto, die je rechtstreeks in Raspberry Pi OS kunt installeren (met het commando sudo apt install mosquitto), als een Docker-container kunt draaien of in de vorm van een Home Assistant-add-on.

Zigbee2MQTT draai je het gemakkelijkst in een Docker-container en dat gaan we ook doen met Zigbee2MQTT Assistant (een webinterface voor Zigbee2MQTT). Installeer dus eerst Docker en Docker Compose op je Raspberry Pi als dat nog niet is gebeurd:

curl -sSL https://get.docker.com | sh

sudo usermod pi -aG docker

sudo apt install python3-pip

sudo pip3 install docker-compose

sudo reboot

Docker Compose

Maak nu een directory aan voor de Zigbee2MQTT-container (Zigbee2MQTT Assistant heeft geen directory nodig):

cd

mkdir -p containers/zigbee2mqtt

Voeg vervolgens de containerdefinitie toe aan het bestand docker-compose.yml in je home-directory:

version: '3.7'

services:

zigbee2mqtt:

image: koenkk/zigbee2mqtt

container_name: zigbee2mqtt

volumes:

- ./containers/zigbee2mqtt:/app/data

devices:

- /dev/ttyACM0:/dev/ttyACM0

restart: always

environment:

- TZ=Europe/Amsterdam

zigbee2mqttassistant:

image: carldebilly/zigbee2mqttassistant

container_name: zigbee2mqttassistant

environment:

- Z2MA_SETTINGS__MQTTSERVER=MQTT_BROKER

- Z2MA_SETTINGS__MQTTUSERNAME=MQTT_USER

- Z2MA_SETTINGS__MQTTPASSWORD=MQTT_PASSWORD

- TZ=Europe/Brussels

ports:

- 8880:80

restart: always

Pas de nodige waardes aan jouw situatie aan. Het apparaatbestand bijvoorbeeld als dat bij jou verschilt. En vul de hostname of het ip-adres van je MQTT-broker in na het gelijkheidsteken bij Z2MA_SETTINGS__MQTTSERVER, en doe hetzelfde met de gebruikersnaam en het wachtwoord als je die voor je MQTT-broker nodig hebt.

Start de containers daarna:

docker-compose up -d

Dat kan een tijdje duren, omdat Docker de images voor beide containers downloadt en de containers dan start.

Stel MQTT in

De configuratie van Zigbee2MQTT Assistant heb je al gedaan in het Docker Compose-bestand, maar Zigbee2MQTT werkt met een afzonderlijk configuratiebestand. Toen de Docker-container zonet voor het eerst startte, is dat configuratiebestand aangemaakt. Stop eerst de container, zodat je het bestand veilig kunt bewerken:

docker-compose stop zigbee2mqtt

Open nu het configuratiebestand met het programma nano:

sudo nano /home/pi/containers/zigbee2mqtt/configuration.yaml

Ga naar de sectie die begint met mqtt: en vul daar de juiste gegevens in voor de server. Dat ziet er als volgt uit:

mqtt:

base_topic: zigbee2mqtt

server: 'mqtt://SERVER'

user: USER

password: PASSWORD

Als je Mosquitto in een Docker-container op dezelfde Raspberry Pi hebt draaien, dan kun je in de plaats van SERVER eenvoudigweg de naam van de container opgeven, anders vul je hier het ip-adres of de hostname in. Als je geen authenticatie hebt ingesteld voor je MQTT-broker, laat je de regels met user en password gewoon weg.

Stel de netwerksleutel in

Nu is er nog één beveiligingsinstelling nodig. Een ZigBee-netwerk versleutelt zijn verkeer, maar de standaardsleutel die Zigbee2MQTT instelt, is voor elke gebruiker hetzelfde. Dat verander je dus het best. Een netwerksleutel is een 128bit-getal of dus 16 bytes. Zigbee2MQTT vraagt om die netwerksleutel in te voeren in de vorm van 16 getallen van 0 tot 255.

Zo’n willekeurige reeks getallen genereer je met de volgende opdracht:

dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -A n -t u1 | awk '{printf "["} {for(i = 1; i< NF; i++) {printf "%s, ", $i}} {printf "%s]\n", $NF}'

Laat je niet afschrikken door wat er als een magische toverspreuk uitziet. We laten de Raspberry Pi hier 16 willekeurige bytes genereren en zetten die met wat transformaties om naar de vorm die Zigbee2MQTT verwacht. Het resultaat kun je dan eenvoudig plakken naar de juiste sectie in het configuratiebestand van Zigbee2MQTT. Ga naar advanced en vul daar de netwerksleutel in bij network_key. Een voorbeeld:

advanced:

network_key: [225, 167, 199, 215, 99, 234, 178, 75, 98, 151, 167, 200, 155, 149, 50, 85]

Sla nu het bestand in nano op met Ctrl+O en sluit het programma af met Ctrl+X. Start de container dan opnieuw op:

docker-compose start zigbee2mqtt

Controleer ook even in de logs of Zigbee2MQTT correct opstart:

docker-compose logs -f zigbee2mqtt

Je zou alleen groene en gele boodschappen mogen zien.

©PXimport

Rechtstreekse ZigBee-ondersteuning in Home Assistant

Domoticacontrollers zoals Home Assistant, Domoticz en openHAB ondersteunen ook rechtstreeks ZigBee-apparaten, ofwel standaard ofwel via een add-on. Waarom zou je dan de omweg via Zigbee2MQTT nemen? Daar zijn verschillende redenen voor. Misschien experimenteer je immers nog heel wat met je domoticacontroller en herstart je die vaak of ligt hij door je experimenten soms plat, terwijl je graag hebt dat je ZigBee-apparaten continu bruikbaar zijn. Of misschien heb je weinig ZigBee-apparaten in de buurt van je domoticacontroller, waardoor het mesh-netwerk er een slechte dekking heeft. Dan plaats je een Raspberry Pi met Zigbee2MQTT in de buurt van je ZigBee-apparaten voor een betrouwbaarder werking.

©PXimport

Toestemming voor het netwerk

Normaal was dit de laatste keer dat je Zigbee2MQTT zelf hebt moeten zien. Het toevoegen en configureren van je ZigBee-apparaten doe je vanaf nu in de webinterface van Zigbee2MQTT Assistant. Open daarvoor de url http://IP:8880, waarbij je IP vervangt door het ip-adres van je Raspberry Pi. Zonder gepaarde apparaten krijg je nu één apparaat te zien: de Coordinator. Zo niet, kijk dan weer in de logs van Zigbee2MQTT.

Dan moet je nu een voor een je ZigBee-apparaten toevoegen. Zigbee2MQTT Assistant laat automatisch de eerste twintig minuten na het starten apparaten toe om tot het netwerk toe te treden. Als het al langer geleden is, ga dan naar de pagina Status en klik op Allow new devices to join the network. Daarna heb je weer twintig minuten de tijd om een apparaat toe te voegen, of tot je op dezelfde pagina op Deny new devices to join the network klikt.

Voeg je apparaten toe

Hoe je je ZigBee-apparaten aan het netwerk toevoegt, hangt van het type apparaat af. Bekijk daarvoor de handleiding. Vaak moet je gewoon enkele seconden een knop op het apparaat ingedrukt houden. Zoek op de webpagina met ondersteunde apparaten naar je apparaat en kijk op de apparaatspecifieke pagina of er speciale instructies voor pairing staan.

Voor de Xiaomi Aqara-contactsensor voor een deur of raam dien je bijvoorbeeld vijf seconden lang de resetknop ingedrukt te houden. Zodra het blauwe ledje begint te knipperen, kun je loslaten en is de sensor aan je netwerk toegevoegd. Wil je een Philips Hue-lamp toevoegen die je al met je Philips Hue Bridge hebt gebruikt, dan dien je eerst een factory reset van de lamp uit te voeren. Het eenvoudigste is om de lamp gewoon in de Philips Hue-app van de bridge te verwijderen.

Lijst met apparaten

Wanneer je zo al je ZigBee-apparaten aan je netwerk hebt toegevoegd, krijg je ze te zien op de pagina Devices van Zigbee2MQTT Assistant, inclusief een productfoto en de door het apparaat aangeboden componenten. Voor een contactsensor waarmee je kunt zien of je deur open of dicht is, zijn dat bijvoorbeeld battery, contact en linkquality.

De apparaten krijgen als naam standaard een numeriek ID, maar dat is niet erg gebruiksvriendelijk. Klik daarom op de naam (in het blauw) in de lijst met apparaten, vul onder Rename de nieuwe naam in en klik dan rechts op Rename. Daarna krijg je in de lijst de nieuwe naam te zien. Wanneer je zo al je apparaten een normale naam hebt gegeven, herstart je het best Zigbee2MQTT met de volgende opdracht:

docker-compose restart zigbee2mqtt

©PXimport

Integratie met Home Assistant

Voor je je ZigBee-apparaten in Home Assistant ziet, dien je Home Assistant met je MQTT-broker te laten spreken. Dat kan in Instellingen / Integraties, waarna je op het plusteken rechts onderaan klikt en dan MQTT kiest. Voer hier nu de hostname, poort (1883) en indien nodig gebruikersnaam en wachtwoord in. Vink ook Detectie inschakelen aan, zodat Home Assistant automatisch apparaten aanmaakt voor diensten met MQTT-boodschappen die de conventies van Home Assistant volgen, waaronder Zigbee2MQTT.

Nadat de integratie is opgeslagen, toont Home Assistant je al welke apparaten het ontdekt. Normaal gezien zou je nu alle apparaten die je in Zigbee2MQTT hebt toegevoegd moeten zien. Je vindt ze allemaal in het tabblad Apparaten van je integraties. Als je op een apparaat klikt, krijg je meer informatie over het apparaat te zien, inclusief de entiteiten die in Home Assistant beschikbaar zijn. Vanaf nu kun je deze entiteiten in automatiseringen gebruiken en ook in de Lovelace-gebruikersinterface tonen.

©PXimport

MQTT

Zigbee2MQTT kun je ook perfect met andere domoticasystemen gebruiken, als ze maar MQTT spreken. Je kunt nu ook in je eigen Python-scripts bijvoorbeeld je ZigBee-lampen aansturen door de juiste MQTT-boodschappen te sturen, of op een ESPHome-apparaatje luisteren naar MQTT-boodschappen die van je contactsensor of temperatuursensor komen om deze op een klein schermpje te tonen.

In de documentatie van Zigbee2MQTT is te vinden wat de structuur van de MQTT-onderwerpen en -boodschappen is. Je vindt daar ook enkele voorbeelden. De boodschappen zijn in JSON-formaat. Specifieke informatie over jouw apparaten zoek je het best op de pagina van dat apparaat op de website van Zigbee2MQTT op.

MQTT-boodschappen bekijken en sturen

De JSON-inhoud van een boodschap als je een deur opent, ziet er dan bijvoorbeeld als volgt uit:

{"battery":100,"voltage":3015,"contact":true,"linkquality":13}

Een schakelaar zoals de Xiaomi Mi power plug schakel je in door de volgende boodschap naar het onderwerp zigbee2mqtt/naamvanschakelaar/set te sturen:

{"state": "ON"}

En op deze manier kun je al je ZigBee-apparaten via MQTT op je eigen netwerk aansturen en uitlezen.

©PXimport

Geavanceerde mogelijkheden

Zigbee2MQTT ondersteunt nog talloze geavanceerde mogelijkheden van het ZigBee-protocol. Bekijk zeker de website van Zigbee2MQTT. Zo kun je met binding twee ZigBee-apparaten rechtstreeks met elkaar laten communiceren, zoals een dimmer en een lamp. Je lamp reageert dan niet alleen sneller op de dimmer, maar dit werkt dan ook als Zigbee2MQTT of je MQTT-broker offline is. En met groepen kun je meerdere ZigBee-apparaten tegelijk aansturen. Zigbee2MQTT kan ook van sommige ZigBee-apparaten de firmware updaten. De ontwikkelaars zijn ook aan een geïntegreerde webinterface aan het werken. Voorlopig is die nog experimenteel, maar op termijn zou het dan niet meer nodig moeten zijn om Zigbee2MQTT Assistant afzonderlijk te installeren.

▼ Volgende artikel
☔ Op de fiets door het herfstweer? Zo kies je de beste regenkleding
© yossarian6 - stock.adobe.com
Gezond leven

☔ Op de fiets door het herfstweer? Zo kies je de beste regenkleding

Kijk naar buiten en het is meteen duidelijk: de herfst is begonnen. Moet jij ook op de fiets door de regen? Je houdt het droog met goede regenkleding. Van poncho tot pak: zo valt je fietstocht niet in het water!

Dit artikel in het kort:

🌧️ Waar gebruik jij je fiets voor? (want dat maakt uit)
🌧️ Verschillende soorten regenkleding
🌧️ Waterdichtheid, ademend vermogen, gebruikt materiaal en maat
🌧️ De invloed van het seizoen
🌧️ Bekende merken

Lees ook: Je regenjas wassen én waterdicht houden: natuurlijk kan dat!

Waar gebruik jij je fiets voor?

Welke regenkleding het best bij je past, hangt af van hoe je fietst. Leg je vaak flinke afstanden af, dan telt vooral comfort. Kies dan voor ademende materialen die soepel meebewegen en niet knellen. Gebruik je je (elektrische) fiets vooral voor het woon-werkverkeer of om naar school te gaan, dan is gemak belangrijker: regenkleding die je snel kunt aantrekken en weer uitdoen is dan ideaal.

Verschillende soorten regenkleding

Daarna kun je kijken welk type regenkleding het best bij je past. Een compleet regenpak met jas en broek is handig als je vaak fietst en goed beschermd wilt zijn. Toch vinden veel mensen vooral het aantrekken van de broek onhandig. In dat geval is een losse regenjas of een regenponcho een praktischer optie. Houd er wel rekening mee dat je benen dan bij stevige regen sneller nat worden. Misschien zijn regenchaps wat voor jou: hiermee bedek je alleen de voorkant van je bovenbenen. Ook slim: alvast nadenken over regenschoenen. Wanneer je echt een hekel hebt aan natte voeten, zijn overschoenen een welkome aanvulling op je regenoutfit!

Traditioneel regenpak

De klassieker onder de regenkleding is natuurlijk het regenpak. Dat bestaat uit een jas en een broek en is meestal gemaakt van waterdicht materiaal zoals PVC of nylon. Het voordeel is dat je praktisch helemaal bedekt bent, van je nek tot je enkels. Het nadeel? Vooral goedkope regenpakken kunnen wat minder ademend zijn, waardoor je bezweet kunt aankomen.

Losse regenjas

Een losse regenjas is handig wanneer je al een waterdichte broek hebt (of natuurlijk wanneer je het niet erg vindt als je benen natregenen). Regenjassen zijn vaak stijlvoller en kunnen bij slecht weer ook als gewone jas gedragen worden (iets wat je met een traditioneel regenpak niet zo snel zult doen). Let op details: getapete naden en een hoge kraag zorgen dat je beter beschermd bent tegen de regen.

Regencape/regenponcho

Hoef je maar een kort stukje te fietsen? Dan is een regencape of - poncho ideaal: gewoon een kwestie van omslaan of over je hoofd aantrekken. Met een cape of poncho heb je veel bewegingsvrijheid, maar bij harde wind kunnen ze een beetje onhandig zijn. Er zijn ook regencapes die bijvoorbeeld elastieken aan de mouwen hebben die je aan het stuur kunt vastmaken, of een extra koord om je middel waardoor de cape minder wappert en klappert in de wind.

Regenoverschoenen

Niets zo vervelend als helemaal droog blijven dankzij een goed regenpak, maar aankomen met doorweekte schoenen. Regenoverschoenen zijn dé oplossing. Ze zijn gemaakt van waterdicht materiaal en je schuift ze makkelijk over je normale schoenen heen.

TypeVoordelenNadelen
RegenpakVolledig beschermdMinder ademend
RegenjasStijlvol, veelzijdigBenen blijven onbedekt
Cape/ponchoMakkelijk aan-/uitdoen Windgevoelig
OverschoenenDroge voetenExtra aankoop

©iuricazac - stock.adobe.com

Waar moet je op letten bij het kiezen van regenkleding?

➜ Waterdichtheid

Dit is natuurlijk het allerbelangrijkste om op te letten! Om te weten hoe goed een regenjas je droog kan houden, kijk je naar de waterkolomwaarde op het etiket. Hoe hoger de waarde, hoe beter de waterdichtheid. Een waarde van 10.000 mm of meer is uitstekend. In de tabel hieronder zie je hoe goed verschillende waterkolomwaarden je beschermen.

➜ Ademend vermogen

Je wilt droog blijven, maar je wilt ook dat je eigen zweet niet blijft hangen in je regenpak. Materialen zoals Gore-Tex zijn waterdicht maar toch ademend.

➜ Materiaal

Het materiaal is ook iets om rekening mee te houden. Polyester is licht en ademend maar minder duurzaam. PVC is zwaarder maar gaat langer mee. Kies wat bij jou en je fietsgedrag past.

➜ Prijs-kwaliteitverhouding

Goedkoop is vaak duurkoop, vooral als je dagelijks fietst. Investeer in kwalitatief goede regenkleding die jaren meegaat.

De juiste maat kiezen

Bij het kiezen van de juiste maat is het belangrijk om rekening te houden met de kleding die je eronder draagt. Pas verschillende maten en draag de kleding die je normaal tijdens het fietsen draagt. Bepaal of je genoeg bewegingsvrijheid overhoudt. Een regenjas die zó strak om je armen zit dat je niet goed meer richting kunt aangeven, dat moet je natuurlijk niet willen.

Tabel: waterdichtheid

Waterdichtheid van regenkleding wordt gemeten in millimeters waterkolom (mm). Dit geeft aan hoe hoog een kolom water kan zijn voordat deze door de stof heen dringt. Voor regenkleding voor de fiets is minimaal 5.000 tot 10.000 mm aan te raden.

Aantal mm:Waterdichtheid:Beschermt tegen:
0 - 1.500SpatwaterdichtLichte regen en spatten
1.500 - 5.000WaterdichtMatige tot zware regen
5.000 - 10.000WaterdichtBijna alle regen, wel wat vochtdoorslag mogelijk
10.000 - 20.000Hoogwaardig waterdichtZware stortbuien
20.000+Extreem waterdichtExtreme omstandigheden

➜ Zomer of winter?

Wat voor regenkleding je kiest, hangt ook af van het seizoen en van wat je allemaal op de fiets doet.

Zomer

In de zomer is lichte, ademende kleding het prettigst. Ga voor materialen die waterdicht én ventilerend zijn, zoals Gore-Tex. Dat houdt regen buiten maar laat vocht van binnen ontsnappen. Zo blijf je droog van de regen én raak je overtollige warmte kwijt tijdens het fietsen. Ideaal dus voor warme, wisselvallige dagen waarop je actief bent.

Winter

In de winter draait het juist om warmte. Een regenjas met thermische voering houdt je niet alleen droog, maar ook behaaglijk. Veel modellen hebben een uitneembare voering, zodat je dezelfde jas ook in het voor- en najaar kunt dragen. Houd wel rekening met een hogere prijs, maar daar krijg je meer comfort en veelzijdigheid voor terug.

Testen voor gebruik

Wil je zeker weten dat je droog overkomt? Het klinkt gek, maar spuit jezelf nat met een tuinslang om te testen hoe waterdicht de kleding echt is. Zo kom je niet voor verrassingen te staan.

Welk merk fietskleding moet je kiezen?

In Nederland zijn er verschillende bekende merken die regenkleding van hoge kwaliteit aanbieden. Dit zijn enkele van de meest populaire:

1: Agu

Dit Nederlandse merk is vooral bekend onder fietsers en biedt een breed scala aan regenkleding, van jassen tot broeken en overschoenen.

2: Rains

Dit Deense merk is ook populair in Nederland en staat bekend om zijn minimalistische en stijlvolle regenjassen.

3: Mac in a Sac

Dit merk biedt lichtgewicht en opvouwbare regenkleding die gemakkelijk op te bergen is.

4: Vaude

Dit Duitse merk is populair onder outdoorliefhebbers en biedt duurzame en milieuvriendelijke regenkleding.

5: Columbia

Dit Amerikaanse merk is ook in Nederland verkrijgbaar en biedt een breed scala aan regenkleding, vaak gemaakt van hun gepatenteerde Omni-Tech-materiaal dat zowel waterdicht als ademend is.

©Martin - stock.adobe.com

✅ Checklist regenkleding kopen

☐ Bepaal je behoeften: dagelijks gebruik, lange ritten, woon-werkverkeer.
☐ Kies het type regenkleding: regenpak, losse jas, cape/poncho, overschoenen.
☐ Controleer de waterdichtheid: zoek naar de waterkolomwaarde.
☐ Let op het ademend vermogen: materialen zoals Gore-Tex zijn ideaal.
☐ denk om het seizoen: licht en ademend voor de zomer, geïsoleerd voor de winter.
☐ Check de prijs-kwaliteitverhouding: goedkoop is niet altijd beter.
☐ Pas verschillende maten: houd rekening met de kleding die je eronder draagt.
☐ Test de kleding indien mogelijk: gebruik een tuinslang of lees online reviews.
☐ Lees het waslabel: sommige kledingstukken hebben speciale zorg nodig.
☐ Overweeg extra's: zoals reflecterende strips voor veiligheid.

▼ Volgende artikel
AI-agents: zo laat je slimme digitale assistenten zelfstandig taken uitvoeren
© Anwar - stock.adobe.com
Huis

AI-agents: zo laat je slimme digitale assistenten zelfstandig taken uitvoeren

We vinden het intussen al bijna normaal dat generatieve AI-modellen leuke tekeningen kunnen maken en teksten kunnen schrijven. Maar de AI-evolutie staat niet stil: er verschijnen steeds krachtigere AI-agents op die zelfstandig ook diverse taken kunnen aanpakken. Hoe je ze zelf gebruikt of bouwt, lees je in dit artikel.

In het kort

We leggen uit wat AI-agents precies zijn, hoe ze werken en waarin ze verschillen van gewone AI-assistenten. Je ziet voorbeelden van praktische agents die reizen plannen, data analyseren of documenten samenvatten. We bekijken toegankelijke platforms zoals Manus en AgentGPT, maar ook verzamelingen van kant-en-klare agents en tools om zelf een agent te bouwen. Tot slot krijg je inzicht in de voordelen, valkuilen en toekomstige ontwikkelingen van deze technologie.

Lees ook: Chat je met een mens of een AI-bot? 9 manieren om het te testen

Het begrip 'AI-agent' komt misschien wat verwarrend over omdat 'agent' vaak met ordehandhaving of spionage wordt geassocieerd, maar hier betekent het iets heel anders. In de informatica verwijst de term naar een entiteit die namens iemand anders handelt, afgeleid van het Latijnse agere (handelen). Je kunt het vergelijken met een reisagent die taken uitvoert in opdracht van zijn klant.

Een agent is hier een systeem dat autonoom handelt, vaak in opdracht van een gebruiker, om bepaalde en soms complexe taken uit te voeren. Zo zou je een robotstofzuiger een fysieke agent kunnen noemen: hij ziet obstakels, beslist waar hij rijdt en voert deze actie uit. Een e-mailbot is een virtuele agent: hij leest je mails, classificeert ze en beantwoordt bepaalde mails automatisch.

Een AI-agent gaat nog een stap verder en gebruikt kunstmatige intelligentie om beslissingen te nemen – iets wat sommige robotstofzuigers of e-mailbots inmiddels trouwens ook wel doen. Hiervoor gebruikt men ook wel de term 'agentic AI'.

©iRobot

Een robotstofzuiger kun je een fysieke agent noemen.

Werking

Voordat we een paar voorbeelden van een AI-agent bekijken en ook zelf samenstellen, leggen we kort uit hoe zo'n agent werkt. In een eerste fase neemt de agent zijn omgeving waar. Dat kan via visuele input van afbeeldingen of camera's, geluidsdata van een microfoon of spraakopname, numerieke data uit logs of sensors, of via tekst zoals prompts, mail- of chatberichten.

De agent probeert vervolgens deze ruwe invoer te interpreteren. Bij tekst bijvoorbeeld gebeurt dit doorgaans met een groot taalmodel (Large Language Model, kortweg LLM), een deep-learning-systeem dat natuurlijke taal begrijpt en genereert, zoals ChatGPT, Claude of Gemini. Dankzij zo'n LLM kan de agent doelen begrijpen en indien nodig ook opsplitsen in subtaken. Als een taak beperkt blijft tot tekstgeneratie, zoals het beantwoorden van een bericht, volstaat het LLM. Maar vaak zijn er ook externe tools nodig (zogeheten tool calling) om aanvullende of realtime gegevens op te halen of (sub)taken uit te voeren, bijvoorbeeld via API's, zoals voor weerinformatie, databases of andere AI-modellen.

Met een efficiënt geheugensysteem kan de agent tijdens het uitvoeren van taken de resultaten bijhouden, feedback verwerken en daaruit nieuwe subtaken afleiden. Hij kan deze informatie ook bewaren, wat ook bij latere interacties voor meer consistentie zorgt.

Voor- en nadelen

Geoptimaliseerde AI-agents bieden duidelijke voordelen. Ze verhogen vaak de productiviteit doordat ze repetitieve en tijdrovende taken kunnen overnemen. Daarnaast verwerken ze in korte tijd enorme hoeveelheden data en kunnen ze meerdere (sub)taken tegelijk uitvoeren. AI-agents leveren doorgaans nauwkeurige en consistente resultaten en zijn goed schaalbaar. Mits goed geïntegreerd in de workflow, kunnen ze dus flink wat tijd en kosten besparen.

Tegelijk zijn er wel wat dingen waar je op moet letten. AI-agents zijn namelijk vaak afhankelijk van grote hoeveelheden data, waaronder soms privacygevoelige of bedrijfsinformatie. Houd bijvoorbeeld in een bedrijfscontext dus rekening met richtlijnen als de AVG (Algemene Verordening Gegevensbescherming). En omdat veel agents werken met LLM's die getraind zijn op grote hoeveelheden tekst waarin ook vooroordelen en stereotypen voorkomen, kunnen zulke vertekeningen onbewust doorsijpelen in de resultaten en leiden tot discriminerende uitkomsten. Tot slot vraagt het ontwikkelen en trainen van zulke (bedrijfs)systemen de nodige tijd en rekenkracht.

Voor je het goed beseft, kunnen AI-agents ook privacygevoelige data verwerken en is de AVG van kracht.

Van assistent tot agent

Agentic AI is momenteel een actueel onderwerp, waardoor producenten hun AI-oplossingen soms als AI-agents presenteren, terwijl het om eenvoudige(re) AI-assistenten gaat. Dit geldt bijvoorbeeld voor de browserextensie HARPA AI. Na installatie kun je via een knop taken laten uitvoeren op basis van de actuele webpagina en eventueel geüploade afbeeldingen of pdf's. Denk aan uitleg geven, vragen beantwoorden, de pagina samenvatten of herschrijven, data uitlichten en meer.

Handig, maar het is geen autonome agent. HARPA AI voert namelijk alleen taken uit die jij expliciet opgeeft, zonder zelf subdoelen te stellen of complexe workflows te volgen. Er is evenmin sprake van zelfevaluatie of contextopbouw over meerdere stappen. HARPA AI biedt ook een browser-functie (bijvoorbeeld via de opdrachtprompt met een API-sleutel) die enige automatisering en externe aansturing mogelijk maakt, maar dat maakt het nog geen volwaardige AI-agent.

Het onderscheid tussen beide begrippen is evenwel niet altijd duidelijk, vooral niet wanneer de operaties voornamelijk in een 'black box' worden uitgevoerd.

Manus

AI-agents kunnen dus goed bruikbaar zijn in bedrijfsomgevingen, maar ook daarbuiten kun je er je voordeel mee doen. Ga bijvoorbeeld naar www.manus.im (van Chinese origine) en klik op Use cases voor een reeks praktijkvoorbeelden, ingedeeld in rubrieken als Life, Data Analysis en Education. Zo kan deze algemene AI-agent je bijvoorbeeld helpen bij het opstellen van een cursus of het plannen van een reis. Het voorbeeld Trip to Japan in april (in de rubriek Featured) laat dit duidelijk zien. Klik hierop om het volledige proces te kunnen volgen: links de uitvoer, rechts het scherm van de agent. Je kunt ook altijd klikken op Skip to results of Watch again.

Wil je Manus ook zelf proberen, dan kun je met een gratis proefversie met duizend credits aan de slag, na goedkeuring van je aanvraag (de betaalde versie start vanaf 19 dollar per maand, dat is ongeveer 20 euro inclusief btw). We merkten dat zo'n goedkeuring sneller verloopt via de mobiele Manus-app.

Voor de eindgebruiker is het hele proces vrij eenvoudig. Zoals bij een gewone AI-chatbot geef je eerst een uitgebreide prompt met je opdracht. Daarna gaat Manus aan de slag en zie je stap voor stap hoe de taak wordt aangepakt. Je kunt dit proces ook in realtime bijsturen met extra informatie of instructies. Is de hoofdtaak voltooid, dan krijg je een melding, tenzij je credits eerder op zijn of de agent vastloopt op bijvoorbeeld een niet-bereikbare webpagina.

Op onze vraag heeft Manus een veertiendaagse gezinsreis naar Namibië uitgewerkt.

AI-reis naar tevredenheid uitgewerkt?

🧳Dan hoef je zelf alleen nog maar je koffers te pakken!

AgentGPT

Ook met AgentGPT kun je op een toegankelijke manier toe, ook gratis, een AI-agent in je browser gebruiken. Het platform is een gebruiksvriendelijke webinterface (geïnspireerd op Auto-GPT), waarmee je een opdracht kunt lanceren voor een autonome agent die meerdere stappen zelf bedenkt en uitvoert.

Je hoeft enkel een naam voor je agent in te vullen en bij Doel een duidelijke opdracht te schrijven, zoals 'Plan een veertiendaagse rondreis met 4x4 in Namibië' of 'Voer een onderzoek uit naar de duurzaamste bouwmaterialen in Nederland'.

Controleer bij Tools of de benodigde functies zijn ingeschakeld: Image (voor AI-beelden), Search (voor online opzoekwerk), Code (voor scripting) en Connect Your Data. Deze laatste biedt via een account bij SID, een vorm van Retrieval Augmented Generation (RAG), waarbij eigen gegevens van bijvoorbeeld Google Drive of Gmail kunnen worden verwerkt en doorzocht.

Bevestig met de blauwe afspeelknop en de agent gaat meteen aan de slag. Je kunt de deeltaken volgen, pauzeren en via een prompt het proces bijsturen. De kans bestaat dat de agent niet alle stappen voltooit met een gratis account, maar via Summarize kun je wel alvast een tussentijds resultaat bekijken. Voor een uitgebreider abonnement betaal je 40 dollar per maand (ongeveer 43 euro inclusief btw). Bij Settings kun je eventueel ook een OpenAI API-sleutel invoeren als je er een hebt.

AgentGPT kan ook eigen data onderzoeken (hier Google Drive documenten via sid.ai)

Agent-bibliotheken

Op de webpagina van het hierboven vermelde AgentGPT kun je ook uit twintig sjablonen kiezen. Dit zijn kant-en-klare agenten, met prompts gericht op een bepaald taaktype, zoals rapportanalyse, reisplanning of marketing strategieën. Maar er bestaan intussen ook diensten met een bibliotheek AI-agents, zoals Agent.AI. Je kunt zoeken op naam of op tags, binnen categorieën zoals Social, Customer Service, Image en Lifestyle. Filter je op Image, dan krijg je agents zoals Logo Creator, Youtube Thumbnail Generator en MindmapGenerator.

We nemen even Mindmap Generator als voorbeeld. Klik hier op Goagent en geef een geschikte prompt, bijvoorbeeld een onderwerp voor je mindmap. Bevestig met Go en de agent gaat aan de slag. Daarna kies je tussen Fully automatic (waarbij je alles aan de agent overlaat) of Interactive (waarbij je stap voor stap het voorlopige ontwerp kunt aanpassen of uitbreiden).

Ook bij MindStudio vind je een ruime collectie AI-agents, verdeeld in rubrieken zoals Research, Analyze Content, For Creators, For Students en YouTube. Na aanmelding kun je ze vanaf het platform uitvoeren via de knop Run (Pro Agents enkel na betaling) of via een Chromium-browserextensie, zodat de agent direct met een specifieke webpagina kan werken.

Houd er rekening mee dat het onderscheid tussen een slimme AI-assistent en een autonome AI-agent ook hier niet altijd duidelijk is.

Op Agent.AI vind je veel agents (of minstens assistenten), waaronder deze eenvoudige mindmap-generator.

Agentic AI-browsers

We hebben geen glazen bol, maar we zijn ervan overtuigd dat agentic AI zich dit jaar sterk zal doorzetten. De vraag naar autonomere AI-systemen groeit, de technologische basis met modellen als GPT-4.x en Claude 4.x is al aanwezig en de tool-calling-functionaliteit breidt snel uit.

Die evolutie zal zich vermoedelijk ook voortzetten binnen browsers, zoals blijkt uit Opera Browser Operator. Deze AI-agent is netjes geïntegreerd in de Opera-browser en maakt het mogelijk om bijvoorbeeld producten te bestellen, een reis te plannen, tickets te boeken of studiemateriaal te verzamelen zonder dat je zelf iets hoeft te doen (wat overigens wel mogelijk blijft). Op het moment van schrijven is deze functie helaas nog een preview, maar mogelijk zit die functie al in Opera's ontwikkelaarseditie tegen de tijd dat je dit leest.

Een andere vroege ontwikkeling is Anchor Browser, voorlopig alleen beschikbaar als cloud-hosted platform. Na aanmelding krijg je toegang tot een interactieve omgeving waar je AI-gestuurde browserflows kunt opstellen en testen. Bovenaan kies je eerst een taakstructuur, zoals AI Form Filling of Web Research.

Zelf bouwen met MindStudio

Zowel Agent.AI als MindStudio laten je niet alleen bestaande agents gebruiken, maar bieden ook tools om zelf een AI-agent te bouwen. We laten kort zien hoe je dit aanpakt in MindStudio, bijvoorbeeld voor een agent die een webpagina, pdf of YouTube-video samenvat (bij deze laatste door zelf het bijbehorende transcript op te halen).

Ga naar https://app.mindstudio.ai en open links het onderdeel Build. Klik rechtsboven op Create New Agent en zorg dat het tabblad Automations actief is. Klik op het blauwe Start-blok; rechts verschijnen dan enkele configuratie-opties. Wil je de agent beschikbaar maken in de browserextensie van Agent.AI, klik dan bij Run Mode op het pijlknopje en kies Browser Extension. Er verschijnen nu data zoals url, metadata en pageContent, die beschikbaar komen voor de agent.

Klik rechts van het Start-blok op de knop met het plusje om een AI-module toe te voegen. Voor ons voorbeeld kies je Generate Text, een van de meest gebruikte modules. Andere opties zijn Generate Image, User Input, Scrape URL of je klikt op View All Blocks voor alle beschikbare modules. Na selectie van Generate Text zie je rechts bij ModelSettings dat standaard Claude 3.5 Haiku gebruikt wordt. Je kunt ook kiezen uit andere ondersteunde LLM's, waaronder enkele gratis modellen.

Bouw je eigen agent met AI-modules in MindStudio.

Verder uitwerken

Met de LLM geselecteerd kun je rechts nog extra instellingen aanpassen via parameters als Temperature (hoe lager, hoe voorspelbaarder het antwoord), Max Response Size (hoe lager, hoe beknopter het antwoord) en andere. Bovenaan staat het promptvenster waar je een duidelijke instructie voor de LLM geeft, bijvoorbeeld: 'Vertel me alles wat ik moet weten over deze webpagina.'

Om de inhoud van de webpagina door te geven, gebruik je de eerder vermelde variabele pageContent (je kunt deze variabele eerst kopiëren naar het klembord) die je onder je prompt met {{pageContent}} aanroept.

Klik linksboven op Untitled AI Agent en geef je agent een naam. Je kunt ook een korte omschrijving toevoegen en een pictogram kiezen. Klik vervolgens rechtsboven op Preview / Open Draft Agent. Je test je agent door een url in te vullen, op Load Site te klikken en daarna op Run Agent.

Wil je de agent publiceren (en aan de browserextensie koppelen via het knopje met de drie puntjes), dan heb je wel een Pro-versie nodig. Deze kost 12 dollar per maand (ongeveer 13 euro inclusief btw) voor onbeperkte agents, exclusief eventuele kosten voor API-calls van betaalde AI-modellen.

Je agent is klaar: nog snel even proefdraaien.

Automatische prompt

Je kunt ook een bestaande agent dupliceren en deze via Edit snel aanpassen voor een ander doel. Daarnaast is het mogelijk om de prompt automatisch te laten genereren. Klik hiervoor rechtsonder het promptvenster op het bijbehorende knopje en kies Generate. Typ bijvoorbeeld 'Vat deze webpagina uitgebreid en overzichtelijk samen' of 'Analyseer deze X-berichtreeks' en klik opnieuw op Generate. Even later verschijnt een veel uitgebreidere (standaard Engelstalige) prompt, waarbij de opdracht wordt opgesplitst in subtaken, zodat je agent gestructureerder te werk kan gaan. Vergeet ook hier niet de variabele {{pageContent}} toe te voegen.

Op vergelijkbare manier kun je nog veel andere agents maken. Experimenteer gerust met alle beschikbare opties en mogelijkheden.

Je kunt automatisch een uitgebreide prompt laten genereren voor je agent.

Grondig zoeken

Steeds meer generatieve AI-modellen bieden met wat vaak deepsearch wordt genoemd een geavanceerde zoekfunctie aan om diepgaande informatie van internet en andere bronnen op te halen en te analyseren. Daardoor kunnen ze ook meerdere redeneringsstappen uitvoeren en zo tot een nauwkeuriger en uitgebreider antwoord komen.

Zo'n functie vind je onder meer bij ChatGPT (Diepgaand onderzoeken), Gemini (Deep Research) en Grok (DeepSearch en de nog uitgebreidere DeeperSearch). Je kunt deze functies zien als een vorm van agentic AI, omdat ze autonoom complexe taken uitvoeren die normaal menselijke tussenkomst vragen. Afhankelijk van je opdracht (en andere parameters) kan het zoekwerk makkelijk tien minuten of langer duren. Met een gratis account is deze functionaliteit helaas wel beperkt bruikbaar, zeker bij ChatGPT. ChatGPT heeft overigens ook al Operator, een agent die een browser kan gebruiken, maar alleen nog beschikbaar is voor Pro-gebruikers in de VS.