摘 要:物联网网关在物联网网络架构中起着重要的纽带作用,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; //读设备号