2025-2-17 22:10:22 [显示全部楼层]
116浏览
查看: 116|回复: 2

[项目] 行空板K10+APP Inventor制作的物联网模拟人脸识别门禁

[复制链接]
本帖最后由 卍卍卍 于 2025-2-18 10:07 编辑

一、项目简介本项目旨在利用行空板K10的人脸识别功能实现一个模拟门禁的效果,具体功能有:
1.本地人脸库的建立及录入。
2.本地人脸识别自动开门及提示。
3.手动关门及提示。
4.基于物联网的本地环境数据上传及手机端显示。
5.手机端的物联网远程手动开门。锁门。

二、软硬件清单
1.硬件:行空板K10、超声波传感器
2.软件:Mind+软件、WxBit版APP Inventor
三、技术原理
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图21
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图22

四、编程实现
1.行空板K10代码块描述:主线程开始就首先显示摄像头画面,以便使用者能够确认人脸是否进入识别范围,同时切换至人脸识别模式并清空原有的人脸ID。之后声明需要测量的距离、温度、湿度、光线强度、噪音和门锁状态变量并初始化。接着建立人脸库,,设置人脸ID数值并将其命名(这里以设置两个人脸为例,分别将其命名为Tom和Mike)。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图1
2.行空板K10代码块描述:首先设置WIFI的用户名和密码并设置WIFI连接循环,如果连接不成功则每隔0.5秒输出一个点,直到连接成功,则输出提示和IP地址。然后设置MQTT连接参数并发起MQTT连接,这里选择了DF的EasyIOT为MQTT服务器,同样设置了MQTT连接循环。接下来启动线程1。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图2

3.行空板K10代码块描述:子线程1负责读取温度、湿度等环境数值并赋值给设置的全局变量,然后将变量值发送到指定的MQTT服务器的主题topic,每发送一次就给出相应的提示。设置子线程的目的是为了避免和主线程先后顺次执行,从而影响数据的发送和人脸识别的响应,两条线程可以互不干扰。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图3
4.行空板K10代码块描述:主线程开始执行,首先会读取超声波传感器的数值赋值给距离变量,当距离小于15里面并检测到人脸时就开始识别人脸,如果人脸识别完成,那么就和人脸库中的人脸ID进行比对,如果成功必中的话就在K10的屏幕上用红色字体显示“门锁已开,欢迎你 XXX”,同时亮起红灯,并将欢迎词合成语音播放,之后等待1秒,清空屏幕并关灯。

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图4
5.行空板K10代码块描述:这里设置了当收到订阅的主题topic的消息,即手机APP端发送的开关门数据时的动作,首先串口打印消息用于提示,之后判断收到的消息如果是1的话就开门并亮起红灯,同时合成语音门锁已打开,如果是0的话就反之操作。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图6

6.行空板K10代码块描述:这里设置了两个按钮事件,当按下按钮A的时候会学习人脸并将人脸信息录入建立的人脸库,当按下按钮B的时候会模拟手动关门,给出门锁已关闭的的语音和文字提示并亮起黄灯。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图5
7.手机APP制作界面,主要组件有:可见——文本框、按钮和水平布局、垂直布局,不可见——MQTT客户端、文本对话框、声音和震动。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图7
8.手机APP代码块描述:创建主题topic全局变量。
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图8

9.手机APP代码块描述:设置了当MQTT连接建立之后订阅相关主题和连接断开后给出提示。

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图9
10.手机APP代码块描述:设置了当手机MQTT客户端收到消息后将消息内容显示在APP的界面上。

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图10
11.手机APP代码块描述:设置了按钮事件,当开锁按钮被点击后就通过主题发送数字1,反之发送数字0。

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图11
12.EasyIOT服务器端设置:设置了温度、湿度、光线强度、噪音、门锁5个主题。

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图12

五、项目演示
1.人脸录入

行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图13

2.人脸识别开门和手动关门
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图14
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图15

3.手机APP端数据显示
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图16行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图17
4.EasyIOT MQTT服务器端数据
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图18 行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图19
5.K10串口输出
行空板K10+APP Inventor制作的物联网模拟人脸识别门禁图20

寸进  学徒

发表于 4 天前

请教一下,项目中手机APP是用什么做的?
回复

使用道具 举报

卍卍卍  学徒
 楼主|

发表于 前天 09:35

寸进 发表于 2025-2-18 10:52
请教一下,项目中手机APP是用什么做的?

是wxbit版本的APP inventor
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail