[i=s] 本帖最后由 genji 于 2025-3-27 14:53 编辑 [/i]
我不希望我的藏宝箱能被别人直接使用,人脸识别宝箱测试
简介
BW21-CBV-Kit 是安信可科技基于RTL8735B 系列芯片开发的双频 Wi-Fi & BLE 摄像头 SoC 模组开发板,支持双频(2.4 GHz 或5 GHz)802.11a/b/g/n WLAN 协议和 BLE 5.1 协议。
BW21-CBV-Kit 集成了 ARM v8M MCU(500MHz 和2.23 DMIPS/MHz)、WLAN MAC、支持1T1R 的WLAN 基带、蓝牙MAC、RF、音频编解码器、ISP 和H264/H265 编码器。
BW21-CBV-Kit 模组开发板具有丰富的外设接口,包括 UART/GPIO/ADC/PWM/IIC/IIS/SPI/SDIO/SWD/EPHY/Audio/MIC/MIPI/USB 等。
支持 Arduino IDE 开发,有利于快速实现想法,如人脸识别、手势识别、物品识别等,包含大量AI识别例程。具有丰富的接口,搭配AI识别,可扩展出无限可能。

硬件与软件准备
硬件:
BW21-CBV-Kit开发板(GC2053)
蓝宝石舵机
杜邦线若干
软件工具:
Arduino IDE
potplayer(用于实时查看RTSP视频流)
实现
整个项目基于RTSPFaceRecognition例程改造,加入AmebaServo库控制舵机,通过对特定人脸的注册识别,控制舵机旋转开关宝箱。

舵机连线示意图

代码:
BW21-CBV-Kit 的伺服 API 与 Arduino 的 API 相似。 为了与 Arduino 的原始 API 区分开来,我们将头文件命名为 "AmebaServo.h",将类命名为 "AmebaServo",其用法与 Arduino API 相同。
Arduino 伺服器的默认脉冲带宽为 0.5ms 至 2.4ms,与 Tower Pro SG90 相同。 因此,我们直接设置所附引脚:
myservo.attach(8);
然后,将轴旋转到所需位置:
myservo.write(180);
注意:
可登记多个面孔。 但是,在注册人脸时,请确保画面中只有一个人脸。
要开始注册,请将摄像机对准人脸,然后在串行监视器中输入 "REG={Name}",为目标人脸命名。 例如,"REG=SAM"。
输入命令 "DEL={Name}"可删除已注册的某个面孔。 例如,"DEL=SAM"。
输入命令 "RESET(重置)"可忘记所有已注册的面孔。 所有先前分配的面孔和姓名都将被删除。 您可以进入面孔注册模式重新注册面孔。
输入命令 "BACKUP(备份)"可将已注册面孔的副本保存到闪存中。 如果存在备份,则输入命令 "RESTORE "从闪存加载已注册的面孔。

void loop()
{
// Do nothing
if(timeout>0){
timeout--;
if(timeout==0) myservo.write(0);
}
delay(1000);
}
if (String(item.name()) == String("SAM")) {
myservo.write(180);
timeout=3;
}
待施工