[連載] 3-4 NDEF的Smart Poster記錄型式

了解單一筆的TEXT與URI記錄格式之後,再來看比較複雜的『智慧型海報』(Smart Poster; 簡稱:SP)的格式。基本上SP由多筆的子記錄來組成,包括:資源定址(URI)、標題(Title)、動作(Recommended Action)、圖示(Icon)、大小(Size) 等5種子記錄所組成,但不必須每個子記錄都需要存在。

下面假設為『歡迎來台灣觀光』的智慧海報為例,可以規畫其NFC標籤的NDEF內容為:


因定義一筆SP的記錄,所以依舊MB=ME=1, 之後的CF=0, SR=1, IL=0, TNF=0x01(Well_Known Record),若以HEX表示就是0xD1(b11010001);接著表頭之後是TYPE LENGTH,Smart Poster記錄的類別關鍵字是“Sp”表示,所以其長度為0x02; PAYLOAD LENGTH係指整個記錄的長度,此處設定了Title、URI、與 Action 3種子記錄,總長度佔為54個位元組(0x36)。

第1筆子記錄是海報的標題”Welcome to Taiwan!”,以TEXT記錄的型式來定義,要特別注意是其表頭的設定,因為共有3筆子記錄組成,所以開始以MB=1, ME=0, 之後的CF=0, SR=1, IL=0, TNF=0x01(Well_Known Record),若以HEX表示就是0x91(b10010001);

再來,第2筆子記錄是海報的連結的URI,”http://timefortaiwan.tw”為旅遊台灣的專屬網站,當然以URI記錄的型式來設定,因為是中間的一筆子記錄,表頭的設定為MB=ME=0, 之後的CF=0, SR=1, IL=0, TNF=0x01(Well_Known Record),若以HEX表示就是0x11(b00010001);
 
第3筆子記錄是海報的ACTION記錄,因為是最後一筆子記錄,所以表頭的設定為MB=0, ME=1, 之後的CF=0, SR=1, IL=0, TNF=0x01(Well_Known Record),若以HEX表示就是0x51(b01010001); 接著表頭之後是TYPE LENGTH,ACTION子記錄的類別關鍵字是“act”表示,所以其長度為0x03;PAYLOAD LENGTH係指ACTION記錄的長度,因設定值只有一個位元組,所以是0x01),內容為0x00表執行,直接前往該網站!

留言

熱門文章