0

我开发了一个应用程序,其中包括通过 NFC 从手机到 NFC 阅读器 (pn532) 的数据交换。整个项目在 android 上运行良好,但是在 WP8 上我无法从 Arduino 读取。

我检查了 LLCP 协议,似乎是正确的。LLCP-SNEP由本书执行,但 NDEF 消息永远不会传递到手机,甚至不会传递到默认的操作系统应用程序处理程序。奇怪的是,手机将数据完美地传输到 pn532,但从来没有相反的方向。我还注意到手机从 android 设备或标签读取完美,但我的控制器失败了。您可以在下面找到作为 pn532 主控制器的 Arduino 微控制器的输出。

-------Peer to Peer-------- Send a message to Lumia 620 on WP8 SAMConfig write: 14 1 14 1 read: 15 write: 8C 0 0 0 0 0 0 40 1 FE F BB BA A6 C9 89 0 0 0 0 0 0 0 0 FF FF 1 FE F BB BA A6 C9 89 0 0 6 46 66 6D 1 1 10 0 read: 8D 5 22 D4 0 E8 A4 8B 61 AF 9D 72 91 5F C3 0 0 0 32 46 66 6D 1 1 11 2 2 3 80 3 2 0 1 4 1 64 write: 86 read: 87 0 0 0 write: 8E 11 20 read: 8F 0 wait for a CC PDU write: 86 read: 87 0 5 20 2 2 3 80 5 1 5 6 F 75 72 6E 3A 6E 66 63 3A 73 6E 3A 73 6E 65 70 write: 8E 0 0 read: 8F 0 write: 86 read: 87 0 81 84 2 2 3 80 5 1 5 write: 8E 0 0 read: 8F 0 Leaving connect write: 86 read: 87 0 0 0 write: 8E 13 20 0 10 2 0 0 0 20 D1 1 1C 55 0 61 70 70 6C 69 63 61 74 69 6F 6E 2F 77 69 6E 64 6F 77 73 2E 63 6F 6D 2F 4E 46 43 read: 8F 0 write: 86 read: 87 0 83 44 1 write: 8E 0 0 read: 8F 0 write: 86 read: 87 0 83 4 1 10 81 0 0 0 0 write: 8E 13 60 10 read: 8F 0 Leaving writePablo Disconnecting write: 86 read: 87 0 0 0 write: 8E 11 60 read: 8F 0 wait for a DM PDU write: 86 read: 87 0 81 C4 0 Success

欢迎任何帮助

4

1 回答 1

0

我想到了两件事:

  1. 您正在发送无效的接收就绪 (RR) PDU:

    TgSetData, DSAP=4, PTYPE=1101 (RR), SSAP=32, N(S)=1, N(R)=0
    write:  8E 13 60 10
    read:   8F 0
    Success
    

    在 RR PDU 中,为 N(S) 保留的字段必须始终为 0,因为没有 RR PDU 的发送序列。此外,您承认收到了一个 I PDU,因此 N(R) 必须为 1。因此,正确的 PDU 应如下所示:

    TgSetData, DSAP=4, PTYPE=1101 (RR), SSAP=32, N(R)=1
    write:  8E 13 60 01
    read:   8F 0
    Success
    
  2. 您的 NDEF 消息是否包含您期望的数据?当前,您的 NDEF 消息包含一个带有 URI 的 URI RTD 记录application/windows.com/NFC(请注意,相对 URI 在这里没有多大意义)。

于 2014-03-06T16:28:32.830 回答