当前位置:首页 > 嵌入式 > 嵌入式硬件

摘 要: 介绍了通过在ARM+μClinux+Web+SQLite平台下扩展CAN总线,并以RFID读卡器作为控制节点而实现的电子门票系统。一方面可以方便持卡者查询门票使用情况、场所路线以及馆内人流量,帮助其更好地选择相关路线;另一方面有助于举办方实时了解各片区的人流情况及追踪目标,以便做出调度和提高安防工作效率。
关键词: RFID;CAN总线;ARM;Web Server;SQLite

 由于RFID电子门票具有防伪性能好、可靠性高、适应性强、成本低等特点,已被普遍应用于各种大型公共活动中。本文提出一种经济型、基于嵌入式技术的RFID电子门票系统。
1 RFID的原理
 射频识别(RFID)利用射频信号的空间耦合或反射的传输特性,对被识别物体自动识别,是一种非接触式自动识别技术。RFID主要由电子标签(Tag)和阅读器(Reader)两部分组成。电子标签由耦合元件和芯片组成,其工作能量来源于阅读器发出的射频脉冲,通过无线电波与读写设备进行数据交换。阅读器主要由无线收发模块、天线、控制模块和接口电路组成,其主要任务是控制射频模块向电子标签发射读取信号,并接收电子标签的应答,对电子标签的标识信息进行解码,将标识信息及其他相关信息传输到主机以便处理。该系统选用低频(125 kHz)RFID系统,性能不受环境影响,价格低廉,因此适合大规模生产使用。
2 CAN总线技术[1]
 CAN是由ISO定义的串行通信总线,具有高位速率、高抗电磁干扰性、高可靠性等特点,而且能够检测到产生的任何错误。CAN在微控制器之间互相通信或微控制器与远程的外围器件互相通信的情况下是一个理想的解决方法。CAN相比于RS485采用了新技术及独特的设计,具有多主节点的网络特性,总线利用率高,数据传输速度快,可扩充性好,通信距离长,具有可靠的错误处理和检错机制,个别节点失效并不影响整个通信网络的运行,实时性好。因此在自动化各个行业,CAN取代RS485将是一种不可逆转的趋势。
3 ARM+μClinux平台下实现动态Web[2]
 在μClinux环境下,httpd、thttpd和Boa是三个主要的Web服务器。这里选择非常适合嵌入式系统的Boa Web服务器,它支持认证、CGI等。Boa是一个单任务的http服务器,μClinux代码已经自带了Boa的源码,配置和修改源码后,在配置内核时把Boa选进内核实现入网,通过浏览器就可以访问嵌入式网页。
 迄今,实现动态Web页面有CGI、ASP、PHP和JSP四种技术可供选择,由于目前μClinux还不支持ASP、PHP等动态Web页面技术,因此本设计选择CGI。CGI提供Web服务器一个执行外部程序的通道,这种服务端技术使得浏览器和服务器之间具有交互性。CGI程序接收Web浏览器发送给Web服务器的信息,进行处理后执行相应的任务。本系统选择与平台无关的C语言编写CGI程序。
4 嵌入式数据库SQLite及其在μClinux上的移植[3]
4.1 嵌入式数据库SQLite简介
 嵌入式数据库SQLite较其他大型数据库的特点是程序直接调用相应的API实现对数据的存取操作,无需独立运行的数据库引擎。SQLite不具有外部依赖性,完全独立,并且提供了对SQL92标准的大多数支持:支持多表和索引、事务、视图、触发和一系列的用户接口及驱动。在嵌入式系统中移植SQLite数据库成为一种很好的解决方案。
4.2 SQLite开发技术
 SQLite本身提供了C语言的API接口,使得对数据库的操作十分简单,主要是对3个API函数的调用。
 (1)打开数据库
 int sqlite3_open(const char*filename,sqlite3**ppDb);
 sqlite3_open()用于打开指定的数据库,数据库文件名称由filename参数指定,并通过ppDb参数返回合法的数据库句柄。
 (2)执行数据库
int sqlite3_exec(sqlite3*,const char *sql,sqlite_callback, void*,char**errmsg);
第一个参数sqlite3*是前面open函数得到的指针。第二个参数const char*sql是一条SQL语句或多条SQL语句,语句间必须用“;”号隔开,以结尾。第三个参数是回调,当这条SQL语句执行之后,SQLite3会调用该回调函数。第四个参数void*是传递给回调函数的参数,如果不需要传递指针给回调函数,可以赋NULL给该参数。第五个参数char**errmsg用来保存错误信息。
 (3)关闭数据库
 int sqlite3_close(sqlite3*db);
 参数db就是打开时的结构体,即数据库句柄。
4.3 SQLite应用程序交叉编译
 要将嵌有SQLite的CGI程序应用到S3C44b0+μClinux开发平台上,必须对CGI程序进行交叉编译。由于交叉编译要用到romfs格式的libsqlite.a库文件,因此必须先对SQLite源代码进行修改,以便生成静态库文件libsqlite3.a。然后交叉编译生成cgi格式文件,与内核一起编译后下载到开发板。
5 电子门票系统的设计
 在S3C44B0+μClinux+Web+SQLite嵌入式平台下,通过CAN总线与RFID读卡器进行通信。整体构架如图1所示。该系统可以分为两个模块:第一部分为各个场所的刷卡点,包括CAN总线和RFID读卡器的设计,该模块的功能是采集数据。第二部分为ARM嵌入式远程控制功能,实现数据的读取、储存以及处理,数据包括CAN总线数据和Web内建表单数据。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭