Pages: [1] 2   Go Down
Author Topic: Decoding XBee Series 1 API Packet  (Read 2553 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm having issues trying to decode a XBee API packet. I start decoding it, but I'm not sure what my actual analog data should be. Several of them look like:

7E 00 12 83 56 78 43 00 05 02 00 00 00 03 FF 03 FF 00 00 00 00 60
7E 00 12 83 56 78 43 00 05 02 00 03 E8 03 FF 00 2A 00 00 01 C8 84
7E 00 12 83 56 78 43 00 05 02 00 03 FF 02 DE 00 0D 00 00 03 FF 73
7E 00 12 83 56 78 42 00 05 02 00 03 FF 00 00 00 00 03 DB 03 FF 83 

So far I have:

7E - start
00 - length byte 1
12 - length byte 2
83 - API identifier
56 - source address byte 1
78 - source address byte 2
43 - RSSI value bytes
00 - option byte
05 - sample quantity byte
02 00 - channel indicator 0000 0010 0000 0000  (A0 is active) (IO header) (I'm not sure if this is right)
last byte is chechsum

I'm using the XBee series 1 using XB24 firmware. I have a Lilypad temperature sensor based on the MCP9700.

The documentation for the XBee module is: http://ftp1.digi.com/support/documentation/90000982_G.pdf


The doc also says if any of the DIO lines are the first two bytes are the DIO sample. Why do I get "03 FF" or "E8 03" and sometimes "00 00" if I don't have any of the DIO lines active?

Schematic: Lilypad Temperature Sensor (pin S) --> Xbee (pin AD0)

For example using the last packet, assuming the "03" and "FF" are DIO info and ignored, my data would be: '00 00 00 00 03 DB 03 FF' Which is 64685055 in decimal, but it cant be greater than 1023 so I'm lost where my analog data is.

Any help is greatly appreciated trying to find the sensor output.

Also if there is any way to use the x-bee arduino library is helpful, I used the Series1_IoSamples but I get no output on the serial monitor.
Does anyone know what pins should be set for ssRX and ssTX when using this shield

http://www.sparkfun.com/products/9976

Thanks a lot !!!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm trying to figure out something similar. If you figure it out please post what you ended up doing. I'll post if I figure something out.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Any chance you could post your xbee configurations?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes,


Base:

DL = 5678
MY = 1234
P0 = 2
IU = 1
IA = 5678
AP = 2

Remote:
DL = 1234
MY = 5678
DO = 2
IR = 14
IT = 5
AP = 2

I have ATAP=2 for both XBee modules. I set it through the terminal. Does the Enable API and "Use escape characters" have to be checked in X-CTU ? Every time I check them, the setting doesn't seem to stay, even after I write the settings.

Thanks for the help !!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm starting to think that I don't have my Xbee configured correctly, or maybe that it isn't working properly (possibly I loaded the pin with too high of voltage). I get a serial output from my receiver when I turn on the transmitting Xbee, but I don't see anything that looks like analog data. I'll load up the settings and post them here and then try and change them.

Have either of you had luck recently?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Well, that was awful. I was at least getting something off of the Xbee communication this morning, but after fiddling with some things I get absolutely nothing off of them. I don't know if I fried one or what happened. I can still read/write the settings from the chips if that means anything.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, back in business:

Receiver:
PAN ID: 3137
DH: 0
DL: 0
MY: 0
AP:1
IU: 1
IA: FFFF
DD: 10,000

Transmitter
PAN ID: 3137
DH: 0
DL: 0
MY: 0
AP: 1
D2: 2
D1: 2
D0: 2
IR: 100
IU: 1
IA: FFFFFFFFFFFFFFFFF
DD: 10,000

However, when I read the serial port this is what I get:


7E 00 0E 83 00 00 35 00 01 0E 00 03 FF 03 FF 03 FF 32
7E 00 0E 83 00 00 32 00 01 0E 00 03 FF 03 FF 03 FF 35
7E 00 0E 83 00 00 33 00 01 0E 00 03 FF 03 FF 03 FF 34
7E 00 0E 83 00 00 32 00 01 0E 00 03 FF 03 FF 03 FF 35
7E 00 0E 83 00 00 32 00 01 0E 00 03 FF 03 FF 03 FF 35
7E 00 0E 83 00 00 32 00 01 0E 00 03 FF 03 FF 03 FF 35
7E 00 0E 83 00 00 32 00 01 0E 00 03 FF 03 FF 03 FF 35
7E 00 0E 83 00 00 34 00 01 0E 00 03 FF 03 FF 03 FF 33
7E 00 0E 83 00 00 33 00 01 0E 00 03 FF 03 FF 03 FF 34
7E 00 0E 83 00 00 2F 00 01 0E 00 03 FF 03 FF 03 FF 38

I'm guessing that FF means that it is maxing out the inputs for some reason. But I don't know what the 03 means and I don't know why I'm maxing it out (I have a signal of 0.6V).
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think I figured out what my problem was. I didn't have anything for my Vref.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have it working. If anyone still cares let me know and I can post how I did it.
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 549
Posts: 46113
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm just wondering why your sender and receiver are both using broadcast mode. Paired communication (MY on one matches non-zero DL on the other) is faster and more reliable.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I haven't been able to figure out what's wrong still. Can you post what you did to get yours working. Thanks !!
Logged

Los Angeles
Offline Offline
Full Member
***
Karma: 1
Posts: 126
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes please post,  I got my project working but I have an arduino at the Tx end as well as at the RX end.  Not exactly what you are doing so my code might not work for you...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have it working. If anyone still cares let me know and I can post how I did it.

Yes please post! smiley I have my Vref connected to +5V (using Sparkfun regulator) and i'm still having problems.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello everyone,

I am facing the similar problem.

I have the "data" of the analog pins as "03 FF" ( hexa dec. eq. of 1023) in the data packet. But when I give a low, I am still getting it as "03 FF".
Can anyone help me with this?
I am shorting the Ground with My analog Pin 3 to give a low o/p.
Both the XBees are USB Powered.

Here are my settings:

Co-ordinator :                                                           Sensor

Channel - 0                                                                   0
Pan ID - 0                                                                     0
Destination Add High - 13a200                                    13a200
D. Add Low - 4049cd27                                             40631e01
MY ( 16 bit source ) - 0                                                 2345
SH - 13a200                                                              13a200
sl - 40631e01                                                            4049cd27
mac mode - 0                                                                 0
retry - 0                                                                          0
random delay slots - 0                                                     0
node discover time - 19                                                   19
node discover options - 0                                                  0
cordinator enable - 1                                                        0
scan channels - fffe                                                        1ffe
scan duration - 4                                                              4
end device association - 0                                                 0
co - ord ass - 0                                                                0
associatoin indi - 0                                                           0
aes encryption enable - 0                                                  0
aes encryption key - ky                                                    ky
node identifier - CO-ORD                                               SENSOR_1


Power level - 4                                                                 4
CCA Threshold - 2c                                                         2c

Sleep mode - 0                                                                 0
Time before sleep - 1388                                                 1388
Sleep cycle period - 0                                                        0
Disassociated cylce sleep period - 3e8                              3e8
Sleep options - 0                                                                0

Interface Data Rate - 3                                                        3
Parity - 0                                                                           0
Packetization Timeout - 3                                                   3
Api Enable - 1                                                                    1
Pull - up registers - FF                                                       ff


D8 - 0                                                                               0
D7 - 1                                                                               1
D6 - 0                                                                               0
D5 - 1                                                                               1
D4 - 0                                                                               0
D3 - 0                                                                               2
D2 - 0                                                                               0
D1 - 0                                                                               0
D0 - 0                                                                               0
IU ( i/p o/p enable) - 1                                                         1
IT ( samples before tx) - 1                                                   1
IC (DIO Change detect ) - 0                                                0
IR ( sampling rate) - 0                                                        1000


I/O Input Address - FFFFFFFFFFFFFFFF                 FFFFFFFFFFFFFFFF       
t0-d0  - ff                                                                             ff
t1-d1 - ff                                                                             ff
t2-d2 - ff                                                                                 ff
t3-d3 - ff                                                                             ff
t4-d4 - ff                                                                                ff
t5-d5 - ff                                                                               ff
t6-d6 - ff                                                                                 ff
t7-d7 - ff                                                                                 ff
po (Pwm 0) - 1                                                                       1
p1 (PWM 1) - 0                                                                      0
PT (PWM O/p timeout) - ff                                                      ff
RSSI PWM Timer RP - 28                                                     28


Device type ident - 10000                                                 1000
Ct-at Command mode timeout - 64                                       64
Gt (Guard times) - 3e8                                                        3e8
cc (Command sequence character) - 2b                                2b





Sample Recvd Packet on the co-ordinator -

7e 00 0a 83 23 45 28 00 01 10 00 03 ff d9


7e - delimiter
00 0a - length from the next byte till the checksum
83 - operating mode
23 45 - 16 bit address
28 - rssi
00 - options
01 - samples
10 - the analog masking of the in out pins
00 - digital mask ?
03 ff - decimal equ. of 1023. analog value.
d9 - checksum
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I am able to see the Digital Data on the screen .. but still cant get the analog data.
Must me some circuit fault.
Some really silly mistakes I made.

If I get proper analog values, I shall post back.
Logged

Pages: [1] 2   Go Up
Jump to: