发作品签到
标准版

【RA】基于RA7F2E1的网络指纹锁

工程标签

5.4k
0
0
25

简介

Named ON!一个指纹网络锁,基于BLINKER,可支持手机上解锁及注册指纹,并且加上了WS2812模块,以及DHT22,可显示室内温湿度和各种光效,免去了以往的密码锁搭配LCD,安全度更高!(雾

简介:Named ON!一个指纹网络锁,基于BLINKER,可支持手机上解锁及注册指纹,并且加上了WS2812模块,以及DHT22,可显示室内温湿度和各种光效,免去了以往的密码锁搭配LCD,安全度更高!(雾

开源协议

MIT

创建时间:2022-04-11 12:16:02更新时间:2022-07-24 09:15:16

描述

ON!

IMG_0640.JPG

糖糖镇楼(

QQ截图20220502100435.jpg

关键词: ESP-12F、Blinker、串口通信、舵机、步进电机、DCDC、指纹解锁、离线语音助手、WS2812、下载指南

Update

2022.5.3更新了PCB布线,DCDC电感下覆铜已清除,添加了扬声器接线丝印。
2022.5.4 发现BUG,在关灯的情况下,再按几次关灯可能会卡死,猜测是在ws2812函数内break导致外循环打断(已修复)
2022.5.5Blinker注册指纹功能已完善,功能要求已满足。
2022.5.8更新了原理图,舵机使用MCU输出PWM而不经过MOS管
2022.5.16更新了PCB,加入了ESP自动下载电路,现在已经不用把IO0下拉启动再刷入了;画好了3D外壳,将于3天后验证

BUG

2022.5.4 每次通过ESP8266发送不同的指令,灯光都会重置一次,因为检测的程序设计,所以指纹模块必须自己先添加一个(已修复)

For Future

网络锁功能已完成!以下的是扩展DLC功能,并非一定完成!
显示室内温湿度(待完成)
通过8266定时传递时间戳,以及RTC实时显示时钟(待完成)
显示谁开了锁(待完成)
删除指定指纹模板(待完成)

What's ON?

ON是一个网络锁,ON通常指开关的意思,包含了在用指纹开门时的兴奋与激动,也是我的硬件开源人生的开启键,以往的指纹锁都是通过按键输入密码来进行注册\删除指纹,但ON不同,其通过手机上的Blinker应用,与ESP8266进行HTTP通信(也就是说,无论你身在何处,只要ESP8266有网,都可以进行操作,肥肠方便!),然后ESP8266再与RA2E1进行串口通信来发送指令!之后RA2E1通过得到的指令来做不同的功能!
SHELL

QQ截图20220516113948.jpg
ON_Structure.jpg

模块功能讲解:

ESP8266

IMG_0648(20220509-110549).JPG

ESP-12F(即ESP8266)是常用的一个WIFI通信模块,BLINKER通过HTTP的协议方式,与MCU通信,而BLINKER,是ESP8266的固件模块,操作简单、方便,同时支持手机上的各种语音助手!我也是刚入门BLINKER,上手时间不够一个小时!总的过程就是,声明一功能,设置功能回调,初始化功能,我默认设置了如下按键,功能有注册指纹,开门(因为有时候手脏可能无法识别),12种(加上3种按键状态共12种)灯光特效(可自定义),以及谁开了门(后续更新)既然ESP8266功能这么多,为什么不单独用呢?事情是这样的,说出来我也很震惊!IMG_0655.PNG

语音助手

IMG_0650(20220509-110753).JPG

为了离线的情况也能也能使用语音功能,我添加了SU-03T语音助手模块,为什么选择它呢?主要是因为它可以自定义固件,包括串口指令、PWM、GPIO的功能,我有用的是串口9接收和发送指令,这样子可自定义的功能会多很多,详情淘宝上了解,我就不多赘述了。

WS2812

IMG_0652.JPG

移植了Adafuit Neofixel库,可用的指令有:fill、set_color、rainbow,同时!还有HUE算法!在颜色鲜艳的同时,降低亮度!保护狗眼!
SPI驱动,SPI驱动WS2812是通过数据的占空比来实现的,只要调整发送周期为1.25us就可以发送WS2812逻辑信号,比如说发送WS2812 1信号,就是11111000,占空比为60%!符合WS2812高电平信号!

DHT22(待汇总)

A4988步进电机模块(程序待完善)

IMG_0651(20220509-110815).JPG

一个常用的步进电机驱动模块,为什么要加上步进电机的模块呢?因为普通的舵机模块无法支持较大的扭力,所以要加上一个步进电机,来支持在需要较大扭力的开锁场所,我不常用电机这一类,所以可能电路设计上有所错误,RST和SLP相连是为了使电机处于正常工作模式(RST默认上拉,SLP接高电平激活,短接这两个引脚就处于正常工作状态),DIR控制方向,STEP输入脉冲可进行步进,我在细分引脚都加上了下拉电阻,同时将MS接到MCU,也就是说,不用跳帽就可以控制细分数,十分方便!

CH9102X串口下载

CH9102X是沁恒的一块高性能串口芯片,下载速度可达4M!同时是QFN-28封装,体积更小!这里是外接了一个2X3的排针,可通过排针来选择给ESP8266下载,或是给RA2E1下载,同时也可以通过串口与MCU通信来调试,这个排针是必须加的,不然直连ESP8266和RA2E1的话会给RA2E1下载不成功!

电源/供电

采用DCDC降压给MCUWS2812B舵机供电,实测满亮度下供电正常(纹波方面因为示波器排队排不到我,所以就没测)!**但还是建议WS2812亮度最高在128左右!**采用两路LDO,一路LDO给指纹模块供电(至于为什么需要独立一路出来,手册上写有),另一路给ESP8266和语音助手供电,可以说供电方面是十分充足的,且带有USB保护电路,可支持USB和12V电源同时存在,嘛嘛再也不用担心我烧电脑啦!

指纹模块

IMG_0649(20220509-110727).JPG

我所使用的是海凌科FPM383C指纹模块实际上其他的指纹模块也支持其他模块可能性能不足,相应不快,所以会发送错误信息( 5.3更新 )),28块一个,十分便宜,同时通过率还很高,采用了自动验证指纹模式,也就是发送一串指令EF 01 FF FF FF FF 01 00 08 32 01 FF FF 00 04 02 3E 就会自动验证感应的指纹,我采取的识别逻辑是 手放在上面(高电平)->MCU发送指令->指纹模块验证,发送一串数据->MCU接收不定长数据strstr找到所想要的字符串段->正确识别/错误返回

下载指南

我用的是JLINK-V9,自己打的,成本50,或者在淘宝上面买,90块一个,为了照顾不想买JLINK的同学,我已经自带了(串口)下载模块,支持921600的下载波特率,因为下载文件通常都不大,实际上的速度体验和JLINKV9差不多,只需把CH的通信脚通过跳帽连接至MCU处,先把BOOT拨动开关调到BOOT-(在boot处的排针可以用一个拨动开关,针脚间距是2.54的都行),再按下RESET按键,之后再用RA的串口下载工具就可以下载啦!如果是JLINK V9可以省略上面这步,直接用JLINK-LITE下载就行。

最后,感谢嘉立创和RA的平台,让我能够做自己喜欢的事情,也感谢群里的各位大佬在训练营期间的支持。

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
10.1uC1,C2,C4,C6,C8,C9,C14,C15,C18,C20,C21,C31,C33C060313
210ufC3,C5,C19,C32,C34C06035
347ufC7CASE-A_32161
422pfC11,C12C06032
54.7ufC13C06031

附件

序号文件名称下载次数
1
Code.zip
440
2
2022-05-09 102350_1.mp4
1219
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航