I am new to Zigbee and ziqbee2mqtt. I was having issues with Wifi interference at a large convention communicating b/w my Wifi Router (a raspberry pi 4 configured as a wifi router) and the IoT race cars with Raspberry Pi 3B+ via http over wifi. The http communication works fine most of the time except it just crashed dead a couple times a day and I had to restart everything which is very embarrassing when things doesn’t work. My boss wants me to investigate Zigbee because it is likely to have less interference.
OK. So I bought a couple Conbee II dongles and hope to make the IoT race cars with Raspberry Pi ‘zigbee capable’ devices. I installed zigbee2mqtt/mosquitto on one of the RaspPi 4 and MQTT seems to work fine. Zigbee2mqtt also running ok with ‘npm start’. So I guess this can be my controller node in the zigbee network. My question is, how do I send ‘zigbee’ messages to my IoT devices with Conbee II dongle connected to USB port? Do I install zigbee2mqtt to all those devices and set the panID and channel the same as the controller and use MQTT pub/sub to communicate?
Thanks so much in advance for your help/suggestion.
This is going to be the issue. Zigbee and 2.4Ghz Wifi use the same RF frequencies and Wi-Fi stomps on Zigbee… Always. Zigbee is low power, and compared to WiFi its a whisper VS. a Bullhorn.
In a residential setting I can carefully engineer WiFi channels around a single zigbee network. In a conference wifi setting… Yeahhh no. Who knows how many uncontrolled 2.4Ghz wifi signals you have in the immediate area.
Just a guess. I think it performs worse than what you already experienced.
Thanks for the quick response Nathan. I thought Zigbee operates in the relatively “quieter” 800–900 MHz spectrum, therefore it doesn’t have to share the crowded 2.4 GHz spectrum with Wi-Fi and Bluetooth devices. No?
You would think so reading the spec. Indeed it’s stated that Australia operates in the 900MHz range as well. But unfortunately for most (all) consumer devices I have that’s not true - they are all 2.4GHz as is the dongle I bought from China.
The Wikipedia article summarises it well:
Zigbee operates in the industrial, scientific and medical (ISM) radio bands: 2.4 GHz in most jurisdictions worldwide; though some devices also use 784 MHz in China, 868 MHz in Europe and 915 MHz in the US and Australia, however even those regions and countries still use 2.4 GHz for most commercial Zigbee devices for home use. Data rates vary from 20 kbit/s (868 MHz band) to 250 kbit/s (2.4 GHz band).
What do you think about replacing Wifi with Bluetooth to reduce interference? I think there are IP over Bluetooth solutions which I can use to send messages over HTTP.
Thanks Tinkerer. I’ll look into Z-wave.
In any case, back to my original question, how do I setup the Pis with Conbee II zigbee dongles (or any Zigbee dongle) to communicate between the Pis using Zigbee? Thanks in advance.
You can’t do this with the ConBee devices, but you may be able to do it with a custom CC253x board (and custom firmware). Zigbee (and Z-Wave) isn’t really designed as a general purpose network.
Oh, and range will be an issue - practical point to point range is under 10 meters.
Range is not an issue because my controller is around 10-20ft from the other IoT devices. Technically, I thought the board can send/receive Zigbee msgs from one device to another. Too bad, I didn’t consult with the experts before buying these dongles and spend a good day to play with these packages.