疫情下的高校访客门禁系统模拟实现

2021-10-15 03:33李晓虎徐东旭刘欣欣崔荣梅
数字通信世界 2021年9期
关键词:门禁系统服务器端舵机

邢 丹,李晓虎,徐东旭,刘欣欣,崔荣梅

(1.河北传媒学院信息技术与文化管理学院,河北 石家庄 050000;2.河北北明鼎云信息技术有限公司,河北 石家庄 050000)

1 疫情形势下普通高校访客监管系统的问题

1.1 访客信息真伪难辨,威胁校园安全

传统的手工记录方式中,访客需要出示证件给门卫人员,门卫辨认照片、文字等信息,存在很大的人为不确定性。而且当照片模糊不清晰时,会增加辨认的难度,也给校园安全带来了巨大的隐患。

1.2 增加接触风险

在疫情形势下,最好的防控措施就是尽量避免人与人的接触。而传统的访客监管系统无法避免访客和门卫的交流接触以及当访客众多时大量人员聚集,无疑增加了一定风险。

1.3 流程繁琐,访客体验差

对于访客来说,需要进行出示证件、与被访人员沟通确认再手工记录等环节,流程比较繁琐,中间很容易受到一些意外因素影响导致进校失败,比如证件忘带、被访人员没有及时联系上、门卫没在岗位上等。这些因素发生频率是比较高的,直接影响到访客的访问体验。

2 疫情下的高校访客门禁系统的设计

2.1 总体设计

2.1.1 需求分析

为了解决以上问题实现自动化的访客门禁系统,整个系统采用图像采集设备采集访客图像,并把图像发送至服务器,最后被访者根据客户端查看到的图像,决定是否打开门禁允许当前人员通过。根据以上分析,具体的功能设计如下:

(1)拍照:考虑到客户端是根据当前人的脸来确定访客是谁,所以需要对访客进行拍照,获取访客的人脸图像,也需要选择合适的条件触发拍照。

(2)传输:照片需要传输至服务器,让客户端可以读取。

(3)开关门禁:客户端需要远程操控门禁的开关,让访客能够进入校园。

2.1.2 整体框图

校园访客智能门禁系统主要由三大部分组成:硬件端、服务器端、客户端。硬件端通过以太网与服务器端通信,客户端通过以太网和服务器端通信,实现信息交互。

硬件端包括主控、图像采集设备、显示触摸屏、按键设备、门禁设备、存储设备与无线通信模块,安装在校园入口处,通过将拍到的人脸图像上传到服务器端,服务器再提醒客户查看,客户端查看后选择是否打开舵机让访客入校。

服务器端主要完成数据转发,是整个系统的核心部分,首先完成数据接收,接收硬件端的数据和客户端发送的指令,其次转发硬件端的数据与客户端的指令。

客户端区分用户,登陆APP后的操作比较简单,一个是开关门禁,另一个是查看图像。

2.2 硬件端设计

2.2.1 硬件连接

硬件端以STM32F103为主控,独立按键负责控制OV2640负责适时采集图像,LCD触摸屏获取输入的信息,并显示连接情况信息,将采集到的图像数据写入SD卡中。Wi-Fi模块通过与MCU的USART3(异步串口通信)交叉相连,实现与服务器的通信,完成将图像数据发至服务器,同时接收服务器的数据。舵机通过GPIO口与MCU相连,实现MCU对舵机的控制,实现打开门禁或者关闭门禁的功能。

2.2.2 硬件端软件设计

首先初始化,检测是否需要矫正屏幕,其次配置Wi-Fi模式,检测SD卡与摄像头是否正常,都检测完毕之后进入访客对象选择,选完对象之后拍照,最后等待门禁打开。

软件主要实现了图像获取,主要用ov2640_jpg_photo函数,用与JPG拍照与发送。丢弃一些数据,然后找到帧头0XFF,0XD8,采集数据,将图像写入SD卡,完成后,设置OV2640恢复RGB565模式,以便将图像显示到LCD。

另外,图像传输通过将ESP8266配置成透传模式,开启透传,用串口三发送JPEG图像给服务器。

还有门禁用舵机来模拟,根据串口接收到的数据来控制舵机的开关,收到“1”旋转舵机90度,门禁打开,收到“0”回归初始位置,门禁关闭。舵机转动的角度通过PWM信号控制。

2.3 CS设计

首先,实现CS通信的基础工作。JSON数据是服务器与客户端数据传输的一种格式。首先新建一个Web Project,而后在项目的WebRoot下的WEB-INF中的lib文件里面添加JSON的jar包,接着再添加一个servlet文件AppControlServlet,随后再web.xml中添加映射,完成之后项目基本可以完成简单JSON数据返回,为客户端与服务器的通信打下基础。

服务器端一方面负责接收硬件端的图像,另一方面负责转发客户端开关门禁的指令给硬件端,还负责转发硬件端访问的对象给客户端。

服务器与硬件端单向通信使用Socket长连接。服务器与硬件端先进行长连接,再转发客户端开门或关门的信息数据至硬件端Wi-Fi模块。

硬件端与客户端无法进行直接通信,需要借助于服务器,服务器要与客户端主动通信,先导入四个jar包,添加与客户端长连接的Socket,继承多线程Thread,添加侦听,接着添加一个发送数据到客户端的函数,最后给这个与客户端实现长连接的服务器在web.xml中增加映射。

客户端先添加MINA的依赖,然后配置长连接,管理session,最后是在服务中实现长连接,注册四大组件。长连接是在服务中接收的,不在主线程中,使用广播机制通知主线程。

硬件端将图像发送至服务器,服务器首先接收然后以文件流形式保存在本地F盘下的file文件夹下,保存路径是“F:\file”。

客户端采用安卓编程,数据库SQLite实现用户的注册。新用户通过注册使用APP,注册时用户名与密码需要符合规范,实现用户注册、登录、修改密码等功能。另外,将安卓项目运行起来后,确保服务器开启状态,请求成功,服务器接收到的数据也是正常的。客户端向服务器发送数据1或0,1代表开门,0代表关门,之后由服务器转发给硬件端,实现开关门。客户端收到提示后,需要查看图像,来确定访客,通过访问服务器查看图像。

3 结束语

本文通过将嵌入式技术、数据库开发技术、安卓手机开发及无线通信技术等进行综合应用,主要实现了高校校园访客人脸拍照、图像发送、被访问对象手机查看图像等功能,大大降低了疫情期间人与人接触的风险,节省了人力,同时也简化了流程,提高了访客体验。

猜你喜欢
门禁系统服务器端舵机
基于多种生物特征识别的RFID门禁系统设计
Linux环境下基于Socket的数据传输软件设计
基于AI智慧人脸门禁系统的硬件系统设计
基于单片机的安全门禁系统研究设计
基于dsPIC单片机的飞艇舵机控制实现
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
门禁系统专利技术综述
超音速舵机保护器
菜鸟看模型