I am trying to send a string from a coordinator xbee to an end device, through a router but it doesn’t seem to work. There is probably something i missed, here is my configuration info:
3x Series 2 Xbee modules (1 on a serial dev board, connected to a power supply, 2xUSB dev boards)
All xbees operate with the same PAN ID, on the same channel and cluster id =11
first i connected the coordinator (firmware version 2041)
coordinator my=0 naturally, nj=ff
then i connected the router (vr=2241) and set the coordinator’s (DH,DL) to match the router’s (SH,SL). the router’s (DH,DL)match the end device’s (SH,SL) and the end device sees the router as it’s parent (router’s MY=end device’s MP). End device vr=2841, atai returns zero on all devices.
Ultimately i want to be able to type a string in the coordinator’s terminal, but see output on the end device’s terminal. Next i want to be able to send sensor info from the end device to the coordinator. Currently, i can send characters from the coordinator to the router, but not from coordinator to end device or router to end device…
What am i missing? I’m a complete newbie as far as xbees are concerned, so thanks in advance for any help you can give me…
To send data from the coordinator to the end device, change DH & DL on the coordinator to match SH & SL on the end device. DH & DL must always specify the 64-bit address of the final destination. (The exceptions are address 0x0000000000000000 which can address the coordinator, and the broadcast addresses.)
but i don’t want them to communicate directly through each other… i want the exhange of info to be done through the router. i will be creating a larger network later on, so there will be end devices far from the coordinator. i want them to be able to send info to the coordinator and vice versa. if i change the dest high/low won’t they try to communicate directly with each other? will the router still be a part of the network? (with the current conf, coordinator sends chars to the router, and the end device sends to the coordinator)
for example, how do i send the info i get from an ATIS command (typed in the end device terminal) to the coordinator? and an offtopic question: i enabled 1 input (d0), set a sampling rate but atit1 always replies with a big fat error. any ideas?
Message was edited by: osegou
Message was edited by: osegou
I think the previous reply was based on the fact you originally posted this in an 802.15.4 forum, where setting “unicast” mode is a pretty common way to do wire replacement.
I’ve now moved your topic to the correct forum, noting the firmware you listed as running on your devices.
Changing the dest high/low addresses does not set the “next hop” address, it sets the address of the final destination.
Forcing hops is a little difficult. Hops are determined during route discovery by the underlying ZigBee stack, making it difficult to force routes. In a network with a coordinator and a few routers, most of the routers might establish 1-hop routes to the coordinator.
If you have end devices (SM=1, 4, or 5), you can force the end device to join a router by setting NJ=0 on the coordinator, and then issue NR0 on the end device to make it leave and rejoin. It should then join the router, and its ATMP should match ATMY on the router it joined. If you then set DL & DH to all 0x00s, or to the 64-bit address of the coordinator, data would go through the parent router and to the coordinator.
Also - Set IR > 0 to enable periodic sampling. ATIT is not supported in ZB firmware.
Hope that helps!