I’m developing my own hardware interface to XBee and Xbee Pro modules. What is the minimum pinout to get the modules to work correctly? I have pins 1, 2, 3, and 10 (Vcc, Din, Dout, and Ground, respectively). Are any other pins needed?
I’ve set all the modules in my network to the same PAN ID and have used a ConnectPort X4 to confirm everything in the PAN is seen correctly using USB and RS232 carrier cards. I then shut down everything and programmed an XBee Pro module as a coordinator. When I attempted to power the coordinator with the four-wire interface and view it with another node, the coordinator was not visible in the network. I know the microcontroller running the module is operating correctly because of a visible heartbeat.
The RTS pin is disabled so it shouldn’t have to be supplied… ?
Does anyone have a minimum circuit description that I could breadboard?
If you programmed a coordinator after joining routers to an X4, could the XBee-PRO coordinator be operating on a different PAN ID or channel, compared to the other routers?
Compare the CH and OP commands on the XBee-PRO coordinator and the routers.
Are you using ZB or ZNet firmware?
You’re absolutely correct. While the OP on the new Coord was set to the same as on all the Routers, the CH and OI values are not the same. Since the OI is a read-only value, how do I set it to match the rest of the network’s OI values? How do I set the CH value on the new Coord to that of the rest of the network, also?
I am using ZB firmware (2041 and 2241).
Thanks to all that replied.
After re-reading the section of the XBee / XBee Pro ZB RF Modules manual, there is a section on “Replacing a Coordinator”. It describes which values to save from the current system (OP, OI, CH, and ZS) and which AT commands to set those parameters on the new coordinator (ID, II, SC, and ZS). I had to issue an ATNR0 after setting the bitmask for the CH before it was read correctly. After that, everything lined up and the coordinator was successfully recognized by the rest of the network.
On a separate subject, I thought I read somewhere in one of the many manuals that the serial interface baud rates on the modules have to all be the same. Is that true? My system is made up of several distributed nodes transmitting data back to the coordinator periodically. Right now I have all the modules set to the standard 9600,N,8,1 but I’d like to run at 38400,N,8,1 on the coordinator to help facilitate offloading summary collected data to disk storage. The distributed transmitter nodes don’t necessarily have to send at this rate, though.
Thanks very much for that!
You need to issue an AT command of “II” followed by the value of the rest of the network. This is only a temporary way to force the coordinator onto the correct 16 bit PAN. Look at the newest ZB manual and it explains the “II” command a bit more.
To force the channel on the coordinator, you must set the SC command to enable the channel you want. The SC command is a bitmask of channels the coordinator can select from when starting a PAN. The lowest bit (0x0001) corresponds to channel 11 (0x0B), and the highest bit (0x8000) corresponds to channel 26 (0x1A).
To get the new coordinator on the same network as the routers, read CH from one of the routers,and figure out which SC bit corresponds to that channel. (Remember that SC returns a HEX value, so “11” is actually channel 0x11, or 17 decimal.)
If the SC command only has 1 bit set, the coordinator will start on the specified channel.
The baud rates can be different. I am using 38400 on my coordinator and my end nodes use 9600 without a problem. The baud rate is just to let the radio know at what speed the data is coming into the UART and the rf data rate is static thus it does not cause a problem.