羅幼平+張捷
摘 要:物聯網網關在物聯網網絡架構中起著重要的紐帶作用,RFID技術是物聯網的核心之一。文中對基于.NET Micro Framework的物聯網網關進行了研究,探討了RFID技術在物聯網網關中的應用。
關鍵詞:RFID技術;物聯網;網關;.NET Micro Framework
中圖分類號:G251 文獻標識碼:A 文章編號:2095-1302(2014)04-0026-02
0 引 言
隨著信息技術、計算機技術、微電子技術的高速發展,信息產業已經經歷了計算機、互聯網和移動通信網兩次浪潮,而如今,人們正在迎來第三次浪潮——“物聯網”。物聯網是一張連接世界萬物的巨大信息網絡。通過物聯網人們能更好地感知世界、控制物體的傳輸、移動、運行,以達到“智慧”的控制。在物聯網世界中,物聯網網關將成為連接感知網絡與傳統通信網絡的紐帶。簡單地講,物聯網網關的主要功能包括三個方面:首先,是收集傳感器節點的數據;其次,執行數據協議轉換;最后,將協議轉換后的數據有效快速地發送到公共網絡。除此以外,物聯網網關同時還需具有相應的管理功能和控制能力。在物聯網網關的兩端分別是傳感器網絡和公共網絡(包括互聯網、有線和無線網絡),對于公共網絡,從技術層面來說,己經屬于相當成熟的技術領域,因此對于物聯網網關的實現來說,主要研究點集中在傳感器網絡以及物聯網網關如何有效接入公共網絡這兩方面。
1 NET Micro Framework框架
Microsoft .NET Micro Framework(以下簡稱MF)2001年由微軟研究院開始研發,并隨后在其MSN Direct項目中使用該技術,2009年并入.NET產品組,該技術可以應用到Windows Vista Sideshow、遠程控制、智能家電、醫療電子、零售終端以及汽車電子等行業應用場景。MF功能強大,并且能從C#.Net的PC開發快速進入,因此它幾乎適用于所有嵌入式場合,同時MF對存儲器和處理器的要求更低,開發人員可以在低功耗,低成本的ARM7、ARM9和Blackfin處理器上使用該框架,所開發出來的軟件僅需要幾百KB的RAM或FLASH/ROM的存儲空間。而Windows Embedded CE的托管代碼環境需要約10~12 MB的存儲空間,因此,基于.NET的應用設備只需要較少的存儲空間,降低了產品成本。此外由于.Net MF還集成了各種接口,如串口、網口、Wi-Fi、ZigBee、I2C、SPI、SDIO、USB等通信接口,加上其應用開發簡便,所以基于.NET Micro Framework框架的物聯網網關在物聯網時代將大有作為。
2 RFID技術
RFID技術是20世紀90年代興起的一項非接觸式的自動識別技術,是物聯網的核心技術之一,也是感知層的重要基礎網絡。RFID是利用射頻信號,通過空間耦合來實現對目標對象的無接觸識別并獲取相關數據信息,以無線方式進行雙向通信,可實現批量讀取,讀寫器發射的無線電波,可以讀取電子標簽內存儲的信息,識別電子標簽代表的物品、人和器具的身份。由于RFID標簽的存儲容量可以是296以上,它徹底擺脫了條形碼的種種限制,使世界上的每一種商品都可以擁有獨一無二的電子標簽。
一套完整的RFID系統由閱讀器(Reader)與電子標簽(TAG)及應用軟件系統三個部分所組成,其工作原理是Reader發射一特定頻率的無線電波能量給Transponder,用以驅動Transponder電路將內部的數據送出,此時Reader便依序接收解讀數據,送給應用程序做相應的處理。目前,RFID已廣泛應用于制造、銷售、物流、交通、醫療、安全與軍事等領域,可以實行全球范圍的各種產品、物資流動過程中的動態、快速、準確地識別與管理,因此已經引起了世界各國政府與產業界的廣泛關注,并得到廣泛應用。
3 RFID技術在物聯網網關中的應用
物聯網網關的有線接入使用標準RS232或RS485串行通信。在物聯網網關中,有串行通信總線,可以將串行RFID閱讀器直接掛載在串行總線接口上,通過物聯網網關對各個掛載的設備進行輪詢訪問,獲取各個掛載點的設備信息,同時也可以根據實際協議標準對設備節點進行設備控制和操作。
RFID卡和標簽根據應用領域的不同,有多個不同規格的產品。如果應用開發是Windows平臺,生產讀卡器的廠家一般會提供自己的SDK,用戶不需要熟悉通信協議,就可以自行開發串口通信程序,直接調用其DLL庫提供的API接口函數即可。不過對基于.Net Micro Framework的開發來說,必須根據廠家提供的通信協議操作。但無論是哪個廠家生產的閱讀器,其讀卡操作一般都要有如下幾個過程:
獲取RFID卡的類型;
讀取RFID卡的卡號;
選擇指定卡號的RFID卡;
設置指定扇區的KEY的類型,及具體的KEY值;
讀寫指定扇區的數據;
使選擇的RFID卡進入休眠狀態。
以MF1ICS50的RFID卡為例,該卡符合ISO14443A協議標準,EEROM的容量為1 024 B,分16個分區,每區64 B,這個64 B又分為4塊,其中最后一塊存放KEY-A、KEY-B及訪問策略。根據廠家提供的協議,實現現完整的RFID閱讀器操作類,操作命令如下:
private static UInt16 InitializePort = 0x0101;
//初始化波特率
private static UInt16 SetDeviceNodeNumber = 0x0102; //發設備號
private static UInt16 ReadDeviceNodeNumber = 0x0103; //讀設備號
private static UInt16 ReadDeviceMode = 0x0104;
//讀讀卡器型號
private static UInt16 SetBuzzerBeep = 0x0106;
//蜂鳴
private static UInt16 SetLedColor = 0x0107;
//設置紅綠燈
private static UInt16 SetReaderWorkingStatus = 0x0108; //保留
private static UInt16 SetAntennaStatus = 0x010c;
//設置天線狀態
private static UInt16 MifareRequest = 0x0201;
//請求卡的類型
private static UInt16 MifareAnticollision = 0x0202;
//讀卡號
private static UInt16 MifareSelect = 0x0203;
//確認卡號
private static UInt16 MifareHlta = 0x0204;
//停機應答
private static UInt16 MifareAuthentication1 = 0x0206; //卡片鑒定
private static UInt16 MifareAuthentication2 = 0x0207; //輸入密碼
private static UInt16 MifareRead = 0x0208;
//讀卡
private static UInt16 MifareWrite = 0x0209;
//寫卡
private static UInt16 MifareInitval = 0x020A;
//初始化錢包
private static UInt16 MifareReadBalance = 0x020B;
private static UInt16 MifareDecrement = 0x020C;
//減值
private static UInt16 MifareIncrement = 0x020D;
//加值
private static UInt16 MifareRestore = 0x020E;
//從一個塊到緩存
private static UInt16 MifareTransfer = 0x020F;
//從緩存到一個塊
private static UInt16 MifareUltraLightAnticoll = 0x0212;
private static UInt16 MifareUltraLightWrite = 0x0213;
4 結 語
時代賦予了物聯網網關沉重的歷史責任,它將區別于傳統網關的構架,成為實現自由互聯的人類通信的樞紐橋梁。RFID技術已擁有較長的應用歷史,隨著其成本的降低、印刷技術的革新,數值信息技術在各行業的廣泛深入,RFID技術擁有了更廣闊的發展前景。集成了RFID應用的物聯網網關將廣泛應用于智能家居、智能社區、數字醫院、智能交通等各行各業,在未來的物聯網時代將會扮演非常重要的角色。
參 考 文 獻
[1]邢銘生.基于物聯網網關的研究及實現[D].鄭州:鄭州大學通信工程學院,2010.
[2]張福文.基于ARM9的物聯網智能網關設計[D].大連:大連理工大學,2012.
[3]葉帆.RFID技術在.Net Micro Framework中的應用[EB/OL].葉帆工作室.[2010-05-16].http://blog.csdn.net/yfiot/article/details/5597289.
[4]李中偉,金靖芝.物聯網中的關鍵技術[J].價值工程,2011,30(19):149-150.
[5]史翔,王向勇,姜文超,等.物聯網及其關鍵技術研究[J].中國新通信,2010(17):63-68.