10164| 6
|
[项目分享] 二哈——三哥来了 |
上周末从DF拿到了吊足大家胃口的“二哈”,经过一周“撸狗”,也算基本掌握了二哈的用法。于是准备拿二哈来做一个视觉识别的智能门禁。之前用MU视觉识别传感器的门禁系统是个模型没能真正玩起来,这次玩把大的,拿创客空间的门开刀。HuskyLens是一款简单易用的人工智能摄像头(视觉传感器),内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签(二维码)识别。仅需一个按键即可完成AI学习,摆脱繁琐的训练和复杂的视觉算法,可以轻松的实现项目制作。 【项目展示】 【功能简介】 (1)机器学习:用HuskyLens视觉识别传感器可以模拟进行人脸学习,也可完成多个人脸的学习记忆,本例中使用的单人脸学习模式, (2)人脸开锁:HuskyLens视觉识别传感器检测到已学习过的人脸信息时,能够将其识别出来,并控制系统打开门禁。 (3)遥控开锁:当出现人脸无法识别的情况时,我们通过一把无线遥控的钥匙,打开门禁,并将这种打开方式上传物联网平台。 (4)智能物联:门禁与EasyIoT互联,每一步执行的操作都被记录在物联网平台上。 (5)语音播报:系统带有语音提示及播报功能,识别人脸开锁和遥控开锁方式都有相应的语音提示。 【硬件材料】
【制作过程】 1.结构设计 本次设计将电子件封装在一个盒子里,HuskyLens外置用于人脸检测。在LaserMaker中使用了LaserMaker中的快速造盒功能,生成盒子以后,并对其结构进行相应的修改,具体修改设置如下所示。 (1)前面板设计 前面板用于人脸识别和相应语音提示,因此在前面板上固定Huskylens视觉识别传感器和小喇叭。①处安装小喇叭,②处安装Huskylens视觉识别传感器及穿线孔。 (2)后面板设计 后面板主要用于固定主控板、继电器、物联网模块,其中①处固定继电器、②处固定物联网、③处固定主控板。 (2)安装盒的边框 边框中上下两块边框对应图标①②有穿线孔,分别引出电磁锁的导线和供电模块的导线。如图6所示。 2.注册物联网 登录EasyIoT物联网平台(https://iot.dfrobot.com.cn/)完成用户注册及设备添加,这里不再赘述过程。Huskylens用于记录人脸开锁、遥控开锁信息Topic。图标①②处记录Iot_id、Iot_pwd处的值,记录留存。图标③处为Huskylens的Topic值。 3.相关设置 (1)编程环境部署 程序编写使用的是Mind+V1.6.2,目前还未发布,其提供的下载地址为:百度网盘链接(https://pan.baidu.com/s/1_Ij7VMsBO3v8FpXcsKTXYQ,提取码:uehm)。其中本次程序编写涉及到的硬件有Arduino 、Huskylens、物联网模块、语音合成模块,因此在编写程序前先将这些拓展指令模块添加上,如图8所示。 第一步:添加Arduino控制器 鼠标点击拓展按钮,切换“主控板”页面,如下图9处,添加Arduino。 第二步:添加Huskylens 鼠标点击拓展按钮,切换“传感器”页面,如下图10,添加Huskylens。 第三步添加OBLOGQ物联网模块 鼠标点击拓展按钮,切换“通讯模块”页面,如下图11,添加OBLOGQ物联网模块。 第四步:添加语音合成模块 鼠标点击拓展按钮,切换“执行器”页面,如下图12,添加语音合成模块。 (2)Huskylens设置 第一步:烧录固件 我最初拿到的Huskylens版本是测试版(固件为0.1.9),不支持中文界面。而目前的最新版本固件为0.3.7,因此需要进行烧录固件的操作。烧录固件前用USB线直连PC,打开软件是K-Flash.exe 如图13所示,设置图标①②处,分别对应为设备端口号和固件所在位置,鼠标点击Flash按钮即可烧录固件。 第二步:参数设置。首先来认识一下Huskylens相关按键如图14所示。 拨动功能按钮到最后一个菜单General Settings, 在Language中选择简体中文,确定保存设置后重启,菜单就变成了中文界面如图15所示。 切换端口输出接口为I2C,拨动功能按钮菜单到常规设置,选择协议种类为I2C,然后保存并返回如图16所示。 第三步:人脸学习。 拨动“功能按键”,至屏幕顶部为“人脸识别”选项,此时屏幕会框选出检测到的所有人脸,并显示"人脸”字样。将屏幕中的“十”字对准目标人脸,按下“学习按键”不松开,录入人脸的各个角度后,再松开按键,完成一个人脸信息的学习。当摄像范围内出现学习过的人脸时,显示蓝色框,并有“人脸:ID1”"字样,表明识别成功如图17所示。上述操作后,我们就完成了人脸学习及识别的操作。 4.电路连线 电路连接如图18所示,各模块与Arduino扩展板的连接如下:Huskylens连接到扩展板I2C口;物联网模块通过软串口(D2,D3)与扩展板连接;继电器与D7口连接;电池锁正极与供电模块负极连接到继电器N/A口,供电模块正极连接继电器COM口,电池锁负极连接继电器NO口;喇叭与语音合成模块的喇叭接口连接(注意区分正负极)。 5.代码编写 (1)程序初始化 6.设备组装 第一步:拿出切换好的后面板和四周边框组装盒子如下图22所示。 第二步:将Huskylens安装在前面板外侧,喇叭安装在前面板内侧。 第三步:Arduino主控、继电器、物联网模块固定在后面板相应位置处。 第四步:继电器分别连接电源供电模块和电磁锁模块。 第五步:喇叭(语音合成模块)和Huskylens(I2C)与主控连线 7.运行测试: 当有人站在Huskylens前(已学习过),系统可以对人脸进行识别,并在掌控端显示卡通哈士奇的图片,如图所示 当有人站在Huskylens前(未学习过),可以通过掌控端按下按钮A,实现无线开锁 (彩蛋来了)其实还有很多把钥匙 以上所有的操作会记录在EasyIoT上,如图30所示 8.改进与提升 目前此作品只是局限一个人识别,其实Huskylens是可以同时识别多个人脸。后续可以对此作品进行升级,完成多人的人脸识别。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed