Real star topology, no peer-to-peer


I’am trying to configure Xbee Series 1 to form a star topology without peer-to-peer behavior. That means one central node (that can be a coordinator or an end device) and all remaining nodes attached to it.

I’am testing this with 3 Xbee nodes (A, B, C) being A the center of the star and B connected to my PC via serial usb. A and C are now powered via usb but will be powered by batteries in the future. So B<->A<->C.

I have tested several configurations with XCTU but the result is the same: I send data with a Tx64 api frame from B to C but the data doesn’t go B->A->C, it goes directly from B to C (I guess this has relation with peer-to-peer default Xbee behavior).

My latest tested configuration is:

A,B,C all as End Devices (CE=0), no sleep

B: MY=FFFF, DH=SH of point A, DL=SL of point A, A1=0
C: MY=FFFF, DH=SH of point A, DL=SL of point A, A1=0

If I open XCTU, I add B node to the Radio Modules list and do a Network Scan i find that A and C are connected to B (It should be B connected to A, A connected to C). So I think its again the peer-to-peer that messes the star topology.

Finally, my question is: Is there any configuration to send from node B to C always via A (center of the star network)?


Do it this way:

Radio 1
MY 0x1
DH 0x00

Radio 2
MY 0x02
DL 0x01
DH 0x00

Radio 3
MY 0x03
DL 0x01
DH 0x00

Hello mvut, I tried your configuration but I have the same result again. In XCTU Network Scan all devices are connected with the node at the PC, not with the center of the star. Also if I disconnect the central node (the one with DH=0 DL=FFFF) the other two remaining can communicate (peer-to-peer?) and that is not my desired behavior. Is there any configuration to always send via the central node and disable peer-to-peer completely?

The example I gave you is with a total of 3 nodes including a base. The remotes would have only talked with a base that has a MY value of 1. All others would have ignored the data.

I tried with exactly 3 nodes as you said. The fact is that if i send an api frame tx64 from the node with MY=2 (PC connected) to the node MY=3 it sends that frame directly without passing through node with MY=1. It has to be with peer-to-peer nature of Xbee default configuration.

From Xbee series 1 documentation: “By default, XBee / XBee-PRO RF Modules are configured to operate within a Peer-to-peer network topology and therefore are not dependent upon Master/Slave relationships. NonBeacon systems operate within a Peer-to-peer network topology and therefore are not dependent upon Master/Slave relationships. This means that modules remain synchronized without use of master/server configurations and each module in the network shares both roles of master and slave.”

My question again is: Can I disable peer-to-peer and set the network as master/slaves configuration?

Peer to peer has nothing to do with it. It has to do with the fact that you are sending a Unicsat packet to a specific modules 64 bit address that is in range. If you use the 16 bit TX request frame instead, and issue the packet to a node that you want it to come out the UART of, it will come out as long as that node is in range. Regardless of which node you send it from. Of you use transparent mode (AP=0) and the settings above, the data will be sent out ONLY the radio that matches the MY value or if it is sent from the node with the DL of FFFF, out all nodes.

Thanks for your responses mvut, they are clarifying me some things about Xbees transmission modes.

So, there is no way to send a Unicast packet to a specific node via another specific node? (node 1 sends to node 2, that resends to node 3)