基于Linux的RFID安检系统的设计.docx
《基于Linux的RFID安检系统的设计.docx》由会员分享,可在线阅读,更多相关《基于Linux的RFID安检系统的设计.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Linux的RFID安检系统的设计RFID(射频识别)是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无需人工干预,可工作于各种恶劣环境下。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。非接触IC卡是目前RFID系统中最常用的一种电子标签,它诞生于20世纪90年代初,是世界上最近几年发展起来的一项新技术,它成功地将射频识技术和IC卡技术结合起来,解决了无源(卡中无电源)和免接触这一难题,是电子器件领域的一大突破。由于存在着磁卡和接触式IC卡不可比拟的优点,使之一经问世,便立即引起广泛的关注,并以惊人的速度得到推广应用,如我国的第二代公
2、民身份证、公交卡、ETC免停车付费卡等。可以说RFID技术越来越多地应用到我国身份安检、质量安检、车辆安检、执法安检等诸多安检系统中。本文就是针对安检系统这种工程背景下RFID通信的应用开发。现在一般的RFID通信都基于串口,串口因其通用性、方面性和优良性能得到了广泛的应用。由于安检系统中往往涉及大量重要数据的读取、通信以及实时更新,因此数据库技术的引入必不可少。同时本文选择了Linux操作系统,众所周知Linux同Windows相比性能更安全、更可靠,而且Linux还是一款免费的代码开源的操作系统,裁减内核更方便、快捷,与其他操作系统相比有着许多独特的优势,更加适合用作嵌入式操作系统。1系统
3、结构介绍RFID安检系统主要包括RFID前段读写器、嵌入式Linux终端两大部分。其中嵌入式终端的CPU采用ARM9内核,内核执行速率达几百兆赫兹,可以很好地满足RFID数据的读取和存储。由于嵌入式系统一般是一个经过裁剪、资源极其有限的系统,因此对于安检系统中涉及到的大量数据只能存取到外围存储设备中,本方案中的SD卡模块正是用来存储数据库的,当RFID读写器读取到指定数据,便在SD卡中的相关数据库文件中查询,并根据查询结果做出相关反应并及时更新本地数据库。2Linux下串口的开发在Linux下对串口进行配置、打开、读写等一系列的操作其使用方式与文件操作一样,区别在于串口是一个终端设备1。Lin
4、ux中的串口设备文件存放于/dev目录下,其中串口1、串口2一般对应设备名依次为“/dev/ttyS0、“/dev/ttyS1。在使用串口之前必须设置相关配置,包括波特率、数据位、校验位、停止位等。串口设置由下面结构体实现:Structtermiostcflag_tc_iflag;/*inputflags*/tcflag_tc_oflag;/*outputflags*/tcflag_tc_cflag;/*controlflags*/tcflag_tc_lflag;/*localflags*/tcflag_tc_ccNCSS;/*controlcharacters*/按照串口配置流程,对term
5、ios结构体设置相关参数,当串口按自己的设置要求配置成功后,即可将串口当做普通I/O文件,使用read和write函数对串口进行读取。3sqlite3数据库的应用开发sqlite3数据库是一种嵌入式数据库,其目标是尽量简单,因此抛弃了传统企业级数据库的种种复杂特性,只实现对于数据库而言必备的功能。尽管简单性是sqlite3追求的首要目标,但是其功能和性能都非常出色,具有支持SQL92标准、所有数据存放到单独的文件中支持的最大文件可达2TB、数据库可以在不同字节的机器之间共享、体积小、系统开销小、检索效率高、支持多种计算机语言、源码开放,并且可以用于任何合法用途等特性。3.1sqlite3数据库
6、的移植sqlite3数据库的移植过程如下所述:(1)首先从sqlite官网上下载最新的sqlite3源码包;(2)解压源码包,并进入解压目录:tar-zxvfsqlite-3.6.23.1.tar.gzcdsqlite-3.6.23.1(3)配置Configure脚本,使用相关选项生成编译文件Makefile文件:./configure-enable-share-prefix=./sqlite-3.6.23.1/result-host=arm-linux选项-enable-share指定使用Linux的共享库选项-prefix指定了安装目录为./sqlite-3.6.23.1/result选项
7、-host指定了编译环境为目标机为arm的交叉编译环境(4)交叉编译,生成嵌入式终端下数据库的管理程序和库文件,最终在result目录下得到数据库管理程序sqlite3(相当于Windows下Access程序),提供编程所需的API的动态库libsqlite3.so.0.8.6,编程所需的头文件sqlite3ext.hsqlite3.h。交叉编译的命令如下:MakeMakeinstall(5)将数据库管理程序sqlite3、提供编程所需的API的动态库libsqlite3.so.0.8.6及其1个软链接拷贝到开发板根文件系统相应位置,分别在嵌入式终端的/usr/bin和/usr/lib这两个目
8、录下,命令如下:Cpresult/bin/sqlite3/arm-linux/usr/binCplresult/lib/libsqlite3.so*/arm-linux/usr/lib(6)为了能在开发机上编译,调用了sqlite3数据库的API的应用程序,需要将动态库libsqlite3.so.0.8.6及其2个软链接、2个头文件拷贝到交叉编译工具链所在目录的适当位置,至此sqlite3数据库的移植和开发环境的配置已完成。只要输入SQL语言便可以进行相关操作。3.2Linux下sqlite3的C语言开发sqlite3里最常用到的是sqlite3*类型。从数据库打开时开始,sqlite3就要为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux RFID 安检 系统 设计
限制150内