【智能门禁】[ESP32Cam]2024最新-断电记忆-人脸识别门禁模块 简易开源教程 解决 fr_flash:Not found

本文主要是介绍【智能门禁】[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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834892

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time