我尝试开发c#
中的Windows 10 IoT中的项目RFID读取器我使用RFID贴纸从中国购买。请参阅下面的链接https://www.aliexpress.com/item-img/10-nfc-13-56-ntag-213-rfid/32709729334.html
我以下面的示例为例RFID RC522 Raspberry Pi 2 Windows IoT
在测试RFID读取器中。阅读UID 4字节是很重要的。但是我尝试阅读7个字节UID。它不努力阅读。
我正在修改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;
}
}
和
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));
}
它仍然没有阅读。 所以请告知
市场上有基于RC522的读者无法读取某些IC卡,尤其是具有7字节UID的卡片。问题在于其天线线圈和电容器的差异。
解决方案是
- 购买a&quot读者(如果您在线购买它,这很难区分(或
- 将电容器C8替换为C11(C8 C9 150pf,C10 C11 33pf(。
在这里,您可以对问题和解决方案进行详尽的分析:https://www.eluke.nl/2018/03/08/fixed-rc522-rc522-rfid-reader-reader-reading-reading-some-cards-part-part-part-part-part-part-part-1/
如果卡是S50(又名Mifare 1k Classic(卡类型ISO144444A,他们以2 bytes(Cascade 1(,4bytes(cascade2(或7比较(cascade3((cascade3(响应,但是启动COM串行端口后必须'选择卡。但是,如果您使用的是使用ATR或ATS的读者,那么您将获得一串描述卡的特征的十六进制。您如何知道差异 - 它在有关读者的文档中。中文卡通常很难读取起始块 - 尝试首先在手机上使用NFC初始化卡,或者尝试使用手机阅读卡 - 使用Google Play上的TagWriter。此外,查找ISO1444A卡的标准 - ISO15693相似,但不相同。还请查看https://lastminuteengineers.com/how-rfid-works-rc522-arduino-tutorial/