Wie de high-level specificaties van de hier vermelde draadloze protocollen al eens heeft opgezocht, heeft wellicht gemerkt dat vele in hetzelfde frequentiedomein rond 2,4GHz werken. Dat geldt niet alleen voor Zigbee en Thread, die beide het op 2,4GHz werkende IEEE 802.15.4 als verbindingslaag gebruiken, maar ook voor bluetooth en Wi-Fi 4 en 6. Hoewel er bij het ontwerp van deze protocollen rekening mee is gehouden, levert dat in minder optimale omstandigheden storende interferentie op. Als je een multiprotocolgateway van je Raspberry Pi maakt, hou je hier dus maar beter rekening mee. Er zijn talloze studies gedaan naar interferentie tussen verschillende netwerken op 2,4GHz.
Een eerste maatregel tegen interferentie die je kunt nemen, is geen wifi gebruiken op je Raspberry Pi. Als je het toch niet gebruikt, schakel je dit het best gewoon uit. Dat kan met de device tree overlay 'disable-wifi' in /boot/config.txt. Voor de betrouwbaarheid is het zoals gezegd toch al beter om ethernet te gebruiken voor netwerkconnectiviteit. De interferentie met andere protocollen op 2,4GHz is een extra reden. Gebruik je op je Raspberry Pi ook geen bluetooth voor domoticadoeleinden, schakel dat dan eveneens uit met de overlay 'disable-bt'.
Verder kun je het best verschillende 2,4GHz-radio's op een afstand van elkaar plaatsen. Twee hats op elkaar monteren of twee USB-transceivers naast of boven elkaar in je Raspberry Pi steken is dus geen goed idee. Een korte USB-verlengkabel om je Zigbee- of Thread-transceiver aan te sluiten en iets verder te leggen, zal een betrouwbaarder netwerk opleveren. Het ontvangen vermogen is immers omgekeerd evenredig met het kwadraat van de afstand.
:strip_exif()/i/2004542838.jpeg?f=imagenormal)
De juiste kanalen
Uiteraard moet je ook rekening houden met de omliggende 2,4GHz-netwerken, zowel van jezelf als van je buren. Heel wat draadloze iot-apparaten werken bijvoorbeeld niet op 5GHz, maar op 2,4GHz. Niet alleen commercieel verkrijgbare, maar ook doe-het-zelfapparaten met een ESP8266- of ESP32-microcontroller.
De gebruikte kanalen zijn daarbij belangrijk. wifispecialist MetaGeek heeft een inzichtelijke uitleg over coëxistentie van Zigbee en wifi, die ook geldt voor Thread en wifi, omdat Thread dezelfde 802.15.4-kanalen gebruikt. Als je bijvoorbeeld de drie niet-overlappende wifikanalen 1, 6 en 11 gebruikt, storen die de 802.15.4-kanalen van 11 tot en met 24. En dat terwijl 802.15.4 maar zestien kanalen rond 2,4GHz heeft, genummerd van 11 tot en met 26.
Om interferentie te voorkomen, kun je wifikanaal 11 ongebruikt laten, zodat 802.15.4-kanaal 24 niet wordt gestoord. Dan stel je voor je Zigbee- of Thread-netwerk kanaal 24 in. Of je laat wifikanaal 6 ongebruikt en werkt dan met 802.15.4-kanaal 18. De zijbanden van de wifikanalen, die geen wifidata dragen, kunnen overigens ook nog storen. Dit effect speelt vooral als de wifizender in de nabijheid is. Een strategische plaatsing van je Zigbee- en Thread-apparaten helpt hierbij al veel. Overigens houd je de wifikanalen het best 20MHz breed in plaats van 40MHz om de interferentie met 802.15.4 zo laag mogelijk te houden. Uiteraard heb je dan wel minder bandbreedte tot je beschikking in je wifinetwerk.
:strip_exif()/i/2004542842.jpeg?f=imagearticlefull)
Tot slot
De Raspberry Pi is een krachtig processorbordje met een uitgebreid ecosysteem van hardware om er een domoticacontroller van te maken. Daarbij moet je wel goed nadenken over betrouwbaarheid en interferentie tussen draadloze protocollen, maar dan heb je een flexibele en toekomstvaste basis voor de automatisering van je huis.
Met hardware alleen ben je uiteraard niets. In een volgend artikel bekijken we daarom enkele geïntegreerde opensourcedomoticaplatforms voor de Raspberry Pi met hun ecosystemen. Ook op dat gebied heb je heel wat keuze en is grote flexibiliteit mogelijk.