RFID技术在基于.NET Micro FrameWork物联网网关的应用
扫描二维码
随时随地手机看文章
引言
随着信息技术、计算机技术、微电子技术的高速发展, 信息产业已经经历了计算机、互联网和移动通信网两次浪潮, 而如今,人们正在迎来第三次浪潮一一“物联网”物联网是 一张连接世界万物的巨大信息网络。通过物联网人们能更好地 感知世界、控制物体的传输、移动、运行,以达到“智慧”的 控制。在物联网世界中,物联网网关将成为连接感知网络与传 统通信网络的纽带。简单地讲,物联网网关的主要功能包括三 个方面:首先,是收集传感器节点的数据;其次,执行数据协 议转换;最后,将协议转换后的数据有效快速地发送到公共 网络。除此以外,物联网网关同时还需具有相应的管理功能和 控制能力。在物联网网关的两端分别是传感器网络和公共网络 (包括互联网、有线和无线网络),对于公共网络,从技术层面 来说,己经属于相当成熟的技术领域,因此对于物联网网关 的实现来说,主要研究点集中在传感器网络以及物联网网关 如何有效接入公共网络这两方面。
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框架的物联网网关 在物联网时代将大有作为。
RFID技术是20世纪90年代兴起的一项非接触式的自动 识别技术,是物联网的核心技术之一,也是感知层的重要基 础网络。RFID是利用射频信号,通过空间耦合来实现对目标 对象的无接触识别并获取相关数据信息,以无线方式进行双 向通信,可实现批量读取,读写器发射的无线电波,可以读取 电子标签内存储的信息,识别电子标签代表的物品、人和器具 的身份。由于RFID标签的存储容量可以是296以上,它彻底 摆脱了条形码的种种限制,使世界上的每一种商品都可以拥有 独一无二的电子标签。
一套完整的RFID系统由阅读器(Reader)与电子标 签(TAG)及应用软件系统三个部分所组成,其工作原理是 Reader发射一特定频率的无线电波能量给Transponder,用以 驱动Transponder电路将内部的数据送出,此时Reader便依 序接收解读数据,送给应用程序做相应的处理。目前,RFID 已广泛应用于制造、销售、物流、交通、医疗、安全与军事等 领域,可以实行全球范围的各种产品、物资流动过程中的动态、 快速、准确地识别与管理,因此已经引起了世界各国政府与产 业界的广泛关注,并得到广泛应用。
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应用的物联网网关将 广泛应用于智能家居、智能社区、数字医院、智能交通等各行 各业,在未来的物联网时代将会扮演非常重要的角色。
20211120_6198c74accf3e__RFID技术在基于