您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 生活/日用品 > 基于2440开发板的BS架构门禁系统
基于2440开发板的BS架构门禁系统目录目录............................................................................................................................................1作品简介:................................................................................................................................1功能和指标:............................................................................................................................1硬件及系统方案:....................................................................................................................2相关必备知识和技术阐述........................................................................................................4移植............................................................................................................................................6测试方案..................................................................................................................................11测试设备..................................................................................................................................11测试截图..................................................................................................................................12作品简介:门禁系统,在智能建筑领域,意为AccessControlSystem,简称ACS,指“门”的禁止权限。在一些涉密单位,为了能够更加智能化的管理,门禁系统应运而生,当然他的打卡功能在实际工作中作为员工考勤的计量工具,也在日常工作中发挥了其重要作用,为此我们通过网页进入管理界面,并通过接受器接收刷卡的信息,更新相关的数据库,保存相应的信息,以实现智能门禁系统的功能。功能和指标:1.管理员登录2.注册新卡3.注销旧卡4.查询打卡信息5.新管理员注册6.打卡语音提示7.服务器界面显示硬件及系统方案:(1)主要是用开发板实现了一个门禁系统的服务器。详见下图:RFID模组URATTOUSBRFID服务器BOA服务器WIFI有线WEB浏览器系统结构框图(2)实现B/S架构的方法如下:网页登录/注册/注销查询BOACGI网页通过ajax的Response获取BOA数据网页通过ajax的open和send发送请求数据给BOA网页通过ajax的Response获取BOA数据网页通过ajax的open和send发送请求数据给BOACGI通过标准输入(环境变量)获取BOA数据,例如fgets/getenv等CGI通过标准输出(printf)将数据发送给BOA如果数据是普通字符串;printf(“content-type:text/html\n\n”);printf(“要发送的普通字符串内容”);如果数据是html文件内容;printf(“content-type:text/xml\n\n”);printf(“要发送的xml文件的内容”);cgi和server是linux中两个不同进程(IPC)两者之间可以借助命名管道(几个管道?)消息队列(几个消息队列?)等传输数据处理cgi数据线程数据库(打卡记录表、员工信息表、员工打卡信息视图)通过串口获得卡号线程服务器处理查询是:1、server通过sqlite3的函数获得查询结果2、server将查询结果保存到*.xml文件中3、cgi程序将*.xml文件打开open(fopen)4、cgi程序将*.xml文件的内哦让read(fread)到缓存中5、cgi通过printf将缓存的内容传递给BOA(3)开发板的界面是通过qt编程实现的,本程序分为服务器进程和界面进程,两个进程通过命名管道来通信。而各种数据是用sqlite存储到数据库中的,还用到了xml技术来传递查询信息。相关必备知识和技术阐述RFID射频识别(RFID)是一种无线通信技术,可以通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或者光学接触。无线电的信号是通过调成无线电频率的电磁场,把数据从附着在物品上的标签上传送出去,以自动辨识与追踪该物品。某些标签在识别时从识别器发出的电磁场中就可以得到能量,并不需要电池;也有标签本身拥有电源,并可以主动发出无线电波(调成无线电频率的电磁场)。标签包含了电子存储的信息,数米之内都可以识别。与条形码不同的是,射频标签不需要处在识别器视线之内,也可以嵌入被追踪物体之内。许多行业都运用了射频识别技术。将标签附着在一辆正在生产中的汽车,厂方便可以追踪此车在生产线上的进度。仓库可以追踪药品的所在。射频标签也可以附于牲畜与宠物上,方便对牲畜与宠物的积极识别(积极识别意思是防止数只牲畜使用同一个身份)。射频识别的身份识别卡可以使员工得以进入锁住的建筑部分,汽车上的射频应答器也可以用来征收收费路段与停车场的费用。某些射频标签附在衣物、个人财物上,甚至于植入人体之内。由于这项技术可能会在未经本人许可的情况下读取个人信息,这项技术也会有侵犯个人隐私忧患。BOABOA服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。CGICGI在物理上是一段程序,运行在服务器上,提供同客户端HTML页面的接口。即客户端与服务器的接口。比如留言本的工作流程:先由用户在客户端输入一些信息,如名字之类的东西。接着用户按一下“留言”(到目前为止工作都在客户端),浏览器把这些信息传送到服务器的CGI目录下特定的cgi程序中,于是cgi程序在服务器上按照预定的方法进行处理。在本例中就是把用户提交的信息存入指定的文件中。然后cgi程序给客户端发送一个信息,表示请求的任务已经结束。此时用户在浏览器里将看到“留言结束”的字样。整个过程结束。SecureCRTSecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100,VT102,VT220和ANSI竞争.能从命令行中运行或从浏览器中运行.其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。超级终端超级终端的原理是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入。它显示的是从串口接收到的字符。所以,嵌入式系统的相应程序应该完成的任务便是:1.将自己的启动信息、过程信息主动发到运行有超级终端的主机;2.将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机;3.在单片机开发时使用。串口通信串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。AJAXAJAX即“Asynchronous,Javascript+XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX=异步JavaScript和XML(标准通用标记语言的子集)。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页面。消息队列“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像即时的通信方式,它要求接受信号的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的生命周期内才有意义,信号所传递的信息是接近于随进程持续的概念(process-persistent);管道及有名管道则是典型的随进程持续IPC,并且,只能传送无格式的字节流无疑会给应用程序开发带来不便,另外,它的缓冲区大小也受到限制。消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息。消息队列是随内核持续的。命名管道“命名管道”又名“命名管线”(NamedPipes),是一种简单的进程间通信(IPC)机制,MicrosoftWindows大都提供了对它的支持(但不包括WindowsCE)。命名管道可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。推荐用命名管道作为进程通信方案的一项重要的原因是它们充分利用了Windows内建的安全特性(ACL等)。用命名管道来设计跨计算机应用程序实际非常简单,并不需要事先深入掌握底层网络传送协议(如TCP、UDP、IP、IPX)的知识。这是由于命名管道利用了微软网络提供者(MSNP)重定向器通过同一个网络在各进程间建立通信,这样一来,应用程序便不必关心网络协议的细节。多线程编程线程在进程的基础上作进一步抽象,也就是说一个进程分为两个部分:线程集合和资源集合。线程是进程中的动态对象,它是一个独立的控制流,进程中的所有线程将共享进程拥有的资源。在Linux中,可把线程分为内核线程、内核支持的用户线程和线程库支持的用户
本文标题:基于2440开发板的BS架构门禁系统
链接地址:https://www.777doc.com/doc-3193947 .html