智能寝室门锁

从0开始,打造寝室智能门锁
项目技能树:
1.arduino(esp32)
2.学会阅读产品规格说明书
3.3D建模(fusion360)
4.自定义功能开发(敲击开门、屏幕显示、wifi通信)

3 个赞

1.暂定使用的指纹识别模块资料 https://h.hlktech.com/Mobile/download/fdetail/177.html

前排

一、项目预期技术路线介绍

1.1指纹模块

使用HiLink FPM383C 目前可以找到的最便宜的电容式指纹模块

1.2显示模块

使用电子墨水屏价签的拆机2.13寸墨水屏进行显示部分的制作,因为墨水屏更加适合这种显示内容不会长时间变化的场景使用

1.3舵机

预计采用995、996舵机,扭力足够大,开门的效果会好

1.4主控

使用ESP32,因为ESP32提供了丰富的外设接口,以及WIFI和蓝牙的接入能力,让我们可以进一步拓展更多的玩法

1.5其他可能会添加的内容

设想的内容还是有很多的,比如敲击传感器,就可以使用特定前敲击方式开门;热释电人体传感器,这样在宿舍门内就可以做到门前自动开门;还可以加入环境监测等模块,直接做成寝室的智能中控等。

1.6所需要的相关软件与编程能力

3D建模使用Fusion360,因为有学生免费版;Arduino(也有可能是用ESP-IDF开发)

二、项目参与方式

可以在本帖内持续跟进进度,提出问题,也可以到项目的GitHub、Gitee仓库中提出issue和PR
项目GIthub:GitHub - Toufupi/SCU_DormSmartLocker: 四川大学寝室门锁智能化改造项目(SCU_Maker2022)
项目Gitee:https://gitee.com/byte2016/SCU_DormSmartLocker

Part1:指纹门锁开发实战
首先我们看到模块的通信协议说明部分,要注意的是,设备地址默认为0xffffffff,在文档后面字符后带有H的意思是这一串数字是十六进制的(Hex)


校验和生成规则

对于指纹模块来说,我们要实现的最基础的功能,就是指纹的录入、删除、查找、搜索等
我们先针对录入进行一个过程模拟(过程模拟是使用usb转ttl,通过串口通信软件直接发送指令,观察返回信息)
录入指纹的过程是这样的:录入图像->生成特征->快速查找图像->自动注册模板,接下来我们一步一步来看

1录入指纹实验


发送了指令
ef 01 ff ff ff ff 01 00 03 01 00 05接收到EF 01 FF FF FF FF 07 00 03 02 00 0C 根据协议文档,说明现在没有指纹在表面

1 个赞

二、显示模块的实现

2.1显示模块概述

我们这里的显示模块其实其实是一个可选项,装饰效果实际上是要比使用效果更大的。但是装B就是生产力(bushi)所以我们还是来讲讲电子墨水屏。这里我们使用墨水屏主要也是考虑到他的使用场景是会长期显示相同的画面(例如,欢迎界面,寝室信息等),所以墨水屏很合适。

2.2制作过程

我们的屏幕是来自闲鱼淘的汉朔电子价签,价格很低,我们拆出来里面的屏幕用就好了


然后我们只需要做一个驱动板就可以了,驱动板有开源的,我们只需要打板就好了

然后焊接一下,连接线,使用微雪官方例程就可以驱动了

微雪官方教程(使用8266)https://www.waveshare.net/wiki/E-Paper_ESP8266_Driver_Board

参考了很多这篇文章大泡泡的DIY 篇二十四:咸鱼廉价电子价签拆解,DIY 墨水屏 8266 显示驱动_数码配件_什么值得买

2.3细节问题

2.3.1我们拿到手的屏幕的接口时34PIN的FPC,但是我们选择的驱动板是24PIN的,所以有两个处理方法,一是使用34PIN的FPC座焊接在24pin上吗;二是将34pin长度的排线剪一下。可以参考上面列出的帖子。同时我也设计了一款使用34pin的PCB正在制作过程中



2.3.1由于原来的屏幕上的排线是用于焊接在pcb上的所以比较薄,在连接驱动板后可能会由于排线较薄,接触不好导致不能显示,这个时候就贴一张胶带就好了。

指纹模块设计方案以及主体框架(以后开发可以在) 这个模型基础上改动:
流程图 :


流程图每一步对应的指令:

这里就不再一一列出指令,有兴趣可以阅读文档

在主控存储方案,可以使用效率比较高的搜索二叉树

对于主体框架:
建议使用上位机进行模拟
然后再搭载到硬件平台上

1 个赞

文档写的很好 就是用了容易g​:sob:
踩坑:
1.校验码之和不是文档所说的字节数之和
是每一个字节对应的数字之和
2.在串口通信的时候,如果面包板劣质,或者杜邦线不稳,十分影响通信过程,很容易导致模块接受不到正确指令。(今天晚上栽在了不稳定的信号里)
3.文档说指纹模块处理说要200ms 但实际上预计300-350之间

1 个赞

使用esp8266作为主控
使用自己带的硬串口
使用指纹模块的协议控制
目前进度:
录入模式 -蓝色
正在录入中 - 绿色
录入失败 -红色
录入总次数 4次
录入后合并
模板存入主控和模板中



四次录入完成退出循环,指示灯亮起

1 个赞

有无开源代码 期待一波