5
\$\begingroup\$

I've been working on a product using WiFi. The reason I picked WiFi, is cause I essentially have 20-30 nodes communicating to a main node via a router. This all works very well, and its easy as its simple TCP/IP requests.

However,the nodes sometimes get submerged in water and when they do, the node quickly loses connection, and takes a long time to connect back to the network (5-10). Additionally, the devices communicate via HTTP requests, and the latency of the communication isn't the greatest.

I've recently started exploring Zigbee as an alternative. However, I can't find any information around node reconnect times, power usage, and communication latency. Does anybody have any information they would like to share? Also, does it automatically work in a star network?

I'm not particularly married to Zigbee either. If there are other modules/protocols/frequencies I should consider - I'd love to hear them. I essentially want something with which I'd be able to replace my WiFi communications stack quickly, and isn't a huge power hog.

If its any help, I'm using the Atmega1284P as my microcontroller.

\$\endgroup\$
  • \$\begingroup\$ I was recently reading the Xbee ZB SMT module's datasheet and they use the ZigBee comms protocol with lots of Digi's special sauce on top. Their modules rejoin networks extremely fast if they've dropped, and if they fail to rejoin they try many times a minute for a few minutes, and then once a minute from then on. \$\endgroup\$ – KyranF Oct 23 '14 at 8:23
  • \$\begingroup\$ Are you looking for something that will work under water? Or something that will reconnect quickly after being disconnected? \$\endgroup\$ – Dave Oct 24 '14 at 21:47
  • \$\begingroup\$ Its the latter - something that will reconnect quickly once above water. Essentially want to connect and broadcast successfully to main node within a second \$\endgroup\$ – darudude Oct 24 '14 at 21:52
5
\$\begingroup\$

ZigBee (and more generally 802.15.4) targets different uses compared to WiFi (control vs data streaming), thus has lower data rate (250 kbps max) but also much lower power consumption (few tens of mW transmitting and receiving).

For sure you can make star networks, but also more complex tree and mesh networks. In fact, meshing is one of the main selling points of ZigBee.

But concerning reconnect times, it depends on how good the reception is. If you use standard power modules, they are limited to 1/100 of the transmission power of 802.11 thus you might need to use high power modules or use routers to relay messages. You may need to tune the frequency of the reconnect attempts since nodes are typically configured to operate in a duty-cycled manner, waiting for a certain time between transmissions in order to reduce power demand.

Latency is generally low, as the collision avoidance scheme is lighter (read "less sophisticate") than the RTS/CTS used in WiFi. But if you have to send large amounts of data, the throughput will limit your responsiveness as well.

If you want to retain IP networking, consider using either 6LoWPAN on bare 802.15.4 or ZigBee IP.

And if you want to stick to Atmel you can also consider replacing the whole microcontroller with a one-chip MCU with transceiver. Link

\$\endgroup\$
  • \$\begingroup\$ We transmit a message of max 100 bytes every 10 seconds so 250 kbps is fine. When you say reconnecting time is as good as the reception, are we talking about reception from the child node to the main node? And could this be satisfied by us using a higher power main node? The reason reconnect time is so important, is that in some cases the unit will be only be above water for 1-2 second max. If I go with ZigBee, is that a long enough on time to connect and transmit to the network? \$\endgroup\$ – darudude Oct 23 '14 at 15:11
  • \$\begingroup\$ @darudude well, not just. You "need" to ensure bi-directional communication in order for the child node to communicate with the main node, since (re)connection happens by means of an exchange of request-response messages. \$\endgroup\$ – clabacchio Oct 23 '14 at 15:19
  • \$\begingroup\$ @darudude it's surely enough. Transmitting 100 bytes takes in the order of milliseconds, and 802.15.4 is by nature duty-cycled, so the coordinator tolerates the child nodes to be offline for a significant amount of time. \$\endgroup\$ – clabacchio Oct 23 '14 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.