Xbee as RFID Reader

Hi guys!

I’m just an Electrical Engineering student and I’m newbie in RFID area.

I’m doing my last project in university and I need your help immediately.

I’m working with xbee pro 802.15.4, 2.4 GHz OEM module and mbed - LPC1768 microcontroller to create an RFID reader.

the reader has to capture data packets from an active RFID tag. The tag is also working in 802.15.4, 2.4 GHz standard. But even though I’ve tried to read the data, I just can’t get the data from the tag.

this is my program in the mbed

#include "mbed.h"

Serial xbee1(p9, p10); //Creates a variable for serial communication through pin 9 and 10

DigitalOut rst1(p11); //Digital reset for the XBee, 200ns for reset

DigitalOut myled(LED3);//Create variable for Led 3 on the mbed
DigitalOut myled2(LED4);//Create variable for Led 4 on the mbed

Serial pc(USBTX, USBRX);//Opens up serial communication through the USB port via the computer

int main() {
    rst1 = 0; //Set reset pin to 0
    myled = 0;//Set LED3 to 0
    myled2= 0;//Set LED4 to 0
    wait_ms(1);//Wait at least one millisecond
    rst1 = 1;//Set reset pin to 1
    wait_ms(1);//Wait another millisecond

    while (1) {//Never ending Loop
        if (pc.readable()) {//Checking for serial communication
            myled = 0; //Turn Led 3 Off
            pc.putc(xbee1.getc()); //PC write whatever the xbee is receiving
            myled = 1; //Turn Led 3 on for successful communication
        }
    }
}

I have succeeded to connect two xbees using API mode by sending a hello packet. but, I can’t find how to grab the packet from the active RFID tag.

[

**Can I work in the second layer of xbee and capture the data sent by the RFID tag? Which one I have to set to work in second layer? the xbee or the tag or both? and how? thank you.**](http://imageshack.us/photo/my-images/689/tesk.jpg/)

Check the XBee Series 1 manual. As they come the Series 1 XBees have a bit set( or cleared) that enables another protocol layer on top of the 802.15.4 (a Digi Int layer). Be disabling this the Series 1 XBee should talk to any other radio using 802.15.4

Do you mean ATMM (MAC MODE)? to set it to 1 or 2 for removing any header from upper layer?

from the manual

The MM command allows users to turn off the use

of the extra header. Modes 1 and 2 are strict

802.15.4 modes.

[

but, I’ve tried to use this mode. but, still, it can’t read any data in the tag…

is there anything else i have to set?

thank you…](ImageShack - atmm.png)

Assuming the RFID tag 802.15.4 based, as you don’t explicitly say it is…

MAC mode for ACK on/off should cause retransmissions if the two nodes differ in this settings. But you should receive.

Of course, the channel number and PAN IDs must agree.

To do peer to peer 802.15.4, no coordinator, you’ll need to configure such as

node type: end point, not coordinator

association required: no

beacons: off

64 bit adressing mode (long) flag in every transmission

RFID tag could set destination MAC address as broadcast (0x0FFFF)

Stevech thank you for responding my thread fast… I’ve tried your suggestion. but i didn’t get anything.

It’s said in the tag’s manual that it is 802.15.4 based and has 16 channels in ISM bands. range from 0-15.

But when i confirmed it to their customer support by email, they said that their RFID uses their original protocol and run on IEEE 802.15.4. Also it passes Japanese Radio Act. It is not Zigbee, therefore it doesn’t have channel and PAN ID.

But from the manual, i read that it has Application ID (which only the same application ID can only communicate). range from 0 - FFH.

It has also Group ID (which allocating an ID to each group and used to make a broadcast to the group). also range from 0-FFH.

It has also Pair ID range from 0-FFFFFH (which if it’s set FFFFFH means it will broadcast the data to any group or any ID).

I’ve already made the setting of the xbee as follow:

ATMM = 1 (MAC mode)

ATBD = 3 (standard baudrate)

ATAP = 0 (transparent mode)

ATID = E (PAN ID = E)

ATCH = E (Channel Eh or 14 in decimal)

ATCE = 0 (peer-to-peer setting)

ATA1 = 0 (peer-to-peer setting)

and I set the RFID tag as follow:

Application ID: E

Group ID: E

Pair ID: FFFFF (broadcast)

Channel: 14

I ran X-CTU, I tested/queried the modem in standard parameter (9600,8,none,1) and it was working. I opened the terminal tab and push the button of the tag to transmit data, but I didn’t get anything.

I also open the HyperTerminal from windows and with the program i wrote above I want to read any character sent by the tag. But, I still couldn’t the result.

What’s wrong? Where and how can I read the data? Do I need to program in the micro to send commands through the xbee to the tag to command it transmit data? or is there something wrong with my setting?

thank you

It’s said in the tag’s manual that it is 802.15.4 based and has 16 channels in ISM bands. range from 0-15.

Those channel numbers don't correspond to the IEEE 802.15.4 standard channel numbering.

The module is 2.4GHz ISM and IEEE 802.15.4 compliant - then it must have standard channel numbers an support a PAN ID and all the rest that’s given by 802.15.4.

Odd to see an RFID tag using '15.4.

The info you describe about Pair ID and group and all that refers to application firmware done by the vendor that is not 802.15.4.

So it seems to be that you don’t have the documentation to know what these are, what they do, how their application firmware communicates, how you might customize, etc. If this is true, then to the dust bin with them.

Ohh I see… So, I need to know their real PAN ID and Channel and then set my xbee the same setting? Well, that means waiting then…

Isn’t there any setting in xbee that can receive data from any PAN ID and channel?

Actually, if I see here (http://www.ieee802.org/15/pub/TG4f.html, It’s said that Task Group 4f is working on active RFID system… CMIIW.

Thank you for your kind help…

I opened the original reader of the tag and I see them use MC13213 from Freescale Semiconductor as the tag’s transceiver.

Is there anything I could do to make my xbee pro works like the MC13213?

thank you.

MC13213

I’ve not used it. 30 second read of data sheet says it support 802.15.4.

So if you get the MC13213 and an XBee (uses Freescale) configured exactly correctly for 802.15.4 mode, peer to peer, no PAN coordinator, PAN ID, some of the 802.15.4 mode options on/off, and more stuff - these will interoperate. It’s not a task for a novice. It can be done.

But if you have no control over the MC13213 based RFID tag and don’t know all the details of how it configures the options in 802.15.4, it may be impossible without a “sniffer” for 802.15.4 and these are costly.