Home/Support/Support Forum/Best 2-way config - xbee series 1
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

Best 2-way config - xbee series 1

0 votes
I've been using xbee series 1 devices to collect data using python libraries to read up to 4 analog inputs on D0-D3 in transparent mode. The central device is running on a raspberry pi and collects data, averages it out, and sends to data logger web services (like xively, thingspeak, rest services, etc)

Now I would like to do the same but occasionally, based on some data read in, I would like to send a value out to a digital pin on any one of my dozen xbee radios.

Of the examples I see here, they mostly describe one-to-one MYxDL cross communication.

I've read that API mode is best for this. I've been trying the python-xbee libraries on google code but can't come up with a definitive config. (I'm using the new x-ctu, btw, love it).

I can control some LEDs on a digital pin and I can collect the data from the analog inputs but I can't seem to do both reliably. Sometimes it almost works but it seems there's a wait/buffer or something which means the LED pin high/low signals respond in an unreliable way. AND, sometimes the system seems to be waiting forever for the .wait_read_frame() to get a hit.

Is there a definitive approach to configuring for what I would expect is a common use case:

* central coordinator
* a dozen or so endpoints
* central coordinator busy collecting input from all radios (and sending out to data logger web services)
* some data can states can invoke a DIO change on a specific remote radio

Any references or tips would be appreciated.

Thanks,
Chris.
asked Apr 9, 2014 in 3rd Party Python and API development in other Languages by chrisjx New to the Community (19 points)
edited Apr 10, 2014 by chrisjx
My configs (not the answer):

Coordinator (VR=10EC), all default except:
ID=1111
CE=1
AP=2
DH=0
DL=0
MY=0

Endpoints (VR=10EC), all default except:
ID=1111
CE=0
AP=0
DH=0
DL=0
MY=1D, 17, etc, other unique numbers
D0=2 (voltage divider sensors on D0-D3)
D1=2
D2=2
D3=2
D4=4 - LED turns on/off


Please correct the error of my ways... ;)
Any thoughts?

Please log in or register to answer this question.

2 Answers

0 votes
So is no one having any success with 2-way communication with series 1 xbee radios?
answered Apr 12, 2014 by chrisjx New to the Community (19 points)
I continue to try to find info about how to have reliable 2 way communications with series 1 radios; a central coordinator collecting sensor data from many radios, analyzing the data and then sending out to specific radios to actuators.

Is it possible with series 1 radios and if so, where the guide?

Thanks,
Chris.
0 votes
I've been able to do this with I/O line passing, between two units.

The profiles for the base and remote units are given here:

The base unit profile is this:
Code:
<?xml version="1.0" encoding="UTF-8"?> <data> <profile> <description_file>xb24_15_4_10ed.xml</description_file> <settings> <setting command="CH">C</setting> <setting command="ID">3</setting> <setting command="DH">0</setting> <setting command="DL">5678</setting> <setting command="MY">1234</setting> <setting command="MM">0</setting> <setting command="RR">0</setting> <setting command="RN">0</setting> <setting command="NT">19</setting> <setting command="NO">0</setting> <setting command="CE">0</setting> <setting command="SC">1FFE</setting> <setting command="SD">4</setting> <setting command="A1">0</setting> <setting command="A2">0</setting> <setting command="EE">0</setting> <setting command="KY"></setting> <setting command="NI">BASE</setting> <setting command="PL">4</setting> <setting command="CA">2C</setting> <setting command="SM">0</setting> <setting command="ST">1388</setting> <setting command="SP">0</setting> <setting command="DP">3E8</setting> <setting command="SO">0</setting> <setting command="BD">3</setting> <setting command="NB">0</setting> <setting command="RO">3</setting> <setting command="AP">0</setting> <setting command="D8">0</setting> <setting command="D7">1</setting> <setting command="D6">0</setting> <setting command="D5">1</setting> <setting command="D4">0</setting> <setting command="D3">3</setting> <setting command="D2">3</setting> <setting command="D1">4</setting> <setting command="D0">4</setting> <setting command="PR">FF</setting> <setting command="IU">1</setting> <setting command="IT">1</setting> <setting command="IC">0</setting> <setting command="IR">32</setting> <setting command="P0">1</setting> <setting command="P1">0</setting> <setting command="PT">FF</setting> <setting command="RP">28</setting> <setting command="IA">FFFF</setting> <setting command="T0">64</setting> <setting command="T1">64</setting> <setting command="T2">FF</setting> <setting command="T3">FF</setting> <setting command="T4">FF</setting> <setting command="T5">FF</setting> <setting command="T6">FF</setting> <setting command="T7">FF</setting> <setting command="DD">10000</setting> <setting command="CT">64</setting> <setting command="GT">3E8</setting> <setting command="CC">2B</setting> </settings> </profile> </data>

and for the remote unit, the profile is:
Code:
<?xml version="1.0" encoding="UTF-8"?> <data> <profile> <description_file>xb24_15_4_10ed.xml</description_file> <settings> <setting command="CH">C</setting> <setting command="ID">3</setting> <setting command="DH">0</setting> <setting command="DL">1234</setting> <setting command="MY">5678</setting> <setting command="MM">0</setting> <setting command="RR">0</setting> <setting command="RN">0</setting> <setting command="NT">19</setting> <setting command="NO">0</setting> <setting command="CE">0</setting> <setting command="SC">1FFE</setting> <setting command="SD">4</setting> <setting command="A1">0</setting> <setting command="A2">0</setting> <setting command="EE">0</setting> <setting command="KY"></setting> <setting command="NI">REMOTE</setting> <setting command="PL">4</setting> <setting command="CA">2C</setting> <setting command="SM">0</setting> <setting command="ST">1388</setting> <setting command="SP">0</setting> <setting command="DP">3E8</setting> <setting command="SO">0</setting> <setting command="BD">3</setting> <setting command="NB">0</setting> <setting command="RO">3</setting> <setting command="AP">0</setting> <setting command="D8">0</setting> <setting command="D7">1</setting> <setting command="D6">0</setting> <setting command="D5">1</setting> <setting command="D4">0</setting> <setting command="D3">5</setting> <setting command="D2">5</setting> <setting command="D1">3</setting> <setting command="D0">3</setting> <setting command="PR">FF</setting> <setting command="IU">1</setting> <setting command="IT">2</setting> <setting command="IC">FF</setting> <setting command="IR">32</setting> <setting command="P0">1</setting> <setting command="P1">0</setting> <setting command="PT">FF</setting> <setting command="RP">28</setting> <setting command="IA">FFFF</setting> <setting command="T0">FF</setting> <setting command="T1">FF</setting> <setting command="T2">FF</setting> <setting command="T3">FF</setting> <setting command="T4">FF</setting> <setting command="T5">FF</setting> <setting command="T6">FF</setting> <setting command="T7">FF</setting> <setting command="DD">10000</setting> <setting command="CT">64</setting> <setting command="GT">3E8</setting> <setting command="CC">2B</setting> </settings> </profile> </data>
answered Apr 14, 2014 by andrewa New to the Community (5 points)
Thank you, Andrew, for your response.

I have also had success with this approach of communicating between 2 xbee series 1 radios.  I think of it as cross communication where the MY and the DL are crossing over, and the communication is only between 2 radios.  Sadly, it is not what I am looking for.

My set up would have a coordinator (CE set to 1, MY set to 0) and multiple remotes; perhaps 30-40 (CE=0, MY=<unique number>, D1-D3=2, D4=4or5).

I'm using a Raspberry pi and running python.  I'm using the coordinator to collect data from my remote xbees (working fine) but every once in a while I want to be able to send data out to a given remote radio to change a pin's state (like just turn on an LED). Seems it should be simple, but I cannot find any definitive info about how to do that.

My setup kinda works. I can receive data and I can send data, but the send part is very flakey; the changes are received by the remote radios very inconsistently as if there's some kind of interference or too much sending, not enough time for receiving?  I just don't know.

Again, thank you for your help,
Chris.
...