I'm working on a small project where I'm using an RDM880, MFRC500 chip, from Seeed Studios which utilizes the ISO 14443-A standard.
I'm fairly new to it and am trying to figure out how to fetch several UIDs. In my understanding of the anticollision loop, it should go like this:
Request
Anticollision
Select a card, (the UID I recieved from the anticollision)
HALT that UID
Repeat from step 2
All the commands are working, except for the SELECT command. I'm following the documentation provided by http://neophob.com/files/rfid/PROTOCOL-821-880%20_2_.pdf
I've also tried the high level commands but can't figure out how to use them to my ends.
My select commands look as follow: 0xAA 0x00 0x05 0x05 UID0 UID1 UID2 UID3 BCC 0xBB, in accordance with the documentation. When I send it, the reply says the card does not exist.
Any guesses to what I'm doing wrong? Have I skipped/missed something fundamental? If possible, could someone tell me which commands, with which arguements, I need?
I read it as I should be sending four bytes of UID data.
I use the UID of one of my tags, which I've gotten as response to the anticollision message (as well as the high level MF_GET_SNR message).
I'm trying to select one of the tags, which in result allows for me to send messages to that tag only. By selecting a tag I can send HALT messages to it without affecting other tags in the vicinity.
As for the message:
0xAA - Start message
0x00 - Station ID (00 for any station)
0x05 - Length of data + command
0x05 - Command (0x05 for SELECT command)
UID1..4 - Data field, in this case the UID of the tag I want to select
BCC - Checksum
0xBB - End message
I seem to have solved my problem. What I wasn't aware of was that the tags I was testing with appears to be of type MIFARE Ultralight, which have UID of 7 byte in length, instead of the assumed 4. I still only recieve four bytes from the reader when I request it, so I'm still trying to figure out exactly how to send the correct UID in order to select them.
Luckily I found some MIFARE 1ks lying around and could test with them, and now everything seems to work as it should. It's even easier than I thought, with the help of the high-level commands.
As I feared, the problem had to do with my lack of knowledge in the whole system.
I have same problem. i'm using arduino duemilanove and RFID 13.56 MHz..
I'm using serial communication to pc. I just want to read the id card but there's no respond in rfid.
Here's my program