How Xbee end device transmit? and how Xbee coordinator receive end device API packet?


I need to deal with a zigbee mesh network which is one coordinator, and multiple routers and multiple end devices. Hence, i choose to use API for all devices. I know how to hibernate end device and wake it up but however i do not know how to transmit the API packet to coordinator, is it automatically? If it is automatically, how to detect in coordinator side? since my coordinator keeps on reading a API packet that contains the information of routers but none for end device. Anyone can help?

Why are you running your end devices in API mode? Why not leave them in transparent mode. This way any data you provide their UART will automatically be sent to the Coordinator via their Parent router. You can then have the Coordinator in API mode so you know who sent the data.

Because as i know API is more suitable when dealing with large scale of network right?

I wish to have an end device that is hiberbated and can transmit data of D3 after Pin9 is de-asserted (wake up). And this must be send through router. However, I do not know how to configure end device, router and coordinator side, I know coordinator must be in API so that i can get extra information after data received. Can please help? I cant found any related information that can guide me to configure into this setting.

  1. I do not know what mode should end device and router should be.

  2. I failed to send the packet of end device to coordinator.

  3. I dont know how and where to get the wanted information from the data received by coordinator ?

Thank you for anyone who willing to help out.

May I suggest you start by reading the article located at It will help you to learn how to send and receive data as well as configuring a Coordinator an router.

As for configuring an End device to Pin sleep, that is just a matter of setting the SM parameter to Pin sleep.

Hi, i have found the setting how to hibernate my end device and know how to wake it up, but do not know how to send packet to xbee end device from coordinator. My problems are:

  1. where can i get reference for response I got after i send ATND? When i sent at command i will get back response like this :
    A6 B8 00 13 A2 00 40 BD 2C 2C 52 4F 55 54 45 52 20 31 00 FF FE 01 00 C1 05 10 1E

where can i find reference about these responses so that i can interpret what kind of information it is trying to say?

  1. How i can detect whether router is connected or not?Is there any at command can be used?

3)How can i find out the route where packet is sent?i need information which contains where packet come from (pass through which router)

  1. I need rssi value from various router toward my end device, i know ATDN can be used to get rssi of last packet messages received. I am using ms visual studio c# .net, with attach coordinator with arduino uno, so i find it is difficult to send at command to coordinator since i find every time i could not get back a proper responses.So, I found XBee ANSI C Library, is it available and run well for ms visual studio And where to find reference for this library?

I would appreciate if anyone can answer. Please help!! Thank you!!

The information on how to read the packet can be found on page 175 of the product manual located at

If you just issue an ATND command, the router will respond.

The kind of information you are looking for is not going to be found in the ND command. That kind of information requires you to use both Source routing as well as some specific ZDO commands. Items such as the LQI or Child tables.

Thanks for helping! So, ANSI C library can be used in C#?

I believe so.