RFID技術(shù)在基于.NET Micro FrameWork物聯(lián)網(wǎng)網(wǎng)關(guān)的應(yīng)用
掃描二維碼
隨時隨地手機看文章
引言
隨著信息技術(shù)、計算機技術(shù)、微電子技術(shù)的高速發(fā)展, 信息產(chǎn)業(yè)已經(jīng)經(jīng)歷了計算機、互聯(lián)網(wǎng)和移動通信網(wǎng)兩次浪潮, 而如今,人們正在迎來第三次浪潮一一“物聯(lián)網(wǎng)”物聯(lián)網(wǎng)是 一張連接世界萬物的巨大信息網(wǎng)絡(luò)。通過物聯(lián)網(wǎng)人們能更好地 感知世界、控制物體的傳輸、移動、運行,以達到“智慧”的 控制。在物聯(lián)網(wǎng)世界中,物聯(lián)網(wǎng)網(wǎng)關(guān)將成為連接感知網(wǎng)絡(luò)與傳 統(tǒng)通信網(wǎng)絡(luò)的紐帶。簡單地講,物聯(lián)網(wǎng)網(wǎng)關(guān)的主要功能包括三 個方面:首先,是收集傳感器節(jié)點的數(shù)據(jù);其次,執(zhí)行數(shù)據(jù)協(xié) 議轉(zhuǎn)換;最后,將協(xié)議轉(zhuǎn)換后的數(shù)據(jù)有效快速地發(fā)送到公共 網(wǎng)絡(luò)。除此以外,物聯(lián)網(wǎng)網(wǎng)關(guān)同時還需具有相應(yīng)的管理功能和 控制能力。在物聯(lián)網(wǎng)網(wǎng)關(guān)的兩端分別是傳感器網(wǎng)絡(luò)和公共網(wǎng)絡(luò) (包括互聯(lián)網(wǎng)、有線和無線網(wǎng)絡(luò)),對于公共網(wǎng)絡(luò),從技術(shù)層面 來說,己經(jīng)屬于相當成熟的技術(shù)領(lǐng)域,因此對于物聯(lián)網(wǎng)網(wǎng)關(guān) 的實現(xiàn)來說,主要研究點集中在傳感器網(wǎng)絡(luò)以及物聯(lián)網(wǎng)網(wǎng)關(guān) 如何有效接入公共網(wǎng)絡(luò)這兩方面。
1 NET Micro Framework 框架
Microsoft .NET Micro Framework (以下簡稱 MF) 2001 年由微軟研究院開始研發(fā),并隨后在其MSN Direct項目中 使用該技術(shù),2009年并入.NET產(chǎn)品組,該技術(shù)可以應(yīng)用到 Windows Vista Sideshow、遠程控制、智能家電、醫(yī)療電子、 零售終端以及汽車電子等行業(yè)應(yīng)用場景。MF功能強大,并且 能從C#.Net的PC開發(fā)快速進入,因此它幾乎適用于所有嵌 入式場合,同時MF對存儲器和處理器的要求更低,開發(fā)人 員可以在低功耗,低成本的ARM7、ARM9和Blackfin處理 器上使用該框架,所開發(fā)出來的軟件僅需要幾百KB的RAM 或 FLASH/ROM 的存儲空間。而 Windows Embedded CE 的托管代碼環(huán)境需要約10?12 MB的存儲空間,因此,基 于.NET的應(yīng)用設(shè)備只需要較少的存儲空間,降低了產(chǎn)品成本。 此外由于.Net MF還集成了各種接口,如串口、網(wǎng)口、Wi-Fi、 ZigBee、I2C、SPI、SDIO、USB等通信接口,加上其應(yīng)用開 發(fā)簡便,所以基于.NET Micro Framework框架的物聯(lián)網(wǎng)網(wǎng)關(guān) 在物聯(lián)網(wǎng)時代將大有作為。
RFID技術(shù)是20世紀90年代興起的一項非接觸式的自動 識別技術(shù),是物聯(lián)網(wǎng)的核心技術(shù)之一,也是感知層的重要基 礎(chǔ)網(wǎng)絡(luò)。RFID是利用射頻信號,通過空間耦合來實現(xiàn)對目標 對象的無接觸識別并獲取相關(guān)數(shù)據(jù)信息,以無線方式進行雙 向通信,可實現(xiàn)批量讀取,讀寫器發(fā)射的無線電波,可以讀取 電子標簽內(nèi)存儲的信息,識別電子標簽代表的物品、人和器具 的身份。由于RFID標簽的存儲容量可以是296以上,它徹底 擺脫了條形碼的種種限制,使世界上的每一種商品都可以擁有 獨一無二的電子標簽。
一套完整的RFID系統(tǒng)由閱讀器(Reader)與電子標 簽(TAG)及應(yīng)用軟件系統(tǒng)三個部分所組成,其工作原理是 Reader發(fā)射一特定頻率的無線電波能量給Transponder,用以 驅(qū)動Transponder電路將內(nèi)部的數(shù)據(jù)送出,此時Reader便依 序接收解讀數(shù)據(jù),送給應(yīng)用程序做相應(yīng)的處理。目前,RFID 已廣泛應(yīng)用于制造、銷售、物流、交通、醫(yī)療、安全與軍事等 領(lǐng)域,可以實行全球范圍的各種產(chǎn)品、物資流動過程中的動態(tài)、 快速、準確地識別與管理,因此已經(jīng)引起了世界各國政府與產(chǎn) 業(yè)界的廣泛關(guān)注,并得到廣泛應(yīng)用。
RFID技術(shù)在物聯(lián)網(wǎng)網(wǎng)關(guān)中的應(yīng)用
物聯(lián)網(wǎng)網(wǎng)關(guān)的有線接入使用標準RS232或RS485串行通 信。在物聯(lián)網(wǎng)網(wǎng)關(guān)中,有串行通信總線,可以將串行RFID閱讀器直接掛載在串行總線接口上,通過物聯(lián)網(wǎng)網(wǎng)關(guān)對各個掛載 的設(shè)備進行輪詢訪問,獲取各個掛載點的設(shè)備信息,同時也可 以根據(jù)實際協(xié)議標準對設(shè)備節(jié)點進行設(shè)備控制和操作。
RFID卡和標簽根據(jù)應(yīng)用領(lǐng)域的不同,有多個不同規(guī)格的 產(chǎn)品。如果應(yīng)用開發(fā)是Windows平臺,生產(chǎn)讀卡器的廠家一 般會提供自己的SDK,用戶不需要熟悉通信協(xié)議,就可以自行 開發(fā)串口通信程序,直接調(diào)用其DLL庫提供的API接口函數(shù) 即可。不過對基于.Net Micro Framework的開發(fā)來說,必須根 據(jù)廠家提供的通信協(xié)議操作。但無論是哪個廠家生產(chǎn)的閱讀 器,其讀卡操作一般都要有如下幾個過程:
獲取RFID卡的類型;
讀取RFID卡的卡號;
選擇指定卡號的RFID卡;
設(shè)置指定扇區(qū)的KEY的類型,及具體的KEY值; 讀寫指定扇區(qū)的數(shù)據(jù);
使選擇的RFID卡進入休眠狀態(tài)。
以MF1ICS50的RFID卡為例,該卡符合ISO14443A協(xié) 議標準,EEROM的容量為1 024 B,分16個分區(qū),每區(qū)64 B, 這個64 B又分為4塊,其中最后一塊存放KEY-A、KEY-B及 訪問策略。根據(jù)廠家提供的協(xié)議,實現(xiàn)現(xiàn)完整的RFID閱讀 器操作類,操作命令如下:
private static UInt16 InitializePort = 0x0101 ;
//初始化波特率
private static UInt16 SetDeviceNodeNumber = 0x0102 ;
//發(fā)設(shè)備號
private static UInt16 ReadDeviceNodeNumber = 0x0103 ;
//讀設(shè)備號
private static UInt16 ReadDeviceMode = 0x0104 ;
//讀讀卡器型號
private static UInt16 SetBuzzerBeep = 0x0106 ;
//蜂鳴
private static UInt16 SetLedColor = 0x0107 ;
//設(shè)置紅綠燈
private static UInt16 SetReaderWorkingStatus = 0x0108 ;
//保留
private static UInt16 SetAntennaStatus = 0x010c ;
//設(shè)置天線狀態(tài)
private static UInt16 MifareRequest = 0x0201 ;
//請求卡的類型
private static UInt16 MifareAnticollision = 0x0202 ;
//讀卡號
private static UInt16 MifareSelect = 0x0203 ;
//確認卡號
private static UInt16 MifareHlta = 0x0204 ;
//停機應(yīng)答
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結(jié)語
時代賦予了物聯(lián)網(wǎng)網(wǎng)關(guān)沉重的歷史責任,它將區(qū)別于傳 統(tǒng)網(wǎng)關(guān)的構(gòu)架,成為實現(xiàn)自由互聯(lián)的人類通信的樞紐橋梁。 RFID技術(shù)已擁有較長的應(yīng)用歷史,隨著其成本的降低、印刷 技術(shù)的革新,數(shù)值信息技術(shù)在各行業(yè)的廣泛深入,RFID技術(shù) 擁有了更廣闊的發(fā)展前景。集成了 RFID應(yīng)用的物聯(lián)網(wǎng)網(wǎng)關(guān)將 廣泛應(yīng)用于智能家居、智能社區(qū)、數(shù)字醫(yī)院、智能交通等各行 各業(yè),在未來的物聯(lián)網(wǎng)時代將會扮演非常重要的角色。
20211120_6198c74accf3e__RFID技術(shù)在基于