0

i'm try to develop Project RFID Reader in windows 10 IOT in c#

i'm use RFID sticker buy from china. refer link below https://www.aliexpress.com/item-img/10-NFC-13-56-NTAG-213-RFID/32709729334.html

and i'm use example from like below RFID RC522 Raspberry PI 2 Windows IOT

During test RFID reader. it's work to read UID 4 byte.but i'm try to read 7 byte UID. It 's not working to read.

i'm modify some part of RC522 RFID

internal Uid(byte[] uid)
    {
        FullUid = uid;
        //================ Change to 7 byte ======================
        Bcc = uid[7];

        Bytes = new byte[7];
        System.Array.Copy(FullUid, 0, Bytes, 0, 7);

        //Bcc = uid[4];

        //Bytes = new byte[4];
        //System.Array.Copy(FullUid, 0, Bytes, 0, 4);


        foreach (var b in Bytes)
        {
            if (b != 0x00)
                IsValid = true;
        }
    }

And

public Uid ReadUid()
    {
        // Run the anti-collision loop on the card
        //Transceive(false , PiccCommands.Anticollision_1, PiccCommands.Anticollision_2);


        Transceive(false, PiccCommands.Anticollision_1, PiccCommands.Anticollision_2);

        // Return tag UID from FIFO

        //return new Uid(ReadFromFifo(5));

        return new Uid(ReadFromFifo(8));


    }

it's still not reading. So please advise.

Community
  • 1
  • 1
  • Given all the components involved, each a potential point of failure, "it's not working," is not enough to go on. You need to do some more work to pinpoint the failing component, then return with a more specific question. Please see the [help]. It's possible SO can help, but help us help you. – Marc L. May 03 '17 at 16:54
  • I'm use RFID CARD contain 4 byte UID. this library can read RFID TAG. But I'm use RFID Sticker contain 7 Byte UID . library Cann't read RFID TAG. First I'm Modify library to correct byte array from 4 to 7 array. And read 7 byte array. but i'm get only 00 value not get Value byte. – Tiwakorn Janmanee May 04 '17 at 07:51

2 Answers2

0

There are RC522-based readers on the market that fail to read some IC cards, especially the ones with 7-byte UID. The problem is in slight differences in their antenna coil and capacitors.

The solution is either

  1. to buy a "good" reader (which is hard to distinguish if you are buying it online) or
  2. to replace the capacitors C8 to C11 (C8+C9 150pF, C10+C11 33pF).

Here you can find a thorough analysis of the problem and the solution: https://www.eluke.nl/2018/03/08/fixed-rc522-rfid-reader-not-reading-some-cards-part-1/

0

If the card is an S50 (aka Mifare 1K Classic) card type ISO14444A, they respond with 2Bytes (Cascade 1), 4Bytes (Cascade2) or 7Bytes (Cascade3) as their UID but you have to 'S'elect the card after starting the COM serial port. If, however you are using a reader that uses either ATR or ATS then you get back a string of hexadecimals that describe the card's characteristics. How do you know the difference - its in the documentation about the reader. Chinese cards typically are difficult to read off the starting block - try initialising a card using NFC on your mobile phone first, or just try reading the card with your phone - use TagWriter available on Google Play. Additionally look up the standards for ISO1444A cards - ISO15693 are similar but not the same. Also look at https://lastminuteengineers.com/how-rfid-works-rc522-arduino-tutorial/

Steve
  • 1
  • 2