收藏 分销(赏)

基于MQTT协议的嵌入式联网报备考勤系统.pdf

上传人:自信****多点 文档编号:1987000 上传时间:2024-05-13 格式:PDF 页数:5 大小:3.01MB
下载 相关 举报
基于MQTT协议的嵌入式联网报备考勤系统.pdf_第1页
第1页 / 共5页
基于MQTT协议的嵌入式联网报备考勤系统.pdf_第2页
第2页 / 共5页
基于MQTT协议的嵌入式联网报备考勤系统.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023年/第10期 物联网技术智能处理与应用Intelligent Processing and Application750 引 言日常考勤是组织管理的基本方式,人脸识别的考勤方式因具有直观、方便、无接触的优点已被广泛应用1-3。现有的人脸识别考勤设备存在成本高、体积大、仅本地查看、录入复杂等问题。随着深度学习基本理论的发展,以及专门为嵌入式设备和深度神经网络加速而设计的新型片上系统的发布,通过小型廉价设备实现实时图像识别成为可能4-5。同时,应用物联网技术还可以将边缘节点的感知数据通过通信模块发送至云端服务器,利用终端设备即可实现数据的集中管理和远程监测6-8。本文在基于 MQTT(Me

2、ssage Queuing Telemetry Transport)的物联网架构下设计了基于 K210 和ESP32 的嵌入式人脸识别考勤和远程报备系统,通过 K210实时识别人脸,配合 ESP32 将信息上传至物联网云端服务器;通过手机 APP 可联网查看签到消息、进行录入和修改,还具有云端信息保存、历史分析、消息交互传输等功能,适用于绝大多数的人脸识别考勤场景。1 系统总体方案1.1 人脸识别方案本文采用的主芯片 K210 是 RISC-V 架构的高性能微控制器,配备了神经网络处理器(KPU),KPU 内置卷积、批归一化、激活和池化运算单元,可用于加速卷积神经网络算法。在执行人脸识别任务前

3、,先将人脸模型烧录至 FLASH存储器,以便于 KPU 进行调用。人脸识别的总体流程是先获取当前的摄像头图像,KPU 加载人脸模型后推理当前的图像中有无人脸,若有人脸则对两眼、鼻子、嘴巴的位置进行定位,并且采集当前人脸的特征值。比对当前人脸特征和已记录的人脸特征,若相似度超过一定比率,则判定为同一个人,若相似度比率低则无法判定。人脸识别流程如图 1 所示。图 1 人脸识别流程1.2 网络通信方案1.2.1 网络通信总体结构网络通信总体结构由 ESP32、巴法云服务器、手机 APP端及网络数据库四部分构成。其中的数据通信均采用 JSON格式,方便不同模块的信息传递和解析。总体结构如图2所示。图

4、2 网络通信总体结构1.2.2 MQTT 协议MQTT 是一个采用发布/订阅(Publish/Subscribe)模型基于 MQTT 协议的嵌入式联网报备考勤系统高亮海,于世龙,赵少坤,廖通海,乔建华(太原科技大学 电子信息工程学院,山西 太原 030024)摘 要:嵌入式神经网络处理器实现了深度学习算法在嵌入式系统中的应用,极大程度地扩展了相关算法的应用场景。本文在基于 MQTT 的物联网架构下设计了基于 K210 和 ESP32 的嵌入式人脸识别考勤和远程报备系统,以云服务器作为代理,ESP32 和手机 APP 作为客户端。该系统利用 OV5640 摄像头采集人脸信息,通过 K210 采用

5、卷积神经网络算法识别人脸,配合 ESP32 将信息发送至云端服务器,在手机端 APP 实现查看签到签退消息、录入信息,以及云端信息保存、历史分析和消息交互传输等功能。经测试,该联网报备考勤系统的识别精度较高,同时具备体积小、实施方便的优势,可应用于人脸识别考勤场景。关键词:人脸识别;考勤系统;MQTT 协议;K210;ESP32;网络云服务器中图分类号:TP274.2 文献标识码:A 文章编号:2095-1302(2023)10-0075-05DOI:10.16667/j.issn.2095-1302.2023.10.021收稿日期:2022-11-29 修回日期:2022-12-27基金项目

6、:国家级大学生创新创业训练计划项目(202210109 009);太原科技大学大学生创新创业训练计划项目(XJ 2021034)物联网技术 2023年/第10期 智能处理与应用Intelligent Processing and Application76的轻量级通信协定,构建于 TCP/IP 协议之上。MQTT 的主要优点是能够以很少的代码和有限的带宽,为远程终端带来及时可靠的消息服务质量9。作为一个低费用、低带宽需求的即时通信协议,MQTT 在物联网、小型终端、移动应用等领域有着广泛的应用。因此,本系统采用 MQTT 协议进行网络通信。MQTT 分为 broker(代理)和 client(

7、客户端)。client从角色上可以分为 publisher(发布者)和 subscriber(订阅者),client 之间通过中间媒介 broker 通信。client 要订阅的消息类型由topic(主题)来决定。当一个publisher发布了一个消息时,broker 就把这条消息通知给订阅了这个 topic 的 subscriber10。在本系统中,巴法云服务器作为 MQTT 的 broker,ESP32和手机 APP 均作为 client。ESP32 和手机 APP 首先需要订阅一个在巴法云服务器中创建的 topic;然后,ESP32 作为publisher 发出消息,服务器接收了消息之后

8、在同一 topic 下向所有 client 都发出消息,因而手机 APP 作为 client 就收到ESP32 发送的消息。同理,手机 APP 端也用同样的方式发送消息至 ESP32 端。数据的格式采用 JSON 字符串格式,方便解析和发送,JSON 字符串格式如下:“Number”:“xxxxxxxx”,“Name”:“xxxx”,“Times”:x,“Signin_time”:“xxxx-xx-xx-xxxx”,Signout_time”:“xxxx-xx-xx-xxxx”1.2.3 巴法云物联网平台巴法云物联网平台是一种利用前后端口隔离的设计理念,具有支持发布/订阅模式、提供遗嘱机制的轻

9、量级物联网端服务器。巴法云物联网平台支持多模型的数据交换,并且已将协议标准化,与多个平台服务完全兼容。本设计利用巴法云平台,保存考勤的各类数据,连接 ESP32 和 手机 APP。1.3 系统总体结构 本系统由 K210 视觉识别模组、ESP32 最小系统板和手机端考勤系统 APP 构成。K210 作为主控芯片,ESP32 提供联网功能,系统使用 K210 配备的 KPU 神经网络处理器进行人脸识别,发送识别结果至 ESP32,ESP32 使用 MQTT 协议通过 WiFi 发送信息至云服务器端,云服务器发送至手机APP,同样手机 APP 也发送信息至 ESP32 端,同时在 LCD上显示摄像

10、头摄入的考勤人员人脸检测和识别结果。系统总体结构如图 3 所示。采用 K210 进行人脸检测与识别。首先利用人脸特征建模,对收集到的图片进行人脸检测;然后对目标对象的五官进行比对,从中提取特征值并保存;最后与预先保存的大量特征值比对即可识别人脸,并得到匹配人脸的相关信息。同时,使用 SD 卡存储人脸特征信息,可以实现信息的掉电保存。图 3 系统总体结构ESP32 连接 K210 和云服务端。ESP32 需要连接 WiFi 获取当前的网络时间并写入实时时钟寄存器。K210 与 ESP32经串口通信,通过 JSON 字符串传输人脸信息、姓名信息、工号信息和时间信息。ESP32 以云服务器为中转,通

11、过MQTT 协议传输 JSON 字符串信息,最终发送至手机 APP。通过手机考勤系统 APP 实现信息的记录、查询等功能。如果要记录新的人脸信息,需要输入工号和姓名。手机端通过网络云服务器发送工号和姓名信息至 ESP32 端,ESP32进行数据解析和判断;然后通过串口发送到 K210 模组中,K210 模组即开始录入人脸。如果 ESP32 端收到报道信息,就把信息上传至网络数据库中等待下次更新。手机 APP 还提供了信息查询功能,通过工号查找人员信息。2 系统硬件设计2.1 系统硬件结构 硬件部分主要由两部分构成:一部分是以 K210 为核心的人脸识别模组;另一部分是以 ESP32 为核心的

12、WiFi 通信模组。两者通过串口进行数据交互。K210 摄像头模组主要由下载电路、DC-DC 电源转换电路、LCD 电路、OV5640 摄像头电路和 TF 卡电路构成。ESP32 模组仅由一键下载电路和最小系统构成。系统硬件结构如图 4 所示。图 4 系统硬件结构2.2 K210 摄像头模组及外围电路本文采用了 Sipeed 的视觉处理模组 MaixBit,该模组具有较小的体积和优良的扩展性。MaixBit 引脚如图 5 所示。摄像头模块选用 OV5640,显示器使用 LCD,通过 FPC排线连接至 K210。OV5640 通过 DVP(Digital Video Port)端口和主控制器相连

13、。LCD 使用 8 bit 并口与 K210 连接,原因在于要实时传输图像信息,图像数据量比较大,8 bit 并口可以提供更大的带宽。TF 卡模块使用 SPI 模式连接,原因在于 K210 引脚资源2023年/第10期 物联网技术智能处理与应用Intelligent Processing and Application77有限,SPI 的连接方式仅需四根线,并且本系统中 TF 卡存储的数据量不大,不需要较大的传输速率。图 5 MaixBit 引脚图2.3 ESP32 协处理单元及外围电路ESP32 整合了 2.4 GHz WiFi 与蓝牙双模技术,拥有超高的射频技术性能、稳定性、通用性与可靠性

14、,同时耗电量超低,且成本比较低。ESP32 及外围的接口如图 6 所示。ESP32 与 K210 通 过 串 口 连 接 如 下:ESP32 RX2K210 数字引脚 7(K210TX);ESP32 TX2K210 数字引脚 8(K210RX);ESP32 GNDK210 GND。3 系统软件设计3.1 主控模块软件设计主控模块 K210 使用 MaixPy 开发环境,MaixPy 系统不仅支持 MCU 常规运算功能,而且整合了硬件加速的 AI 机器视觉算法以及与麦克风阵列相关的算法。使用 micropython编程可以很方便地开发 K210,使其能够做视觉相关的工作。MaixPy 还具有一键

15、下载功能,方便下载和调试代码。图 6 ESP32 及外围电路接口K210 模块需要完成人脸检测和识别、接收和发送信息、确定是否录入新的人脸,及发送给 ESP32 端识别人脸的姓名、工号等信息。K210 程序流程如图 7 所示。首先 K210 上电后先检测 TF 卡上有无人脸特征值记录文件,如果存在人脸特征值记录文件就把人脸的特征值读取出来并且保存在一个人脸特征值列表中,针对名称和工号的做法相同。之后从FLASH 中加载人脸模型,初始化 UART、LCD、摄像头模块。在程序的循环中,先从串口获取 ESP32 数据,如果串口有数据发送过来,进行数据解析,数据的格式为“a 姓名,操作,工号 a”,“

16、a”作为判断数据帧头和帧尾的标志,如果操作值为 0,则把新录入人员的标志位置 1。通过摄像头采集图像,使用 KPU 执行推理任务。如果在图像中找到人脸,先把人脸大小固定为 128*128,运行脸部模型,分别为左眼、右眼、鼻子、左嘴部、右嘴部;然后计算人脸特征值向量。再把特征值列表中的每一个值与当前值进行比对,若匹配度大于阈值,则判断为同一个人,通过串口使用 JSON 字符串把此人的工号、姓名、操作值打包发送给 ESP32,并且在屏幕上显示出相关信息。若当前新录入人员的标志位为 1,则把当前人脸的特征值、工号、姓名以 TXT 文件的形式保存至 SD 卡中。最后刷新屏幕。3.2 通信模块软件设计通

17、信模块 ESP32 用于连接网络云服务器发送信息、与K210 的通信、信息解析和逻辑判断,以及完成系统中不同器件的通信。ESP32 的开发环境是 ESP-IDF,Visual Studio Code(VS Code)作为代码编辑器。ESP32 程序流程如图 8所示。ESP32 首先初始化串口 1 和串口 2,波特率为 115 200,无校验位,8 位数据位,1 位停止位;然后把引脚 0 配置为外部中断上升沿触发(按键),连接当前的 WiFi 成功后,通过阿里云 NTP 服务器获取时间信息,并把时间信息写入芯片的 RTC 中;通过 MQTT 连接巴法云服务器,订阅一个主题,接着进入主循环,判断当

18、前的 MQTT 连接状态是否正常,如果不正常则重新连接;把串口中获得的考勤人员信息发送至网络服务器,网络服务器发送给 APP 端显示;通过解析串口和网络服务器发送的数据来判断当前需要执行的操作。如果是签到状态并且串口收到数据,则向服务器发送更新签到数物联网技术 2023年/第10期 智能处理与应用Intelligent Processing and Application78据信息;如果是签退状态且串口收到数据,则向服务器发送更新签退数据信息。这之间的数据传输格式都采用 JSON 字符串。图 7 K210 程序流程图 8 ESP32 程序流程3.3 APP 模块软件设计本设计的手机 APP 使

19、用 APP Inventor 开发。APP 软件设计主要通过调用函数库完成。首先有两个页面:管理员登录页面,数据查询和录入页面。管理员登录页面判断用户名与密码是否匹配,如果匹配则跳入下一个页面,不匹配就提示错误信息。针对数据查询和录入页面,首先使用 MQTT 模块订阅巴法云网络服务器的同一个主题,之后按照输入的工号和姓名发送消息。如果接收到消息,判断接收消息的类型;若是更新消息,就把接收到消息的信息解析保存至网络数据云中。录入流程如图 9 所示。图 9 录入流程数据库使用的是网络微数据库系统,可以通过手机端APP 进行数据增添、删改、查询功能,每个数据由标签和值构成,标签用来区分不同的信息,值

20、通过 JSON 字符串保存信息。4 系统测试 4.1 人脸识别测试连接 MaixPy 软件和开发板,运行程序,在帧缓冲区可以实时观察到图像数据,也可在 LCD 屏幕上观察。硬件连接如图 10 所示。图 10 系统硬件如果 SD 卡内没有存储数据,则无法识别到人脸,并且只有在串口给出指令后才能录入。人脸识别效果测试如图 11所示,没有识别到人脸时 LCD 会显示“cant recognize”,成功识别后会显示“recognized”和工号。此时,从串口端输出的信息如图 12 所示。图 11 人脸识别测试4.2 网络通信测试网络通信测试主要包括联网测试、时间获取测试、串口调试和网络云服务器测试。

21、联网测试需要通过WiFi连接网络,2023年/第10期 物联网技术智能处理与应用Intelligent Processing and Application79并查看是否正确获得 IP 地址。时间获取测试是从服务器获取网络时间。网络云服务器调试,则是选用巴法云服务器为平台,在网页端查看收到和发送的消息。串口调试则是使用串口 1 作为调试,串口 2 连接 K210,输出接收到的网络信息和收到的信息。图 13 图 15 即为网络测试效果。图 12 识别到人脸后串口输出信息图 13 MQTT 联网测试图 14 JSON 字符串解析输出图 15 巴法云网络通信测试4.3 手机 APP 端测试手机 AP

22、P 端测试包含了巴法云服务器通信和云数据库的操作。巴法云服务器的通信测试与 ESP32 端类似,都是在网页端查看服务器上的消息记录是否正常;云数据库的操作则是对收到的消息进行提取和保存。查询操作先输入查询关键字,然后点击获取数据按钮,观察从数据库获取的消息是否正确。测试效果如图 16 所示。5 结 语本文在 MQTT 协议架构下设计了基于 K210 和 ESP32 的人脸识别考勤和联网报备系统,利用卷积神经网络实现了嵌入式系统上人脸的实时识别,并能通过手机 APP 查询考勤人员信息及新录入人员信息。该设计解决了串口通信格式、UTF-8 编码转化、MQTT 的调试、人脸识别数据存储、手机APP

23、开发等关键问题。经过大量测试,该系统具有较高识别精度,功能齐备,操作方便;同时本系统体积小,易于实施,很容易转换为产品,满足实际应用的需求。图 16 手机 APP 测试注:本文通讯作者为乔建华。参考文献1 王治强,孙晓东,杨永,等.人脸识别算法在考勤系统的应用 J.计算机系统应用,2021,30(1):89-93.2 车佳祺,许晓荣,梁颢铭.一种轻量级人脸追踪与识别系统设计方案 J.电子设计工程,2022,30(14):58-63.3 洪宇轩.基于 ArcFace 框架的课堂环境下人脸识别算法设计 J.计算机技术与发展,2021,31(8):57-62.4 LV X,SU M,WANG Z.A

24、pplication of face recognition method under deep learning algorithm in embedded systems J.Microprocessors and microsystems,2021:104034.5 郭子芊,陈江涛,麦伟健,等.基于深度学习的家庭异常监控终端 J.物联网技术,2021,11(12):30-32.6 BAIG M J A,IQBAL M T,JAMIL M,et al.Design and implementation of an open-source IoT and blockchain-based p

25、eer-to-peer energy trading platform using ESP32-S2,Node-Red and MQTT protocol J.Energy reports,2021(7):5733-5746.7 MISAL S R,PRAJWAL S R,NIVEDITHA H M,et al.Indoor positioning system(IPS)using ESP32,MQTT and bluetooth C/2020 Fourth International Conference on Computing Methodologies and Communicatio

26、n(ICCMC).Erode,India:IEEE,2020:79-82.8 MANIKANDAN P,RAMESH G,LOKESH P,et al.IOT Based farm protection system from animals and humans theft using ESP32 with camera module C/2022 2nd International Conference on Advance Computing and Innovative Technologies in Engineering(ICACITE).Greater Noida,India:I

27、EEE,2022:1861-1864.9 陈文艺,梁宁宁,杨辉.基于 MQTT 的物联网网关双向通信系统设计 J.传感器与微系统,2022,41(8):100-103.10 LONGO E,REDONDI A E C,CESANA M,et al.Border:a benchmarking framework for distributed MQTT brokers J.IEEE internet of things journal,2022,9(18):17728-17740.作者简介:高亮海(2001),男,本科,研究方向为嵌入式系统。于世龙(2000),男,本科,研究方向为嵌入式系统。乔建华(1975),女,博士,副教授,研究方向为嵌入式系统、物联网。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服