我的目标是让Android手机(三星Galaxy Nexus)通过NFC以仿真模式(模拟ISO-14443 B型标签)与TI TRF7970A卡进行通信。
据我所知,PCD(Android手机)发出一个带有给定AFI的“REQB”然后PICC(在我的情况下只有PICC是TI TRF7970卡)中有一个匹配的AFI将发送一个“ATQB”回到PCD。
在某些TRF7970A固件中,“ATQB”响应设置如下:
0x50; //
//PUPI
0x80; // PUPI_0
0x12; // PUPI_1
0x34; // PUPI_2
0x56; // PUPI_3
//Application DATA
0x40; // APP_0 AFI Telecommunication (Telephone,GSM) All Sub families 1-F
0xE2; // APP_1 CRC_B of the AID (multibyte application identifier code which identifies an application provider or issuer and indicates if the application provider is registered with ISO)
0xAF; // APP_2 CRC_B of the AID
0x11; // APP_3 # of applications (1)
//Protocol DATA
0x80; // Data rate capabilities (Same bit rate from PCD to PICC and from PICC to PCD compulsory)
0x71; // Max Frames (128 bytes) / Protocol Type (supports PICC ISO 14443-4)
0x85; // FWI (0b1000 - 8192 ETUs or 77328.6 us) / ADC (0b01 - determines what APP_0-3 are if 0b00 then App data can be anything) / FO (0b01 - CID Supported - used for identification of multiple cards in the Active state)
这个“ATQB”让PCD(Android手机)自动启动网页浏览器,网址为“http://www.Cisco Auth Complete”。
问题:
(1)哪个字段告诉手机自动启动网络浏览器?如何更改该字段,以便我可以手动选择哪个应用程序作用于意图?
我尝试过在网上查看我如何操纵这些字段,但没有运气 我用我的Android手机读了3张B型14443-4智能卡(MAXIM-MAX66020k-00AA +),“ATQB”如下:
Card 1 Card 2 Card 3
0x50 0x50 0x50
//PUPI
0xd8 0x99 0x1a
0x60 0x5c 0x61
0x02 0x02 0x02
0x00 0x00 0x00
//Application Data
0x10 0x20 0x10
0x10 0x00 0x10
0x11 0x2b 0x11
0x11 0xe0 0x11
//Protocol Data
0x00 0x00 0x00 106Kbits/sec
0x00 0x00 0x00 16 bytes / Not type B -4 complient)
0x00 0x00 0x00 32 ETUs / Application is proprietary / Nad "nor" CID are supported
我尝试使用TI TRF7970A卡发送这些确切的ATQB消息,但Android手机仍未对“ATQB”响应起作用。
问题:
(2)你能否指出为什么这些最后3个“ATQB”中的任何一个都不会被排除?
(3)什么是合法的“ATQB”,当发送到我的Android手机时会产生意图?
(4)我可以遵循哪些规则,以便我的Android手机始终创建“ATQB”的意图我从TI TRF7970A回复?
如果您可以将我引导到可以解释其中任何一项的来源,我们将不胜感激。
提前致谢!
-Derek
答案 0 :(得分:0)
我认为你在寻找错误的地方。 TRF7970A可能正在模拟NFC Forum Type 4 Tag,其中包含NDEF消息。 http://developer.android.com/guide/topics/nfc/nfc.html
解释了如何产生意图