編碼RFID標簽分為兩個步驟。
首先是選擇唯一跟蹤所需識別的物品的身份識別方案。其次是將這個身份識別附加到RFID標簽之上。
3.2.1.1 決定身份編碼方案
身份識別是一個鑒別某個對象或者物品的身份的動作過程。但是什么是身份(identity)? 在 RFID中,身份是一串附加到物品你上的字母或者數字編碼,允許人工或者自動化設備能夠識別到該物品的類型甚至其唯一性。這正如你在圖書館查詢圖書時,書籍是使用杜威十進制分類法或者通用十進制分類法來標識的。但是目前的圖書分類法只能標識到書籍的類型而不能標識到
考慮到有時候需要進行實體的唯一性識別,比如產品、集裝箱、物理資產、動物甚至人類本身。對一個大型企業來說,在企供應鏈上同時可能有數以百萬的物品在流動。可以使用某種編號系統來對這些物品進行標識,但是如果在公司之外沒有人,或者系統能夠理解它們,其價值就大打折扣。所以需要行業的或者通用的標準方案。
1999年,美國的MIT、英國的劍橋、澳大利亞的Adelaide 、日本的Keio、中國的復旦以及新西蘭的St. Gallen大學與行業伙伴如Sun Microsystems 和 Gillette組成了Auto-ID 中心。它們希望能夠開發一個通用標準來減少單個標簽的成本。因為該成本也是采用RFID應用的一個主要組成部分,而標準可以促進業務伙伴之間的信息共享程度從而減少單位成本。2003年8月, EPCglobal公司接管了該標準的管理,而該研究中心繼續進行單獨的研究工作。EPCglobal是歐洲物品編碼國際組織(European Article Number International,即EAN International,現在是GS1),統一代碼協會(Uniform Code Council,即UCC,現在是GS1 US),以及想要在RFID領域重塑條形碼的EAN.UCC標準的成功的一些業界伙伴的合資企業。EPCglobal正在開發的標準的各個組件將構成一個所謂的“EPCglobal Network”。其理念是這個網絡將兼容構建在整個供應鏈之上的標簽、閱讀器、以及信息系統,制造商、分銷商、物流商以及零售商。EPCglobal 的編碼方案被稱之為電子產品代碼(Electronic Product Code :EPC)。
在現今的物品跟蹤領域,主要使用的是EAN.UCC 條形碼,為什么還要在RFID系統中使用同樣的類似系統呢?事實上,我們可以在RFID標簽中使用現有的成熟的條形碼編碼方案。但這些系統基本上是設計來跟蹤物品的分類而不是單個物品的,但是如果加上序列號,光學代碼和二維條碼也可以用來跟蹤到個體。那么物品級別的跟蹤和RFID本身就是趨于一致的。比如,EPCglobal的版本1.1的標簽數據標準,就定義了一個通用的身份類型:通用標識符(General Identifier:GID)。同時還定義了衍生自EAN.UCC 產品代碼的五種特定的身份類型。這些特定的身份類型是在現有的EAN.UCC標識符,諸如連續全球貿易物品編號(SGTIN)或者連續運輸集裝箱代碼(SSCC)之上添加一個額外的資產引用編號或者序列號而得來。
比如使用統一資源標識符(URI)可以標識一個GID為:
urn:epc:id:gid:GeneralManagerNumber.ObjectClass.SerialNumber
那么,一個具體的GID可能會是這樣:
urn:epc:id:gid:00012345.054322.4208
GID中的urn:epc:id:gid 部分是靜態的,作為標識符的一個頭部(header),指出標識符的類型,以及基于EPC規范還會出現哪些字段域。該header后跟值字段域,其長度和編號是由header決定的。這三個段分別表示了GID的通用管理者編號(General Manager Number)、對象類(Object Class), 以及序列號(Serial Number )。
General Manager Number 標識了負責分配接下來的兩個字段域的編號的組織(通常為一個公司或者貿易集團) 。Object Class 標識了產品的類型或者族。最后, Serial Number 被標簽標識的對象類的一個特定實例。這種將一個特定范圍的編號委托給某個通用管理者的方式,在允許組織管理其自身的產品編號而不用提交到中心當局,同時又確保了不與其他組織的產品相混淆,這就提供了一種靈活性。
3.2.1.2 將編碼身份編碼到RFID標簽
選定編碼方案或者方法之后,必須考慮到如何將這個身份標識編碼(物理的)到RFID標簽之中。所謂編碼(Encoding)是將認可度的消息轉換為機器可讀的代碼所必須遵循的規則。每種識別標簽的類型,從條形碼到光學散射代碼到磁條再到RFID標簽,都各自有一zhogbiaoshi期身份的特定的編碼規則。
理論上講,一旦對某個物品建立了一個身份標識,我們只需要將其簡單地寫到標簽(Label)并將其貼到物品上即可。其它人就可以毫無困難地識別出它。但是,一個自動化的系統卻要困難得多。以某種特定的字體打印下來可能對機器識別來說要容易得多,但是如果該身份之需要能夠被自動系統閱讀,為什么還要花費精力來研究如何更好地打印。
今天到處使用的條形碼就是這種推理的結果。在條形碼中,特定寬度的線條代表了特定的字母或者數字。條形碼有不同的類型,每一種都有其特定的規則來描述其如何形成一個特定類型的身份。決定我們如何將數字和字母轉換成特定的線條,以及我們可以添加什么特定的數字和字母來構成有效的標簽的規則稱為是標簽編碼規則,或者簡稱編碼。因此,條形碼可能會包含物品的身份,即一個指示所用的是何種條形碼的編號,以及在許多情況下的一個標識分配該身份的組織的編號。下圖是一個ISBM的條形碼編號。
在上圖中,標注A, B, 和 C 分別指示了條形碼的不同部分。A部分包含數字636,即一個指示圖書行業的編碼。B 部分指示ISBN 編號本身。C部分是一個校驗碼,用于閱讀器驗證是否誤讀了該編碼。中間的ISBM編碼部分是根據ISBM規則的身份,而A和C則是根據條形碼的要求所加。
為了選擇適當的編碼將身份寫入到RFID標簽中,你必須知道你將要寫入的身份的類型和所用的標簽的類型和存儲容量。在EPC規范中,GID是一個純粹身份(pure identity),它不能在沒有通過某種形式的編碼的情況下寫入到任何類型的標簽中。例如,假入我們想要將其寫入到一個96-bit Class I EPC標簽中,即一個可以保存96bit的ID,并且符合EPC標準的可寫入標簽。首先,我們需要將GID的各部分按照標簽的要求正確排序,留下那些不是標簽編碼的部分。幸運的是,僅包含相關字段的GID對EPC來說已經是正確的順序了。接下來可以添加必要的附加信息已產生一個閱讀器和事件器都能夠理解的URN 表示。對于一個GID在9bit標簽中的URN表示是:
urn:epc:tag:gid-96:FilterValue.GeneralManagerNumber.ObjectClass.SerialNumber
那么一個具體的例子可能是:
urn:epc:tag:gid-96:0.00012345.054322.4208
如果應用直接和閱讀器通信,你可能需要產生這些標簽特定的URN。如果你的應用是通過某種形式的RFID中間件通信,或者某種具有數據管理能力的智能閱讀器通信,你便可以使用某種純粹的URN 身份表示。反之亦然:閱讀器可以給你一個標簽特定的URN,而中間件則可以給你一個獨立于標簽的純粹身份。