摘 要: 介绍了一种基于RFID射频识别的电梯远程监测系统,重点介绍了点对点射频收发数据的过程。对该远程系统的总体构架进行了设计,并利用Visua1C++6.0完成了报警界面及电梯运行状况的显示,实现了对电梯的无线远程监测和故障码的收发。
关键词: 电梯;远程监测;RFID射频识别;故障码
随着社会的发展和生活节奏的加快,电梯已成为人们工作和生活中不可或缺的一部分,然而,随之而来的安全问题却不可忽视。为了保障使用者的人身安全以及提高电梯故障的修复速度,先进的电梯远程监测系统是必不可少的。
射频识别技术RFID(Radio Frequency Identification)是20世纪90年代开始兴起的一种自动识别技术,是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。与传统的识别方式相比,RFID技术无需直接接触、光学可视和人工干预即可完成信息输入和处理,且操作方便快捷。能够广泛应用于生产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理等需要收集和处理数据的应用领域。
1 系统结构简介
1.1 CC2430芯片
典型的有源RFID标签由天线、射频模块、控制模块、存储器、唤醒电路和电池模块等组成,如图1所示。
TI公司的CC2430芯片集成了所有的无线通信系统部分,只需添加少数的外围电路即可使其构成无线通信模块,降低了系统成本和简化了标签的设计。CC2430有32 KB、64 KB、128 KB三种不同的闪存空间,是一个真正的系统级芯片(SoC)CMOS解决方案,为IEEE 802.15.4和ZigBee量身定制。这种解决方案能够提高性能,并满足以ZigBee为基础的2.4 GHz ISM波段应用,且成本和功耗都低。
1.2 远程监测系统总体架构
此系统主要由节点板和基站板组成,点对点射频实现两个不同节点之间的无线通信,如图2所示。
2 不同节点之间无线通信的实现
不同节点间的无线通信在Cygwin和TinyOS实验环境下完成。
TinyOS编程中文件名一般是这样定义的:(1)接口定义文件:FCODESend.nc;(2)模块文件:FCODEP.nc或者FCODEM.nc;(3)配置文件:FCODEC.nc。
2.1 模块接口的关联
在Cygwin和TinyOS实验环境下创建工程文件FCODESend.nc。具体过程如下:(1)启动Cygwin,输入cd/进入TinyOS主目录,用ls查看该目录下的所有文件。(2)输入命令cd/opt/atos,进入该目录后,用ls查看目录下环境变量配置文件setupenv,执行source setupenv命令,使环境变量生效。(3)输入命令cd/apps,进入应用程序目录,用ls查看该目录下所有文件和子目录,并用mkdir MyProject创建一个名为MyProject的目录。(4)进入新创建的MyProject目录,然后在MyProject目录下使用命令vi FCODESend.nc来创建工程文件FCODESend。工程文件FCODESend程序代码的功能:
(1)FCODESendM.Boot -> MainC.Boot; //FCODESend模块程序的Boot接口与系统Boot接口关联
(2)FCODESendM.RFControl->AM.SplitControl;//FCODESend模块射频开关控制(注:components CC2430ActiveMessageC as AM;)
(3)#define AM_DATA_TYPE 123//收发数据定义,1~255之间的任一整数,一般的电梯故障代码都是在这个范围内,所以1~255完全适用
( 4 ) F CODESendM . AMSend->AM.AMSend[AM_DATA_TYPE];
FCODESendM.Receive -> AM.Receive[AM_DATA_TYPE];
//发送和接收数据类型必须对应
2.2 电梯故障码传输的实现模块
在MyProject目录下使用命令vi FCODESendM.nc来建立模块文件FCODESendM。
模块文件FCODESendM程序代码主要是用来定义调试等级以及串口和无线传输的相关接口,实现数据的接收与发送,节点板与基站板之间的无线传输,在终端上显示节点板与基站板的地址与工作组,用以区别发送节点与接收节点,并最终显示电梯的故障代码。由于电梯故障代码繁多且并不统一,可以利用Visua1C++6.0庞大的数据库来完成界面的设计以及故障码的识别。
电梯故障码收发流程图如图3所示。
2.3 编写Makefile文件
用命令ls可以查看在MyProject目录下包含了新建的FCODESend.nc和 FCODESendM.nc两个文件,然后在 MyProject 目录下用 vi Makefile 命令来编写 Makefile 文件。Makefile 文件的程序代码如下所示:
COMPONENT=FCODESend
######################
PFLAGS += -DUSE_MODULE_LED –DATOSENET
//使用LED模块
PFLAGS += -DUART_DEBUG //使用串口调试模块
#PFLAGS += -DNO_RADIO_ADDRESS_REQ
//使用无线传输模块,不限制地址
PFLAGS += -DADBG_LEVEL=9 //定义调试级别
PFLAGS += -DUART_BAUDRATE=115200
//定义串口波特率
PFLAGS += -DCC2430_MANUAL_ACK
######################
include $(MAKERULES)
Makefile 文件的程序代码主要用来开启使用到的模块(模块功能默认关闭),其中值得注意的是,为了方便起见,节点板和基站板的地址已固定设为01和02。
2.4 终端显示结果
由于电梯故障码种类繁多且各公司产品的故障码并不统一,本文利用日立NPH电梯的部分故障码对该系统不同节点间的无线通信做了测试,测试结果如图4所示。
3 系统软件设计
系统软件设计的主要功能是实现人机交互,使该远程监测系统表现得更为友好,实现电梯故障码与电梯实际状况的一一对应,达到使电梯故障一目了然的效果,使电梯维修工作将更为方便、快捷。
软件设计可以用可视化编程语言Visua1C++6.0来完成,利用其自身庞大的数据库,实现远程监测系统报警界面的设计以及电梯运行状况的显示。配合建立电梯故障码数据库,以便可以在第一时间全面了解电梯故障,实现实时监测,在电梯故障的第一时间做出相应措施,以减少不必要的损失。
本文介绍了基于RFID电梯远程监测系统的构架以及软件设计,并对节点间的无线通信作了较为详细的介绍。与有线监测系统相比,该系统实现了远程无线监测,系统结构简单,只需要极小的空间便能达到远程监测的效果,免去了有线系统布线的麻烦,性价比更高。与GPRS远程监测系统相比,该系统在传输数据的速度上占有很大的优势,实时性更强。
该系统能满足公共场所、中小型企业以及商场等场所的电梯远程监测的基本需要,传输距离约为200 m。但受CC2430无线模块的有效距离的限制,所以在传输有效距离上还有待提高。通过高增益的天线或者在天线前端放置功率放大器,可大大提高数据的传输距离。
参考文献
[1] 战清,苏剑.无线射频识别技术理论与应用[M].北京:电子工业出版社,2004.
[2] 郎为民.射频识别技术原理与应用[M].北京:机械工业出版社,2006.
[3] FINKENZELLER K.射频识别(RFID)技术(第二版)[M].陈大才译.北京:电子工业出版社,2001.
[4] 刘锐宁,宋坤.VISUAL C++从入门到精通[M].北京:清华大学出版社,2008.