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.
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…
So is no one having any success with 2-way communication with series 1 xbee radios?
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:
xb24_15_4_10ed.xml
C
3
0
5678
1234
0
0
0
19
0
0
1FFE
4
0
0
0
BASE
4
2C
0
1388
0
3E8
0
3
0
3
0
0
1
0
1
0
3
3
4
4
FF
1
1
0
32
1
0
FF
28
FFFF
64
64
FF
FF
FF
FF
FF
FF
10000
64
3E8
2B
and for the remote unit, the profile is:
xb24_15_4_10ed.xml
C
3
0
1234
5678
0
0
0
19
0
0
1FFE
4
0
0
0
REMOTE
4
2C
0
1388
0
3E8
0
3
0
3
0
0
1
0
1
0
5
5
3
3
FF
1
2
FF
32
1
0
FF
28
FFFF
FF
FF
FF
FF
FF
FF
FF
FF
10000
64
3E8
2B
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=, 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.
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.