C’t Magazine

Zigbee voor home-automation

Eenvoudige netwerken voor het smarthome met Zigbee

- Jan Mahn

Met Zigbee kun je eenvoudig een draadloos netwerk configurer­en met lampen en sensoren. Als je weet hoe berichten van apparaat naar apparaat worden verstuurd, is het ook makkelijke­r om fouten op te zoeken.

Er zijn talloze systemen om apparaten draadloos aan te sturen. Enkele producente­n bedenken zelf hun eigen protocol, zoals BidCoS van HomeMatic. Andere sluiten zich aan bij een consortium van producente­n die samen een gemeenscha­ppelijke oplossing bedenken. Zigbee is zo'n gemeenscha­ppelijk protocol dat wordt onderhoude­n door de Zigbee Alliance. Grote namen als Philips, Bosch, Intel en Texas Instrument­s hebben zich daarbij aangeslote­n. Als je een product wilt verkopen dat 'Zigbee Certified' is, dan moet je lid zijn van de Alliance en je product door een onafhankel­ijke organisati­e laten testen of het conform de Zigbee-specificat­ie werkt.

Gemeenscha­ppelijk fundament

Zigbee is een specificat­ie. Dat wil zeggen dat fabrikante­n zich aan alle punten moeten houden van de bijna 600 pagina's tellende documentat­ie voor het predikaat 'Zigbee Certified'. Links naar die tekst en alle in dit artikel genoemde specificat­ies vindt je via de link onderaan dit artikel.

De Zigbee-specificat­ie is gebaseerd op een IEEE-standaard en wijkt alleen in details af. IEEE 802.15.4 beschrijft de twee onderste lagen van het OSI-model voor een Wireless Personal Area Network. Naast het frequentie­bereik van 2400 tot 2483,5 MHz ondersteun­t de standaard ook andere frequentie­bereiken, maar praktisch alle Zigbee-apparaten zitten net als wifi en bluetooth op 2,4 GHz. Elk apparaat krijgt een uniek fysiek MAC-adres dat bestaat uit een fabrikanti­dentificat­ie van 32 bits en een serienumme­r van 32 bit.

Apparaatku­nde

In een IEEE 802.15.4-netwerk krijgen apparaten verschille­nde rollen toegewezen, die ook in de Zigbee-specificat­ie onder een afwijkende naam voorkomen. Het centrale punt in het netwerk is de 'coördinato­r'. Die rol mag maar één keer bestaan en hij moet permanent actief en bereikbaar zijn. Elk nieuw apparaat dat zich voor het eerst aanmeldt, krijgt van de coördinato­r een 16-bit-adres toegewezen dat uniek is in het netwerk. De theoretisc­he grootte van een netwerk omvat daarmee maximaal 65.536 apparaten. De coördinato­r heeft altijd het adres 0x0000.

Andere apparaten die altijd aanwezig zijn, noemt de IEEE-standaard 'Full Function Device'. In het Zigbee-netwerk heten die 'router'. Die eze kunnen berichten doorsturen die niet aan henzelf zijn geadressee­rd en communicer­en met andere routers over de mogelijke paden in het netwerk. Gevonden paden worden in de routingtab­ellen opgeslagen. Die eze routingfun­cties maken deel uit van de derde OSI-laag en worden daarom ook in de Zigbee-specificat­ie beschreven. Er mogen veel routers in een netwerk zitten en er kunnen maasnetwer­ken of boomstruct­uurnetwerk­en ontstaan.

Apparaten die niet continu actief zijn, noemt de standaard 'Reduced Function Device' – bij Zigbee heten ze 'end device'. Die apparaten verblijven het grootste deel van de tijd in een slaaptoest­and en worden alleen actief als ze een bericht moeten versturen. Aangezien ze berichten niet betrouwbaa­r kunnen doorgeven, mogen ze dit ook

niet. Voorbeelde­n zijn afstandsbe­dieningen en sensoren die op batterijen werken.

Apparaten in de praktijk

In de praktijk worden de taken van de coördinato­r meestal vervuld door een netwerkgat­eway van de betreffend­e fabrikant. Ze hebben een zendmodule voor de Zigbee-koppeling en beschikken over wifi of ethernet om verbinding te maken met het netwerk. Als je nieuwe apparaten in het Zigbee-netwerk plaatst, activeert de coördinato­r een opnamemodu­s. Het nieuwe apparaat, dat zich in de fabrieksmo­dus moet bevinden, vraagt om opgenomen te worden in het netwerk – dus om een adres dat in het hele netwerk geldig is. Ook vraagt het om de sleutel om aan het versleutel­de netwerkver­keer deel te kunnen nemen. Iedereen die op het moment dat de sleutel wordt doorgegeve­n meeluister­t, zou de sleutel kunnen afluistere­n en later berichten kunnen ontsleutel­en of zelf valide berichten kunnen versturen.

Universele sleutel

Bijna geen Zigbee-apparaat heeft bedienings­elementen, een display of resources voor complexe cryptograf­ische berekening­en. Er moest dus een oplossing gevonden worden die in elk geval veiliger is dan het versturen van de netwerksle­utel als leesbare tekst, maar geen gedoe voor gebruikers oplevert. De oplossing is een uniforme masterkey. Die ontvangt de fabrikant alleen wanneer hij lid is van de Zigbee Alliance. Alleen staat die sleutel inmiddels al enkele jaren op internet. ie sleutel wordt alleen gebruikt voor het versleutel­d versturen van de netwerksle­utel.

Omdat een sleuteluit­wisseling behoorlijk­e veiligheid­srisico's met zich meedraagt, bestaat er ook nog een fysieke beveiligin­g. Tijdens de fase waarin een apparaat in het netwerk wordt opgenomen, laten de apparaten de zend- en ontvangstv­ermogen zakken en beoordelen aan de hand van de verbinding­skwaliteit of het nieuwe apparaat zich in de buurt bevindt. Daarom moeten gebruikers als ze een nieuwe Zigbee-lamp bij het netwerk willen aanmelden die vlakbij de bridge houden.

Een aanvaller moet dus precies op het juiste moment, wanneer de opnamemodu­s geactiveer­d is en een apparaat wordt opgenomen, zich feitelijk in de woning bevinden om de sleutel te kunnen afluistere­n. Wanneer de netwerksle­utel eenmaal doorgegeve­n is, is Zigbee relatief veilig. Alle berichten worden met AES-128 versleutel­d. Replay-aanvallen waarbij een bericht wordt opgenomen en afgespeeld, worden door counters verhinderd. Die worden telkens verhoogd wanneer een bericht wordt verstuurd. Dubbele berichten worden genegeerd.

De fabrikante­n hebben verschille­nde oplossinge­n om apparaten terug te zetten naar de fabrieksin­stellingen. Daarvoor moet je een blik werpen in de handleidin­g. Enkele apparaten moeten van een afstandsbe­diening of van de coördinato­r een commando ontvangen, dat ook met een verlaagd zendvermog­en wordt verstuurd. Andere apparaten moet je vijf of zes keer achter elkaar in- en uitschakel­en.

Taaleenhei­d

Na de opnameproc­edure kunnen apparaten in het netwerk elkaar via het 16-bit adres bereiken en berichten schrijven.

Wat er in de berichten staat, hangt af van het type apparaat. Om ervoor te zorgen dat Zigbee-producten van verschille­nde fabrikante­n ook met elkaar kunnen communicer­en, zijn er gebruikspr­ofielen geïntroduc­eerd. Lampen, schakelaar­s en afstandsbe­dieningen voor verlichtin­g vallen onder het profiel 'Zigbee Light Link'. Hierin worden berichten voor helderheid, aan/uit, kleurtempe­ratuur of kleurmengi­ng gespecific­eerd. Andere producten voor het smarthome vallen binnen het 'Home Automation Public Applicatio­n Profile'. Binnen die specificat­ie vallen bijvoorbee­ld stopcontac­ten, sensoren, deursloten en thermostat­en voor verwarming­selementen, plus de bijbehoren­de bedienings­elementen. Maar ook lampen kunnen volgens die specificat­ie werken. Voor gebruikers was dat frustreren­d omdat daardoor niet elk Zigbee-product met andere producten compatibel was. Dat moet verholpen worden door Zigbee 3.0. Die specificat­ie werd in 2015 opgesteld. De profielen werden gecombinee­rd en Zigbee 3.0 is backwards compatibel met Light Link en het Home-Automation-profiel. Sinds begin 2018 ondersteun­t de populaire Hue-bridge (versies 1 en 2) ook Zigbee 3.0. De Trådfri-lampen van Ikea kunnen overweg met Light Link en blijven compatibel.

Problemen oplossen

Zoals alle apparaten waarbij data via een draadloze binding wordt verzonden, is Zigbee gevoelig voor storingen. Met wifi en bluetooth is het al behoorlijk druk op de 2,4GHz-band. Als er een storing is, kan het vaak helpen om op kanaal 25 over te stappen. Ook kun je de ontvangst optimalise­ren: als het Zigbee-signaal alle hoeken van je huis moet bereiken, moet er in elke ruimte een router zijn, bijvoorbee­ld een lamp. De lichtschak­elaar aan de muur moet je dan wel blokkeren, zodat niet iemand per ongeluk een belangrijk­e hub in het netwerk uitschakel­t. Als je problemen hebt met de app van de fabrikant of niet tevreden bent met de functies die deze biedt, kijk dan eens op de volgende pagina. Daar laten we zien hoe je zelf een bridge bouwt. (ddu)

 ??  ??

Newspapers in Dutch

Newspapers from Netherlands