Xbee Pro 2.5 with a Xbee Pro RF Modem

Hey guys,

First of all, let me preface by saying I’m very new to Xbee but have a decent knowledge of microcontrollers and circuits.

I have a project where I want to have two “nodes” communicating between each other transmitting data uni-directionally for the most part. I have the following hardware available:

  1. A PIC18F4525 with a [XBee Pro 2 (w/ chip antenna) on a vehicle.

  2. A laptop with a [Xbee-PRO 802.15.4 RF Modem attached to the serial port.

I’ve been able to communicate serially within each node to set up the configuration parameters on the respective nodes:

Car:

+++ // Enter AT command mode

ATCT 28F // Extend command timeout

ATNI CAR // Set the Node ID as “CAR”

ATID 3332 // Set the PAN ID to 3332

ATCN // Enter command mode

Laptop:

+++ // Enter AT command mode

ATCT 28F // Extend command timeout

ATNI BASE // Set the Node ID as “BASE”

ATSC 1FFE // Set to scan all available channels

ATID 3332 // Set the PAN ID to 3332

ATSD 6 // Set the scan duration for a little longer than the default

ATMY // Read MY address

ATND // Perform Node Discovery

(at this point, after a delay, I get a carriage return response from the modem)

ATND CAR // Node Discover “CAR”, specifically

(another carriage return from the modem)

ATCN // Exit command mode

Note: The 3332 PAN ID is really just a random assignment I tried to “help” the nodes find each other. I’ve read this value from the RF modem before, so I’m assuming it’s ok to “hard-code” it like this.

I can’t seem to get the modem to recognize the Xbee xcvr as an endpoint. I’ve been doing bench testing with them for now (literally inches apart).

Am I just using incompatible hardware or am I missing something in configuring the network between nodes? I haven’t seen any “Series 2” serial modems for PC’s to interface to on Digi’s website.

= /

Thanks in advance!!!](http://www.digi.com/products/wireless/point-multipoint/xbee-pro-802154-rf-modems.jsp)](http://www.sparkfun.com/commerce/product_info.php?products_id=8767)

joeneiss:
Am I just using incompatible hardware

Yes you are. Series 1 and 2 are not compatible. You need to downgrade your car module to Series 1, it seems to be the cheapest fix.

you didn’t seem to say what firmware you are using in each XBee. Are both running the wireless serial port extension and not ZigBee?

Did you set the Laptop end to be a coordinator and the other to be a non-coordinator end device?

Did you set the DL for the end point to be the MY of the coordinator?

Re series 1 (Freescale) and series 2 (Ember)… I am guessing that these should interoperate with the wireless serial port code but of course not with the ZigBee code (which you don’t want/need).

Digi has some demo software that you should get working as step 1.

I haven’t checked which version firmware I’m using.

I’m not sure if there’s an explicit way to make one the coordinator and the other the endpoint. By default, the modem’s MY address is 0 which, from what I’ve read, indicates that it’s the coordinator. When I try and set the “CAR” Xbee MY address, I get an ERROR code response.

I didn’t set the “CAR” DL to be the MY (0?) of the modem. I was under the impression that after the behind-the-scenes negotiating, the DL would be set once the endpoint joins the PAN. I can try this out though.

I haven’t had any problems with the serial ports on either side, except for a couple of “ERROR” return codes for some commands, apparently caused by outdated firmware.

I’ve used the X-CTU software for the modem side. The real application uses Labview 8.5 which has had the same response as the X-CTU commands (ie, proper responses for some commands, but no node association).

I’m thinking that felis might be right in the series difference. I’ll probably order a Series 1 if these ideas don’t pan out (mild pun intended)… = /

Will keep you posted.

joeneiss:
I haven’t checked which version firmware I’m using.

I’m not sure if there’s an explicit way to make one the coordinator and the other the endpoint. By default, the modem’s MY address is 0 which, from what I’ve read, indicates that it’s the coordinator. When I try and set the “CAR” Xbee MY address, I get an ERROR code response.

I didn’t set the “CAR” DL to be the MY (0?) of the modem. I was under the impression that after the behind-the-scenes negotiating, the DL would be set once the endpoint joins the PAN. I can try this out though.

I haven’t had any problems with the serial ports on either side, except for a couple of “ERROR” return codes for some commands, apparently caused by outdated firmware.

I’ve used the X-CTU software for the modem side. The real application uses Labview 8.5 which has had the same response as the X-CTU commands (ie, proper responses for some commands, but no node association).

I’m thinking that felis might be right in the series difference. I’ll probably order a Series 1 if these ideas don’t pan out (mild pun intended)… = /

Will keep you posted.

In the AT commands for setup, there is one to define coordinator versus end-point.

stevech:
In the AT commands for setup, there is one to define coordinator versus end-point.

Which one are you referring to?

ATCE1,AC,CN

You’d need to set the AP2 parameter for the coordinator too (AP1 for end devices).

My understanding is this isn’t needed if you’re interested in point-to-multipoint rather than mesh networks. The end devices can broadcast IO via RF as long as receiver is on the same PAN and Channel.

With XBee and most all, you can do peer to peer networking without a coordinator. Just match the PAN ID, channel and destination MAC address and send! Or send to FFFF as a broadcast to all. May also have to set the “end device association required” to false.

With XBee, you can have it broadcast or unicast A/D or port data samples (n samples) every m seconds, no code.