赵明波, 谢 楠, 王亚军, 陈伟标, 林 浩
(山东理工大学 计算机科学与技术学院,山东 淄博 255091)
随着经济的迅猛发展,汽车拥有量急剧增长,同时也为城市的车辆管理带来了新的问题。高效、安全、快捷的智能车辆管理系统已成为许多小区、公司迫切需求[1-2]。基于RFID和QT/E的车辆出入监控系统就是基于这方面的需求而提出的,实现单位或者小区车辆出入的自动化管理。
本系统设计模拟环境如图1所示。系统利用注册的RFID识别卡,对出入车辆进行自动化管理。当有车辆进入或离开时,车辆进入RFID射频卡识别区,通过对RFID的识别,验证车辆是否合法,如合法,则进行抬杆放行;并记录车辆的入出时间、统计车流量。
图1 基于RFID技术的车辆出入监控系统模拟环境
(1) 实现车辆的安全管理,采用一车一卡。对于车辆的出入时间进行记录。
(2) 车辆的出入自动管理,当有车出入时,需要识别车辆的身份(通过提前注册的frid卡),当身份合法时,允许车辆出入。
(3) 对车辆出入实时记录,实现车辆出入记录查询和车流量统计。
(4) 实现对数据库的管理:车辆、人员信息的增加、修改、删除和查询,RFID卡的注册、挂失和解挂等。
硬件平台:UP-CUP IOT-6410-Ⅱ型嵌入式物联网综合实验系统[3],处理器是S3C6410。
软件设计方案:经过参考和比较[4],本系统基于嵌入式linux操作系统,利用RFID实现车辆标识,采用QT/E界面开发语言和Sqlite数据库来实现本系统的设计。
(1) 利用RFID实现车辆信息的识别和读取。
(2) 利用Sqlite数据库作为底层数据的管理与维护,方便大量数据的管理,而且便于实现。
(3) 系统应用嵌入式linux操作系统实现对系统所有资源进行管理。
(4) QT/E作为本系统的人机界面开发语言。QT/E作为GUI开发语言,实现界面一次开发,多平台编译和使用[5]。在PC机上开发编写,交叉编译后移植到ARM平台,实现人性化图形化的友好人机界面。
射频识别(Radio Frequency Identification,RFID),俗称电子标签。RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无需人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便[6]。
RFID的基本组成部分为标签、阅读器和天线。标签(Tag)由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象;阅读器(Reader)读取(有时还可以写入)标签信息的设备,可设计为手持式或固定式;天线(Antenna)在标签和读取器间传递射频信号[7]。
RFID技术的基本工作原理:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(PassiveTag,无源标签或被动标签),或者主动发送某一频率的信号(ActiveTag,有源标签或主动标签);解读器读取信息并解码后,送至中央信息系统进行有关数据处理[8]。
TX125系列非接触IC卡射频读卡模块采用125 KB射频基站。当有卡靠近模块时,模块会以韦根或UART方式输出ID卡卡号,用户仅需简单的读取即可,在串口方式下,可工作在主动与被动的模式。该读卡模块完全支持EM、TEMIC、TK及其兼容卡片的操作,非常适合于门禁、考勤等系统的应用[3~9]。
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百KB的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口。与Mysql、PostgreSQL这两款开源世界著名的数据库管理系统相比,它的处理速度更快[10-11]。
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式。Qt是面向对象语言,易于扩展,并且允许组件编程。Qt的跨平台特性,是选择Qt做嵌入式软件开发的一个非常重要的原因。Qt支持Microsoft Windows 95/98/NT,Linux,Solaris,SunOS,QNX 等操作系统。对于相同功能的软件,无须针对不同的操作系统编写不同程序,只需将相同的代码针对不同的环境重新编译即可[12]。
Qt/Embedded是Qt的嵌入式版本,它在原始Qt的基础上,做了许多出色的调整以适合嵌入式环境。同Qt/X11相比,Qt/Embedded很节省内存,因此它在嵌入式Linux系统上的应用非常广泛[13]。
嵌入式 Linux是以Linux为基础的嵌入式操作系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。嵌入式Linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费,全世界的自由软件开发者提供支持,而且性能优异,软件移植容易,代码开放,有许多应用软件支持;应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植[14]。
硬件平台:UP-CUP IOT-6410-Ⅱ型嵌入式物联网综合实验系统,USB接口的鼠标和键盘,连在物联网平台用于测试。
PC机用于开发和调试,开发所需软件:虚拟机Vmware Workstation、Fedora Core 8、MiniCom/Xshell、ARM_LINUX交叉编译开发环境、QT/E。
RFID模块通过串口向ARM处理器发送数据,主程序通过串口接收RFID信息,对数据库操作,在各窗口间传递数据,如图2所示。
设计了两个表,两表之间通过卡号建立关联。
(1) 车辆基本信息表。用于记录车辆的基本信息,如表1所示。
表1 车辆基本信息表
(2) 车辆出入记录表。用于记录车辆出入信息,如表2所示。
表2 车辆出入记录表
设计了4个基本类,利用SQLite C/C++接口函数[15]实现对数据库的操作,如图4所示。
车辆出入监控系统基本功能包括:车辆信息采集,车辆信息删除、修改、查询,RFID卡挂失与解挂,车辆出入信息统计与显示,系统用户的增加、删除、修改,车辆出入记录查询。主要功能界面如下所示:
(1) 车辆出入信息统计与显示。当用户点击车流量统计时,显示车流量统计结果,如图6所示。其中RFID号是读卡器获得的射频卡号。
(2) 掛失。当要挂失RFID时,点击射频卡挂失按钮,弹出射频卡号输入框,输入射频卡号,点击OK按钮,挂失对应的射频卡号。
本系统能实现对车辆有效基本信息的采集和无效数据的屏蔽;完成了对出入车辆信息的有效验证、出入时间的准确记录,实现了车辆出入的自动化管理。
本系统综合RFID、Sqlite数据库、QT/E开发语言和嵌入式linux操作系统来实现。QT/E作为本系统的界面开发语言,在PC机上编写,交叉编译后移植到ARM平台,实现人性化图形化的人机界面。利用嵌入式数据库Sqlite来管理系统数据,使得ARM平台自身处理大量数据成为可能。RFID技术用于车辆标识,实现真正意义上的车辆自动化管理。在车辆出入口安装本系统,对车辆进行识别核对,合法车辆可以不停车快速通过,并同时记录车辆出入数据。测试表明该设计能够实现车辆出入的自动化管理,满足社会管理的现代化需求。相比较基于PC台式机的设计,基于ARM处理器的便携式设计在安装、应用等方面都更加方便。
图5 车辆出入信息查询结果图
图6 车辆基本信息采集界面图
[1] 张丽然,沈胜利.基于RFID的车辆自动管理系统研究[J].电子设计工程,2012,20(6):8-10.
ZHANG Liran,SHEN Shengli.Research of vehicle automatic management system based on RFID [J].Electronic Design Engineering,2012,20(6):8-10.
[2] 严 奎,邱自学,袁 江.集成RFID和视频的车辆识别及管理系统[J].自动化仪表,2012,33(12):46-50.
YAN Kui,QIU Zixue,YUAN Jiang. Recognition and Management System for Road Vehicle Integrating RFID and Video Technologies[J]. Process Automation Instrumentation, 2012,33(12):46-50.
[3] 北京博创兴盛科技有限公司网站[EB/OL].http://www.up-tech.com.
[4] 吴志红,杨跃臣.嵌入式停车场管理系统[J].计算机应用,2010,30(11):3126-3129.
WU Zhi-hong,YANG Yue-che.Parking lot management system based on embedded design[J].Journal of Computer Application,2010,30(11):3126-3129.
[5] 汤 伟,李 强.Qt/E的嵌入式Linux GUI研究与实现[J].计算机应用与软件,2011,28(10): 260-263.
TANG Wei, LI Qiang.Research and Realization of Qt/E Embedded Linux Gui[J].Computer Applications and Software,2011,28,(10): 260-263.
[6] 罗春彬,彭 龑,易 彬.RFID技术发展与应用综述[J].通信技术,2009,12:112-114.
LUO Chun-bin, PENG Yan, YI Bin.Overview on RFID Technology and Application[J]. Communications Technology,2009,12:112-114.
[7] 张春红,裘晓峰,夏海轮,等.物联网技术与应用[M].北京:人民邮电出版社,2011.
[8] 张 凯,张雯婷.物联网导论[M].北京:清华大学出版社.2012.
[9] 任晓莉.基于RFID的智能公交车辆监控系统设计与实现[J].计算机与数字工程,2013,41(5):835-837.
REN Xiuo-li. Design and Implementation of Intelligent Bus Vehicles Monitoring System Based on RFID[J].Computer& Digital Engineerin,2013,41(5):835-837.
[10] 叶 鹏,马 俊,王 威.基于ARM 的RFID智能物流管理系统设计与实现[J].计算机工程与设计,2013,34(10):3475-3479.
YE Peng,MA Jun,WANG Wei.Design and implementation of logistics management system based on ARM and RFID[J].Computer Engineering and Design,2013,34(1O):3475-3479.
[11] [加拿大]Jasmin Blanchetee,[英]Mark Summerfield.C++ GUI Qt4编程[M].北京:电子工业出版社.2010.12.
[12] 奚海蛟,谌利.嵌入式Linux的Qt图形程序实战开发[M].北京:北京航空航天大学出版社,2012.
[13] 霍亚飞.Qt Creator快速入门[M].北京:北京航空航天大学出版社,2012.
[14] 华清远见.嵌入式linux应用程序开发标准教程[M].北京:人民邮电出版社.2009.
[15] Sqlite数据库技术网站[EB/OL].http:www.sqlite.org.