如何从安卓系统发送SNEP GET请求
我有一个NFC读取器ACS ACCS ACR122U,我想从我的Android手机发送数据. 我找到了许多有关如何在P2P模式下连接我的两个设备以及如何将数据从手机发送到ACR122U的示例,但是我的桌面服务器(ACR122U)始终收到SNEP PUT请求.我会发送get请求,但我只能找到使用NDEF系统内置的Android的示例,而无需指定PUT或获得请求. 如何打包并将SNEP从我的Android设备发送到ACR122U? 解决方案 简短答案:您不能. Android API不允许您实现自定义LLCP服务.在Android设备上实施的唯一LLCP服务是NFC论坛默认SNEP服务器(服务名称urn:nfc:sn:snep,服务访问点地址4),出于遗产的原因,Android NDEF Push协议(类似于SNEP,但可以追溯到之前的时间发表了SNEP规范). 虽然SNEP协议规范定义了从另一个设备提取NDEF消息的GET请求时,NFC论坛默认SNEP服务器
2 2024-02-09
编程技术问答社区
在安卓系统上用NFC软件卡模拟控制整个APDU
我正在忙于使用一个应用程序,以模拟与CM10.1的Nexus 7上的普通APDU通信,以符合ACR122U102读取器/作者.我找到了这个有关问题在我从设备发送给读者的答案中放置.使用TransCive函数( android "> android.nfc. tech.isopcda 带有反射),我可以用长度> 0的字节阵列回复. 03}是提供给transcive函数的字节数组).但是我无法控制响应中的状态字节或SW字节(D5 41 XX和两个SW).除源代码本身外,没有有关此ISOPCDA类的文档. . 我想做的就是将xx更改为我选择的字节,并发送长度= 0的答案(例如:d5 41 01,没有任何额外的数据).有可能吗? 解决方案 我不确定您在这里要实现什么.无论您使用ISOPCDA的接触方法传递的内容是完整的APDU(如ISO/IEC 7816-4所定义,或ISO-DEP传输协议中的任何PDU).因此,收发的返回值是一个完整的C-APDU(命令apdu),而percecec
4 2024-02-04
编程技术问答社区
通过NFC从安卓设备传输数据到电脑
我正在尝试开发医院的Android申请.在此系统中,有必要使用NFC技术将患者信息存储在Android手机中的数据库中.无论如何,我是否可以使用NFC USB阅读设备(ACR122U NFC智能卡读取器RFID Writer 5 Mifare USB)将数据从移动电话传输到我的台式计算机? 真正的情况是,当一个人想要进行一些测试结果时,他将到达柜台并将移动设备放在NFC读取器设备上安装在柜台上的NFC读取器设备上关于患者应转移到柜台的台式机. ,如果有任何方法可以使用NFC将存储在移动数据库中的患者ID转移到桌面上,那么我不想传输大量信息. 解决方案 取决于您要与ACR122U NFC读取器组合使用的NFC设备,您多个选项: 如果您只需要在一个方向上交换单个消息(数据包),则可以使用对等模式.但是,对等协议堆栈相对复杂(与其他替代方案相比).此外,Android内置的内置光束功能将为每个消息传输要求用户确认(Beam UI). 如果您只需要使用Androi
0 2024-01-28
编程技术问答社区
无法申请USB接口(设备或资源繁忙)。
我想在Ubuntu 14 Smarty中使用我的ACR122U无联系智能卡读取器.因此,我安装了所需的软件包和驱动程序. 最后,当我想使用读者时,我会收到以下错误: rc@rc-System-Product-Name:~/Desktop/itsme$ sudo nfc-list [sudo] password for rc: nfc-list uses libnfc 1.7.0 error libnfc.driver.acr122_usb Unable to claim USB interface (Device or resource busy) nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:020 rc@rc-System-Product-Name:~/Desktop/itsme$ rc@rc-System-Product-Name:~/Desktop/itsme$ sudo mfoc
18 2023-11-10
编程技术问答社区
频繁断开连接 ACR122U NFC读写器
当我将SIII(Android 4.3)放在ACR122U NFC读取器上时,LED会保持闪烁的绿色.当我将三星S4(Android 4.3)放置时,LED旋转绿色,直到手机在读者上.在这两种情况下,NFC都打开,设备处于解锁状态. 这种行为转化为SIII中的频繁断开和S4上的稳定连接.为什么两个手机的行为不同?我知道两个手机的NFC芯片组来自两个不同的供应商,即NXP和Broadcom. 我的问题是这些设备之间这种不一致行为的来源是什么? 另一个问题是为什么手机完全给ATR? 解决方案 The command sequence for software card emulation using an ACR122U/PN532 can be found in 此答案. 除此之外,还有不同版本的ACR122U: 有些人总是表明智能卡的存在.在这种情况下,可以使用 连接到"模拟"卡 // SCardConnect with SCARD_SHARE_SHA
16 2023-09-05
编程技术问答社区
ACR1222L FF 82加载认证密钥失败,63 00操作失败
我正在使用Mifare Plus卡的ACR1222L NFC SmartCard Reader(到目前为止,安全级别为0;制造商默认键A和B).我尝试了多种命令将身份验证密钥加载到读取器中: FF 82 00 00 06 FF FF FF FF FF FF FF 82 00 01 06 FF FF FF FF FF FF FF 82 20 00 06 FF FF FF FF FF FF FF 82 00 00 06 A0 A1 A2 A3 A4 A5 FF 82 00 00 06 D3 F7 D3 F7 D3 F7 ... and others ... 所有这些都返回错误状态: 63 00 (Operation Failed) 可能是什么问题?我已经搜索了很长时间的提示,但是许多其他问题是关于失败的身份验证或读取失败在成功地使用上述命令中加载身份验证密钥,它们通常基于其他设备( ACR122U). 我注意到,当不存在卡片时,读者甚至都不响应命令.应该在读取器上出
8 2023-08-11
编程技术问答社区
在ACR122U NFC读写器上强制安装PC/SC驱动程序
我在使用我的ACR122U RFID读卡器表单上遇到麻烦.我需要使用PC/SC驱动程序将其连接到Mac.我从ACS网站安装了驱动程序,并确认它正在运行. 但是,每当我使用nfc-list命令测试时,我会收到以下错误: nfc-list uses libnfc libnfc-1.7.1-189-g2869ae2 error libnfc.driver.acr122_usb Unable to claim USB interface (Permission denied) nfc-list: ERROR: Unable to open NFC device: acr122_usb:020:002 据我从谷歌搜索中了解到的是,使用该设备可以防止PC/SC的Mac接管,但是我如何强制计算机使用PC/SC驱动程序而不是默认的Apple USB? ps:我已经安装了libusb 解决方案 您似乎正在混合两个不同的选择,以将ACR122U连接到libnf
102 2023-08-11
编程技术问答社区
使用外部NFC读卡器向NTAG213写NDEF记录有问题(但写到内存中就可以)。
我正在使用Michael Roland提供的样品此答案并修改了字节命令结构以匹配扫描标签后,我会收到读者的90 00响应.然后,当我使用NFC工具扫描标签时,我不认为它具有NDEF记录( ).如果我检查内存,我可以看到从第4块开始编写的数据,如下所示在这里..../p> 同时,如果我使用NFC工具的写标签功能来写NDEF消息,然后再次扫描标签,确实有效.块以外的块中的内存似乎相同( photo ). 我不认为这是一个功能容器问题,因为在我的读者与NFC工具的标签上写入标签后,内存相同. 在写作之前,我需要做任何其他类型的NDEF读取/检查命令吗? ? 我的代码下面: byte[] ndefMessage = new byte[] { (byte)0xD1, (byte)0x01, (byte)0x0C, (byte)0x55, (byte)0x01,
44 2023-06-26
编程技术问答社区
直接传输命令(ACR122U)与PC_to_RDR_Escape(ACR1251U)之间的差异
使用ACR122U,我知道您可以使用直接发送命令:0xff 0x00 0x00 0x00...将直接消息传输到NFC控制器(PN532). 当我阅读ACR1251U的手册时,它说:读者的外围控制命令是通过使用PC_TO_TO_RDR_ESCAPE 来实现的. 这是什么意思?这是否意味着不可能向NFC控制器发送直接消息?如果可能的话,您可以在哪里找到它使用的NFC控制器? 欢迎任何信息! 预先感谢. 解决方案 "直接发送命令"是一种APDU格式,允许您将本机命令发送到嵌入ACR122U阅读器设备中的PN532 NFC Controller.因此,这基本上定义了包装以将本机命令拟合到基于APDU的协议中,您可以通过PC/SC(&CCID)与阅读器交谈: 0xFF 0x00 0x00 0x00 其中实际上是PN532的命令. PC_to_RDR_Escape是CCID消息(在USB上使用的设备类/协议),它在
42 2023-06-26
编程技术问答社区
无法认证NTAG213
我正在使用ACR122U NFC读取器来密码保护NTAG213 NFC标签.我认为我已经设法正确设置了密码,但是后来我无法对标签进行身份验证.我的身份验证的代码看起来像: #include #include #pragma comment(lib, "winscard.lib") const char *ReaderName = "ACS ACR122 0"; unsigned Password = 0x12345678; int main() { //Establish context SCARDCONTEXT hContext; DWORD SCard_Status1 = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &hContext); if(SCard_Status1 != SCARD_S_SUCCESS) ret
54 2023-06-26
编程技术问答社区
在Windows Form Application C#中使用ACR122U作为读写器将Ndef写入NFC标签中
我正在尝试使用ACR122U NFC读取器在Windows表单应用程序(用C#编写)中创建并写入NDEF消息. 我使用Andreas Jakl的var spRecord = new NdefTextRecord { Text = "1", LanguageCode = "en" }; var msg = new NdefMessage { spRecord }; string hex = BitConverter.ToString(msg.ToByteArray()); resultBox.Text = hex.Replace('-',' '); 我获得的输出是 d1 01 04 54 02 65 6e 31 (十六进制). 然后,我将这些数据写入NFC标签(Mifare Ultralight),从块#5开始使用以下APDU命令: CL INS P1 P2 Lc DATA IN FF D6 00 05 04 D1 01 04 54 CL INS
64 2023-04-22
编程技术问答社区
如何用ACR122U认证NTAG213?
我正在使用带有NTAG213卡的ACR122U读取器.该卡是密码(读取和写作),并受到密码52 84 00 08的保护.我应该运行的APDU命令是什么来验证卡,并且一旦经过身份验证,请阅读第30和31页? 我知道Mifare 1K我可以加载密码并验证一个扇区,但是我不确定身份验证如何与ACR122U阅读器一起使用NTAG213卡. 解决方案 使用ACR122U,您需要将直接命令发送到读取器内部的PN532 NFC控制器芯片,以交换此类低级命令.例如,您可以使用InCommunicateThru命令将RAW命令发送到标签: +-----+-----+-----+-----+--------------+-----------+-----+ | CLA | INS | P1 | P2 | Lc | DATA | Le | | FF | 00 | 00 | 00 | 2 + len(CMD) | D4 42 CMD | -- |
88 2023-04-22
编程技术问答社区
被配置为目标的PN532已被其发起者释放。
我正在尝试将我的PN532置于卡效率模式.当我发送TgGetData命令错误时,我会从读者那里收回错误. 1.阅读登记册 {(byte)0xFF,0x00,0x00,0x00,0x08, (byte)0xD4, 0x06, 0x63, 0x05, 0x63, 0x0D, 0x63, 0x38 } RESPONSE :: D507 07 07 15 9000 2.更新寄存器 byte xx = (byte) 07; byte yy = (byte) 07; byte zz = (byte) 15; xx = (byte) (xx | 0x004); yy = (byte) (yy & 0x0EF); zz = (byte) (zz & 0x0F7); 3.写寄存器 {(byte)0xFF,0x00,0x00,0x00,0x11, (byte) 0xD4, 0x08, 0x63, 0x02, (byte) 0x80, 0x63, 0x0
18 2023-04-22
编程技术问答社区
ACR122-卡模拟
如何使NFC非接触式阅读器ACR122U作为标签(卡仿真模式)行为? 招股说明书声称该设备可以进行仿真,但是SDK似乎没有为此功能提供示例或文档. 有人知道该怎么做吗? 还有其他软件吗? 请注意,我的目标平台是MS Windows. 预先感谢 解决方案 对于"卡仿真"或换句话说,"将其配置为目标并等待发起人",请参阅此处: ** Command to PN532 ** 0xd4 0x8c TgInitAsTarget instruction code 0x00 Acceptable modes (0x00 = allow all, 0x01 = only allow to be initialized as passive, 0x02 = allow DEP only) _6 bytes (_MIFARE_)_: 0x08 0x00 SENS_RES 0x12 0x34 0x56 NFCID1 0x40 SEL_RES _18 bytes (_Felica_)_: 0
14 2023-04-22
编程技术问答社区
ACR122u卡模拟模式发送PN532指令
我刚刚阅读 this 回答有关如何将我的ACR122U放置在卡中发育模式.我确实了解目的,但是您需要如何将命令发送到ACR122U. 据我所知,FF000000的意思是: ff [class] 00 [ins] 00 [p1] 00 [p2] 我只是不知道如何发送实际的PN532命令: FF000000 08 D406 6305 630d 6338 ff000000 11 D408 6302 80 6303 80 6305 xx 630d yy 6338 zz 我走了这么远: TerminalFactory factory = TerminalFactory.getDefault(); List terminals; try { terminals = factory.terminals().list(); CardTerminal terminal = terminals.get(0);
18 2023-04-22
编程技术问答社区
ACR122u直接通信无反应
我正在尝试通过发送直接命令来使用Java访问我的ACR122U.奇怪的是,我没有任何响应,也没有错误.这是我的代码: final static int IOCTL_SMARTCARD_ACR122_ESCAPE_COMMAND = 0x003136B0; ..... List terminals = null; TerminalFactory factory = TerminalFactory.getDefault(); terminals = factory.terminals().list(); CardTerminal terminal = terminals.get(0); Card card = terminal.connect("direct"); CardChannel channel = card.getBasicChann
56 2023-04-22
编程技术问答社区
NFC阅读器��选择(通过辅助)�� APDU未路由到Android设备
我有一个安装了ACR122驱动程序的ACR122U NFC阅读器/作者. 我尝试使用javax.smartcardio api将Select(通过辅助)发送到我的Android设备(应该处于HCE模式). 这是我的代码: TerminalFactory factory = TerminalFactory.getDefault(); List terminals = factory.terminals().list(); CardTerminal terminal = terminals.get(0); System.out.println(terminal.getName()); Card card = terminal.connect("*"); CardChannel channel = card.getBasicChannel(); execute(channel, new byte[] { (byte) 0xFF, 0x00, 0x5
16 2023-04-22
编程技术问答社区
ACR122-Android / 如何提取UID?
我尝试将ACR122集成到我的Android应用程序中.我正在使用Android库(一切正常,我可以检测到卡的存在,但我想提取卡的UID/ID.有人知道这样做的功能吗? 您有此类集成的示例吗? 解决方案 如果使用mifare卡,则需要将此APDU字节数组发送到卡:(byte) 0xFF, (byte) 0xCA, (byte) 0x00, (byte) 0x00, (byte) 0x00.我不确定ACR122 API,但您可能需要将此APDU包装到特定的API方法中,例如Transmit() 更新 示例代码: byte[] command = new byte[] { (byte) 0xFF, (byte) 0xCA, (byte) 0x00, (byte) 0x00, (byte) 0x00 }; byte[] response = new byte[300]; int responseLength; responseLength = reade
140 2023-04-22
编程技术问答社区
NFC ACR122 TgInitAsTarget, 启动器释放目标
我正在尝试获取我的ACR122(USB)设备来模仿被动NFC标签,但是很难正确进行通信.我希望有人可以看到我在这里做错了什么,并帮助我指向正确的方向. 对另一个问题的回答 acraulation 我们正在使用三星Galaxy S3 Android 4.3设备进行测试,并且正在看到以下行为: Transmit (TgInitAsTarget) ....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE ................ A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF FF ...wfUD3"... AA 99 88 77 66 55 44 33 22 11 00 00 Receive ..%....7.5
26 2023-04-22
编程技术问答社区
如何用ACR122U-A9进行卡片仿真
我有一个ACR122U-A9,我想用它来模拟它. 我问谁完成了这一点?你能给我一些建议吗? 现在我还有其他问题,当我将白色智能卡放在此NFC读取器上时,LED眨眼一次.但是,当我将手机放在上面时,LED总是会眨眼直到电话出来为止. 解决方案 ACR122U包含PN532 NFC控制器芯片. PN532通过其TgInitAsTarget命令支持主机卡(请参阅> FF000000 并以形式获得响应 9000 因此,要将ACR122进入卡片仿真模式,您将对以下操作进行操作: readregister: > FF000000 08 D406 6305 630D 6338
22 2023-04-22
编程技术问答社区