How to set up a network with several sensor nodes (XB24-ZB)?

I am trying to set up a network with one coordinator (X-Stick connected to my laptop) and about 10 sensor nodes (Arduinos using a wireless shield and Xbee XB24-ZB family ships).

I found a lot of tutorial regarding point to point communication between two Xbee devices and this works fine, but now I want to add a third node (and ultimately more), but after a few day of browsering I did not find any detail tutorial on how to set up such a network. (1) Would you have any to recommend?

I found mention of two possible ways to set up such a network. Either have the coordinator broadcasting to all the nodes asking only one to answer or make us the API mode. (2) Which one is best? easier? The broadcasting one seam simpler to program, but I am afraid it won’t scale well.

I understand the idea behind both ways, but I am not sure how to do things in practice. Regarding the broadcasting one, (3) what set function do I need to put the coordinator and the sensors in? Does it work with the coordinator in API and the nodes in AT, which is the default configuration of my hardware and what I have been working with? (4) Regarding the API mode solution, would you have any pointer on how to program it?

(5) Should I set up the sensor nodes as Router or End device? As I understand End device is better regarding energy consumption, but I guess it makes the programming more complicated I guess? In a fist time I just want something that works.

Last, the latest version of X-CTU is very different from the one found in tutorial and I have trouble translating from one version to the other (e.g. changing function set is less straight forward). (6) Would it be a good idea to use an old version of X-CTU?

I know that’s a lot of questions. As you can see I am a total beginner here. Any partial answers would be greatly appreciated.

Many thanks

The only difference in a Point to point communications verses a point to mufti-point really is if the data needs to be sent to a specific node or if it can be sent to All nodes.

To send to a specific node, you use the 64 bit MAC address as the source address and the address in which you want to provide the transmitting module. That address is what the transmitting module uses in the DL and DH fields before sending the data or in the address fields of an API frame.

For sending to all nodes, the destination address instead becomes the Broadcast address or FFFF.

By default, when a Zigbee network is formed with XBee ZB modules and products, the Coordinator (AT) is in Broadcast mode and all routers and End devices are in Unicast mode back to the Coordinator. In this case, since you are using API mode, your choice on if you send a Unicast message or a broadcast is completely up to you and the message you send.

The choice of using Broadcast vs unicast is really dependent on if you are using an existing protocol or if you want to create your own. If you are using an existing protocol, can tolerate other devices hearing the data and determine if it is for them or not, and you are not trying to scale up to more than 30 - 50 nodes, then Broadcast could be fine. If you are however, developing your own protocol or will be having large amounts of nodes, I would strongly recommend using Unicast addressing.

The choice to use API mode vs AT mode is determined for each module and not as a network in whole. The reason for that is that API mode and AT or Transparent mode is really how you are going to interact directly with that specific modules UART only.

Finally, the version of XCTU you choose is really more dependent on which one you are more comfortable with.

Dear Mvut,

What would be the network rooter and coordinator configrations for the best communication for a network which is made of 80 rooters and 1 coordinator which rarely sends a small packages to its rooters. For example “Maximum Hoops” parameter. What is the dissadvantages if we make it maximum. (“FF”) ? We made it “9E” for coordinator, but will we do it the same for rooters? Is it really needed because there will be a route in the network which has 30-35 nodes in a line. For further help what we have to do?