2013-03-07 51 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)。