本文主要是介绍【智能门禁】[ESP32Cam]2024最新-断电记忆-人脸识别门禁模块 简易开源教程 解决 fr_flash:Not found,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【完美解决 fr_flash:Not found 没有分区表导致fr_flash.c报错人脸无法储存的bug】www.bilibili.com/video/BV1m64y1A7AS
最新保姆级教程【修复版】2024最新-断电记忆 -人脸识别门禁模块 简易开源教程(完美解决没有分区表导致fr_flash报错人脸无法储存的bug——fr_flash:Not found)
教程原文
本次修复fr_flash:Not found错误,方法见第三章
目录
时间戳
前言
资料下载
硬件购买
说明书:
一、程序由来
二、环境安装
三、flash版操作步骤(新版,推荐)
分区表实现flash存储原理
人脸识别原理
界限参考视频
四、SD卡版操作步骤(旧版,不推荐)
时间戳
上一期更新:2024年1月20日
本文更新时间:2024年1月22日(更新分区表版免插卡)
代码资源更新时间:2024年1月24日
代码解释(注释)预计2024年1月24日夜间上线
前言
开发环境必须按照此教程第二章《软件开发环境搭建》进行配置
不按该方法配置,库版本不对必出问题
纯新手先做一遍【新手入门】[Blinker]2024-最新开发环境+温湿度节点+继电器 详细开源教程比较好
地址:Arduino中文社区
上述新手教程找新手测试过,步骤截图全,本教程未测试,出现问题群里找群主
本人全部合集https://arduino.me/s/35?aid=2757
免费调试QQ1836035711,任何问题都可以问
资料下载
1.资料内容
人脸识别爆改成功.rar
包含
face_test.ino(花20买的CSDN的代码,发现SD卡用不了,自己改了两周才改好)
ESP32 的1.0.6库安装包(新库从2.0.1开始不支持人脸识别,所以必须要换1.0.6)
2.下载方式
暂时仅能从QQ 群的群文件下载
点灯开源项目分享群850881351
此群只提供各类开源分享,可向群主投稿,为避免打扰,不聊天
教程等任何问题都可找群主,免费调试,有空就回
群文件:
3.资料注意
调试出现任何问题先看【新手必看】[Blinker]2024最新-常见问题大全
如有咨询需要,也可前往点灯官网>开发文档>加点灯2000人官方群。
硬件购买
只要是安信可的ESP32Cam开发板(带烧录底板)都可以,microSD卡(TF卡)必须256MB~4GB,格式化为FAT格式,否则无法写入人脸信息
目前找到的最便宜、质量最好的是这家:
只要¥27包邮就可以拿下开发板和烧录底板
其它店多是¥30以上,质量还没他好(之前别的店买过两次,各坏一半气得我半死)
【ESP32-CAM开发板测试板WiFi+蓝牙模块ESP32串口转 摄像头模块模组】
【ESP32-CAM开发板测试板WiFi+蓝牙模块ESP32串口转 摄像头模块模组】复制¥7f0Dphk64T5ab¥,打开【手机阿里】查看:https://qr.1688.com/s/75Aj9WGg CZ9754
使用说明书(资料附带Word档说明书)
一、程序由来
(建议观看以下视频后再食用本教程)
1.原视频
【基于esp32cam人脸识别开锁完整教程&独家教程】
www.bilibili.com/video/BV1mS4y137Q5/?share_source=copy_web&vd_source=43a31abdbf3a9adbc8907c51881a1423
此视频附带程序基于ESP官方库开发,未实现修改flash分区表来存储人脸ID,断电即丢失,程序来自ESP官方
2.二创文章
单片机开发---基于ESP32-CAM的人脸识别应用
http://t.csdnimg.cn/ojpi5
此文章
也未实现修改flash分区表来存储人脸ID
但是自己写了一段复现比较困难的SD卡驱动存储人脸ID
3.本文(三创)添加分区表
效果展示【¥27超低成本人脸识别模块-哔哩哔哩】
版本一 通过改进二创文章SD卡操作方式,实现容易复现的SD卡存储人脸ID
**版本二 通过修改flash分区记忆人脸ID,断电不丢失,不需要插SD卡(推荐)**代码来自原视频的ESP官方程序
4.请注意:
ESP32算力有限,做人脸识别只能将图像和脚本传到浏览器,识别后返回人脸ID,所以无法脱离上位机运行,没有电脑或手机的浏览器开着,人脸识别计算就停了,所以表面是20元实际还要带上一个安卓平板或开着的电脑或旧手机,只适用于有上位机的门禁/智能家居系统
二、软件开发环境搭建
下载完资料包解压,然后打开文件夹,其中exe尽量管理员身份运行
1.安装Arduino
1.右键管理员身份运行
装过的忽略,Arduino2.0亦可,后面几步基本一样
2.安装硬件库(必须V1.0.6)
Arduino开发板库添加有两种方式,Arduino库管理器
或点灯官网资源下载栏的离线安装包
1.右键管理员身份运行esp32_package_1.0.6_arduino.cn.exe即可
注:ESP32不做人脸识别,则安装2.0.7; 做人脸识别安装1.0.6(2.0版库开始不支持人脸识别)
2.安装完硬件库后检查开发板库的位置
自动前往在地址栏粘贴%LOCALAPPDATA%/Arduino15/packages/esp32/hardware/esp32
并回车
亦可手动点击文件夹C:\用户\用户名\AppData\Local\Arduino15\packages\esp32\hardware\esp32
注:用户名是你自己的Windows用户名!
注:AppData是隐藏文件夹,要点击查看
开启隐藏的项目
才能查看
注:不管Arduino装在哪,这个硬件库都装到了C盘的用户文件夹!
3.如果安装过其他版本的esp32 package,请先删除或剪切走,再使用本安装包
删除方法:文件管理器地址栏粘贴%LOCALAPPDATA%/Arduino15/packages/esp32/hardware/esp32
即可进入C:\Users\这里替换为用户名\AppData\Local\Arduino15\packages\esp32\hardware\esp32
ESP32文件夹剪切走新版1.0.7文件夹,贴外部(2.0以上没有人脸识别,只能留1.0.6)
贴别的地方也可以
3.安装软件库(有的环境自带了不装也能编译,最好装上)
1.手动复制(推荐):
把
复制或剪切到C:\Users\用户名\Documents\Arduino\libraries
注:不管Arduino装在哪,这个软件库都在C盘的用户文件夹!
2.自动添加(不推荐):Arduino>项目>加载库>添加.ZIP库
4.设置Arduino——管理网址、行号、折叠、编译信息
打开Arduino>文件>首选项>附加开发板管理器网址>
,粘贴:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
http://x.iaoye.xin/package_esp8266com_index.json
http://wechat.doit.am/package_esp8266com_index.json
https://github.com/esp8266/Arduino/releases/download/2.5.0/package_esp8266com_index.json
https://raw.githubusercontent.com/DFRobot/FireBeetle-ESP8266/master/package_firebeetle8266_index.json
https://dl.espressif.com/dl/package_esp32_index.json
https://arduino.me/packages/esp32.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
三、flash版操作步骤
1.确保您已经配置好上述开发环境
2.打开face_test文件夹的face_test.ino(见前文资料下载)
如图选择AI Thinker(安信可)开发板(在正中间,不太好找)
连接USB线,选择好端口
4.修改为自己的WiFi名、密码、开门引脚(接线见资料包图片)
5.上传
上传详细步骤见入门教程第八章《烧录》
【新手入门】[Blinker]2024-最新开发环境+温湿度节点+继电器 详细开源教程
Arduino中文社区
以下为简版步骤:
上传前打开Arduino串口监视器确认通信
按住烧录底板RST和IO0按钮
插USB线
打开arduino串口监视器
先松开RST按钮,再松开IO0按钮
看到语句:waiting for download 等待下载
即可点击arduino右箭头上传代码
若没有则在工具里面切换端口,直到有,没端口说明要重装串口驱动
若出现报错,显示ESP32库问题
则在地址栏粘贴%LOCALAPPDATA%/Arduino15/packages/esp32/hardware/esp32
即可进入C:\Users\这里替换为用户名\AppData\Local\Arduino15\packages\esp32\hardware\esp32
ESP32文件夹剪切走新版1.0.7文件夹,贴外部(2.0以上没有人脸识别,只能留1.0.6)
6.调试
正常编译并上传后出现连接WiFi、检测flash分区(如图)
若串口监视器无信息,波特率115200,并按RST重置
得如下调试记录
复制上图最后一行网页地址粘贴手机或电脑浏览器(必须在同一个WiFi下)
进入界面,例如 http://192.168.1.102
点击STREAM CAMERA开启视频流
DETECT FACES识别人脸(绿色框显示是否识别)
白色输入框输入英文名,点击ADD USER,等待添加人脸(闪光灯闪5次,绿色框显示成功即可)
SCCESS CONTROL 开启门禁模式,识别到人脸电脑发出响声,按资料包图片接线,或通过UDP发送到门禁机(下次更新)
录好人脸,断电,不会丢失,就完成了
7.模块IP地址固定
默认IP地址路由器自动分配,如需固定,请在setup函数外添加
//上联路由器的静态IP WiFi.configIPAddress sip(192,168,1,200); //手动设置静态IP 连接网络ipIPAddress sip1(192,168,1,1); //本地网关IPAddress sip2(255,255,255,0); //本地子网掩码
并在setup函数内的WiFi.begin前添加
//上联路由器wifiWiFi.config(sip,sip1,sip2); //设置上联路由器网络参数
如图所示:
完成后同样上传
添加分区表partitions.csv实现flash存储原理
官方没给分区表,导致官方flash存储功能失效,我查了好久,2023.3改SD卡版,2024.1再次分析fr_flash.h,终于找出来怎么分区
分区大小可以自己改,用计算器程序员模式十六进制计算即可,目前容量存几十个人应该够用
修改时不要超出4MB(0X400000),偏移不写默认在上一分区结尾开始
存ino一个文件夹即可,编译器会吃进去
人脸识别代码原理
ESP官方静态库函数(编译成了二进制,改不了,位置在硬件库源码部分,github上倒是可以搜到fr_flash.c这个文件,上面分区表原理分析截图里面就是)
把网页、脚本、人脸发送到电脑或手机的浏览器去计算ID,然后返回ESP32Cam
意味着无法脱离上位机运行,没有浏览器开着人脸识别计算就停了
ESP官方用到的是一些开源算法,可以自己去查MTMN开源项目
https://blog.csdn.net/qq_39217004/article/details/128129391
接线(借视频做参考)
电源必须5V2A ~5V 3A
实际接线参考视频
【esp32 人脸识别门禁系统 保姆级教程由于接触不久为了改进断网也能运行肝了两天】 www.bilibili.com/video/BV1KN4y1B7ui/?share_source=copy_web&vd_source=43a31abdbf3a9adbc8907c51881a1423
【esp32人脸识别 门禁 最终上门实战】 https://www.bilibili.com/video/BV1i94y1M7xv/?share_source=copy_web&vd_source=43a31abdbf3a9adbc8907c51881a1423
预告:智能门禁其它8个开门方式和开门动作机构将于今年年底前发布在开源群
这篇关于【智能门禁】[ESP32Cam]2024最新-断电记忆-人脸识别门禁模块 简易开源教程 解决 fr_flash:Not found的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!