I have 2 xbee modules, the end point connected to an Arduino and the coordinator connected to my pc by an USB simple board.
If the system works in Trasparent Mode I see received data in the terminal panel of the X-CTU software. But if I try to configure the modules to work in API Mode the coordinator does not receive any data.
In the end point the DIN led is blinking, so I suppose it’s working, but in the coordinator the RSSI led doesn’t blink as it did during Trasparent Mode test.
I checked many times module configurations and they seems to be right.
I’ll guess that your modules are running 802.15.4 protocol firmware on series 1 hardware. Since there are several different protocols (firmware) used in XBee modules please post the firmware version as there are some differences in commands and functions.
I’ll further guess you used X-CTU in the Moderm Configuration Tab to change the ‘AP’ parameter from 0 (AT command mode) to a 1 (API command mode). But you show that ‘AP’ = 0 on both units?
Or did you send an AT command in the Terminal tab? If so, do you send a ‘WR’ command to write the changes?
Try the Test/Query on the PC Settings tab of X-CTU. If the module is in API mode then you will need to check the ‘Enable API’ box to get an ‘OK’, ‘type’ and ‘version’.
When in API mode the data needs to be wrapped in a properly formatted API frame. If the frame’s checksum or length values are incorrect then the frame is rejected and not sent.
Just remember that in the API you need to supply a FrameID, if you supply 0 (zero) the device will not respond back, which means it will be impossible to know if the “command / data” is correct. Otherwise you need a formatted telegram according to the API-spec (as others pointed out).
I have developed a analyzator / debugger especially for XBee API, written in C# (which is great for learning the API). I am in the process of rewriting some code and I will release a free class library along with this analyzator / debugger. The software could of course be used to develop Ethernet / ZigBee bridges but my main idea was just to create this piece of code so others could use it to learn, debug and create code for other plattforms (such as the Arduino).
I could happily send you the alpha version of the debugger, please drop me a message and I can send you a link.