面向防疫与环保的智慧社区平台的设计与实现

2021-08-09 03:23管赛晖包浚杞谢玲刘红英
电子技术与软件工程 2021年11期
关键词:门禁系统树莓舵机

管赛晖 包浚杞 谢玲 刘红英

(南京理工大学紫金学院计算机学院 江苏省南京市 210023)

1 引言

为了保障公共区域人员的健康,门禁系统需要带有测温功能,在放行前需要精准的测出通行人员的体温,对于体温异常的人员有预警,通知后台进行处理。随着科技的不断发展,智能社区已经在目前的市面上得到了大范围的使用。有了科技助力的监控系统,能够让小区形成完整的智能防护体系。

2 系统总体方案

2.1 功能分析

2.1.1 无接触式人脸识别门禁系统

无接触式人脸识别门禁系统可以独立完成用户的认证,通过人脸识别或读IC 卡号,快速准确识别用户身份并放行,业主也可以在前端APP申请二维码数据发送给访客、访客出示二维码即可进入,其特色功能为实现无接触体温监测,也可以检测人体接近,自动启动身份识别,在没有用户需要验证时停止身份识别。无接触式人脸识别门禁系统能够与服务器交互,完成IC 卡信息的验证、二维码信息的验证、获取当前的防疫等级、上报进门用户体温等功能,方便社区管理人员快速掌握人员流动情况。本系统的完整功能流程如图1 所示。

2.1.2 智能垃圾分类体系

智能垃圾分类体系下的分类垃圾桶当监测到人体靠近的时候,树莓派控制人脸识别和门禁卡识别两个子线程启动,用户可以任选一种方式识别身份。

当用户身份识别成功后,树莓派向服务器发送请求查询用户的userId 并根据userId 查询用户当前的环保积分。环保积分会通过LCD 显示器显示在垃圾桶上。

接着,用户将分类垃圾袋放在摄像头前,树莓派调用颜色识别功能,确定垃圾袋所对应的垃圾类型。树莓派向服务器请求当前分类垃圾桶的剩余量,若垃圾桶剩余量大于10%,树莓派控制舵机打开垃圾桶盖。若剩余量不足,则垃圾桶不会开盖,并通过LCD 提示用户垃圾桶已满。

当用户成功投递垃圾后,树莓派控制舵机关闭垃圾桶盖并计算现在的垃圾桶剩余量。最后向服务器发起请求,更新垃圾桶剩余量、垃圾桶投递记录和用户的积分。本系统的完整功能流程如图2 所示。

3 硬件设计

3.1 无接触式人脸识别门禁系统

3.1.1 硬件平台——树莓派

本系统采用的是树莓派4B,CPU 是ARMCortex-A72,主频达到1.5GHz,拥有2GB LPDDR4 内存、两个USB2.0、两个USB3.0接口、一个千兆以太网和两路micro HDMI 输出。

树莓派支持很多的操作系统,本系统使用的是Raspbian,他是Debian 操作系统在ARM 的编译版。作为官方推荐的操作系统,Raspbian 拥有深度定制的软件程序和硬件驱动,能满足相当一部分的开发需求。树莓派的板载接口如图3 所示。

图1:防疫门禁系统结构图

图2:智能分类垃圾桶结构图

3.1.2 RFID-RC522

图3:树莓派的板载接口

图4:RFID-RC522 模块

图5:HC-SR04

图6:HC-SR501 模块

图7:NEO-6M 模块

图8:LCD1602 模块

图9:防疫门禁系统软件设计

图10:智能垃圾桶软件设计

本系统选用RFID-RC522 作为IC 卡读取模块,用于读取业主IC 卡密,完成用户身份信息的验证。该模块使用了来自飞利浦(Philips)的Mifare 非接触读卡芯片——MFRC522。该芯片拥有优良的性能和极高的性价比,具有丰富的接口,能应用于13.56MHz 非接触通信,且完全支持ISO14443A 协议。RFID-RC522 模块如图4所示。

3.1.3 HC-SR04

HC-SR04是一款被广泛应用的超声波传感器。该模块比较成熟,性能稳定,能较精准的测量距离。在很多领域都有广泛的应用。如图5 所示。

该模块有四个引脚,除去VCC 和GND,Trig 为信号触发脚,在控制芯片发送10us 以上的高电平时,模块就会开始工作,在得到数据后,会在Echo 引脚得到一个长度与测量结果成正比的高电平。只需两个引脚并且操作简单,因此本系统选用此模块,用于人体接近检测。

图11:服务器的数据库

3.1.4 GY-614V3DCC

GY-614V3DCC 是一款非接触式红外测温传感器。非接触式红外测温也叫辐射测温,一般使用热电型或光电探测器作为检测元件。此温度测量系统比较简单,可以实现大面积的测温,也可以是被测物体上某一点的温度测量。它的制造工艺简单,成本较低,测温时不接触被测物体,具有响应时间短、不干扰被测温场、使用寿命长、操作方便等一系列优点, 但利用红外辐射测量温度,也必然受到物体发射率、测温距离、烟尘和水蒸气等外界因素的影响,其测量误差较大。

该模块支持3V-5V 的工作电压,供电电流仅为7mA,且支持串口和i2c 两种通信接口。

3.2 智能垃圾分类体系

3.2.1 人体红外感应技术

人体的温度一般恒定在37℃,因此会辐射出红外线,这种红外线的波长在10um 左右。热释电红外传感器可以用于探测这种红外线。本课题采用HC-SR501 模块。当模块通电后,该模块会在前方产生一个感应区域,当有人体从该感应区域路过时,DOUT 引脚会发出一段高电平。树莓派可以通过监测DOUT 引脚的电平状态,判断是否有人体。图6 为HC-SR501 模块。

3.2.2 GPS 定位技术

GPS 系统,英文名为Global Positioning System,是一种以人造卫星为基础的高精度定位系统,它可以提供准确的地理位置。本课题采用NEO-6MGPS 模块。NEO-6M 是一款具有高灵敏度,低功耗的定位模块。NEO-6M 在任何地理环境下都能提供较高精度的定位信息。图7 为NEO-6M 模块。

3.2.3 LCD 显示

本课题采用LCD1602A 模块,它是广泛使用的一种字符型液晶显示模块[8]。它的主控芯片一般是HD44780。它由5×7 或5×11 点矩阵位置组成;每个位置可以显示一个字符。两个字符之间有一个点距,行之间有一个空格,从而将字符和行分隔开。型号1602 表示它显示2 行,每行可显示16 个字符。图8 为LCD1602 模块。

3.2.4 舵机驱动

本课题采用PCA9685模块和SG90舵机,它是一种精度为12位,使用I2C 总线控制16 路PWM 输出的芯片。当单片机需要同时控制多台舵机,但引脚资源有限时,使用PCA9685 驱动舵机可以实现拓展使用多个舵机、节省单片机IO 口资源的目的。

SG90 是一种角度伺服的驱动器,根据控制信号的变化,伺服驱动器控制其角度的变化。常见的有0-180°、0-360°。SG90 舵机性能高,价格低廉,使用方便,因此它可以很好的实现本课题所需要的驱动功能。

4 软件设计

4.1 无接触式人脸识别门禁系统

因为树莓派对Python 开发比较友好,所以本系统使用Python编程。

在Python 编程的树莓派中,可以直接控制IO 资源,因此可以实现对HC-SR04(超声波模块)的操作。通过SPI 协议可以控制RFID-RC555(RFID 模块),通过UART 可以控制GY-614V4DCC(红外测温模块)。相机则是通过SCI 接口直接与树莓派通信,这在Raspbian 系统中已经优化,使用比较便捷。相机模块在系统中比较重要,人脸识别和二维码检测功能都依赖于相机采集到的图像信息。

有关于防疫功能,在本系统中,会根据防疫等级的设定执行不同程度的门禁制度。防疫等级分为三级:严格、宽松、关闭。在疫情策略严格时,本系统会要求进入用户出示健康码信息,并且对于体温异常者,通知后台进行人工处理。在疫情策略宽松时,本系统会停止登记健康码,对于体温异常者予以放行但仍会进行告警。在关闭时,系统不进行健康码登记和体温检测。本系统会持续与服务器通信,从服务器端获取最新的防疫策略。

有关于人脸识别功能,根据部署的地方区分,可以有部署在本地的基于深度学习的人脸识别和部署在云端的基于API 的人脸识别两种方案。本系统的应用场景在于社区,主要目的在于识别用户身份并快速放行。考虑到社区会有人员的流动,为了方便数据的更新管理,我们选择将数据部署在云端。能否快速准确识别用户身份,是判断门禁系统性能的重要标准,因此本系统选择目前比较稳定的百度智能云。在使用中,系统不断扫描获取摄像头数据并上传到百度云服务器,通过于服务器中的数据库比对,返回验证结果。具体如图9 所示。

4.2 智能垃圾分类体系

针对分类垃圾桶在实际应用中的一些需求,在软件方面具备以下功能:

(1)实现基于百度SDK 的人脸识别;

(2)实现基于OpenCV 的颜色识别;

(3)实现与服务器的数据交互;

(4)驱动各硬件设备正常工作;

(5)处理各硬件的并发需求;

(6)当硬件出现故障时,需要及时发出报警。

具体如图10 所示。

5 测试与总结

5.1 无接触式人脸识别门禁系统

在完成软件和硬件各模块的搭建和调试后,尝试将系统进行了组合,构成一个完整的工程文件。在这一小节,要完整的测试系统功能,并与服务器结合,模拟实际使用场景。

通过测试,人脸识别,IC 卡识别,二维码识别均通过验证,系统工作正常。接下来我们打开服务器数据库,查看服务器是否真的收到了来自门禁上报的日志。

测试时间为2021年4月19日 0 点28 分,数据库显示,在此时间收到了一条用户进入的字段,字段信息包含时间,用户id,出入状态和体温。表明系统与服务器通信正常。服务器的数据库如图11 所示。

5.2 智能垃圾分类体系

调试方法:程序上电启动后,首先通过人体红外感应模块确定有居民靠近,接着使用人脸识别或射频识别居民身份。然后使用颜色识别,确定垃圾袋的类型,控制舵机打开相应的分类垃圾桶。成功投递垃圾后垃圾桶关闭。

结果预期:能够正确检测到有人体靠近,能够正确识别出居民的身份和垃圾袋的颜色,能够正确的打开和关闭分类垃圾桶盖。垃圾投递结束后,可以将数据正常上传到服务器数据库中。

调试结果:程序上电启动后,人体红外感应模块成功感应到有居民靠近,人脸识别和射频识别模块启动,成功确定居民身份。LCD 显示模块显示出从服务器获得的用户积分信息。颜色识别模块成功识别到垃圾袋的颜色,打开对应的分类垃圾桶。完成垃圾投递后,垃圾投递记录,用户积分增加记录等成功上传到服务器的数据库当中。本系统所有功能运行正常,调试通过。

5.3 总结

本次设计的全部功能都已经调试完毕,系统运行正常,后续可拓展其他功能,对平台进行细节化处理,使其更加完善。

猜你喜欢
门禁系统树莓舵机
基于多种生物特征识别的RFID门禁系统设计
含齿隙弹载舵机的全局反步模糊自适应控制
基于AI智慧人脸门禁系统的硬件系统设计
基于树莓派的骑行智能头盔设计
基于单片机的安全门禁系统研究设计
基于dsPIC单片机的飞艇舵机控制实现
基于树莓派的远程家居控制系统的设计
基于高速同步485总线通信的多通道舵机控制器设计
基于单片机的小区门禁系统设计
响应面法优化红树莓酒发酵工艺