2013-03-07 82 views
2

我想了解两个NFC手机之间的交流联系方式。P2P中的NDEF(LLCP)

所以有是我得到:

B2 4D DD D5 07 03 13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

B24D是SyncCode,DD是LEN,D5是CMD0,07 CMD1(这是一个DEP_RES)和03 PFB。 没关系。

所以,现在我们拥有所有其他字节:

13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

这些字节是一个LLCP我PDU。

13 20 00是DSAP(0x04),PTYPE(0x0C),SSAP(0x20)和序列(0x00)。

所以现在我们只有数据字节。

10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 4E 3A 3B 

我们可以很容易地了解到NDEF开始在D2(D2是标志,0℃类型长度...)

所以,问题就在这里,什么是这些数据的第一个字节?

10 02 00 00 00 D0 

它就像一个初始化,我认为10是版本号,D0是长度。 但是从这个初始化来自哪个文档?我没有在任何NFC论坛文档中找到信息。

There is the comunication

感谢您的帮助。

回答

1

好吧,经过几个小时的谷歌,我找到了答案在我的问题。

当通过LLC协议发送NDEF消息时,存在SNEP层。

所以SNEP头是:版本 - 将 - 长度(4个字节)

以我的情况下,版本1.0(0x10的),将(0×02),和长度D0(0×00 0×00 0×00 0xD0)。