WAVESHARE 标志

UART 指纹传感器 (C)
用户手册

超过VIEW

这是一个高度集成的圆形一体式电容指纹传感器模块,几乎和指甲板一样小。 该模块通过UART指令控制,使用方便。 它的优点tag包括360°全方位验证、快速验证、高稳定性、低功耗等。
UART指纹传感器(C)基于高性能Cortex处理器,结合高安全性商业指纹算法,具有指纹登记、图像采集、特征查找、模板生成和存储、指纹匹配等功能。 在不了解复杂的指纹算法的情况下,您只需发送一些UART命令,即可将其快速集成到需要小尺寸和高精度的指纹验证应用中。

特征
  • 通过一些简单的命令即可轻松使用,您无需了解任何指纹技术或模块间结构
  • 商用指纹算法,性能稳定,验证速度快,支持指纹录入、指纹比对、指纹图像采集、指纹上传等功能。
  • 电容灵敏检测,只需轻触采集窗即可快速验证
  • 硬件高度集成,处理器和传感器在一个小芯片中,适合小尺寸应用
  • 不锈钢窄边框,大触控面积,支持360°全方位验证
  • 嵌入式人体感应器,处理器自动进入休眠,触摸唤醒,功耗更低
  • 板载UART接口,方便与STM32、树莓派等硬件平台连接
规格
  • 传感器类型:电容式触摸
  • 分辨率:508DPI
  • 图像像素:192×192
  • 图像灰度:8
  • 传感器尺寸:R15.5mm
  • 指纹容量:500
  • 匹配时间:<500ms (1:N, and N<100)
  • 误报率:<0.001%
  • 误拒率:<0.1%
  • 操作量tag电子:2.73V
  • 工作电流:<50mA
  • 睡眠电流:<16uA
  • 抗静电:接触放电8KV/空气放电15KV
  • 接口:UART
  • 波特率:19200 bps
  • 操作环境:
    • 温度:-20°C~70°C
    • 湿度:40%RH~85%RH(无冷凝)
  • 存储环境:
    • 温度:-40°C~85°C
    • 湿度:<85%RH(无冷凝)
  • 寿命:1万次

硬件

方面

WAVESHARE STM32F205 UART 指纹传感器 - 尺寸

界面

笔记: 实际电线的颜色可能与图片不同。 根据连接时的 PIN 码而不是颜色。

WAVESHARE STM32F205 UART 指纹传感器 - 接口

  • 车辆识别号:3.3V
  • GND:接地
  • RX:串行数据输入(TTL)
  • TX:串行数据输出(TTL)
  • RST:电源启用/禁用引脚
    • HIGH:电源启用
    • LOW:电源禁用(睡眠模式)
  • WAKE:唤醒引脚。 当模块处于休眠模式时,当用手指触摸传感器时,WKAE 引脚为高电平。

命令

命令格式

该模块作为从设备工作,您应该控制主设备发送命令来控制它。 通讯接口为UART:19200 8N1。
格式命令和响应应该是:
1) =8 字节

字节 1 2 3 4 5 6 7 8
命令 0xF5 命令 P1 P2 P3 0 核磁共振 0xF5
确认 0xF5 命令 Q1 Q2 Q3 0 核磁共振 0xF5

笔记:
CMD:命令/响应的类型
P1、P2、P3:指令参数
Q1、Q2、Q3:响应参数
Q3:Q3一般是操作的有效/无效信息,应该是:

#define 确认成功
#定义ACK_FAIL
#定义ACK_FULL
#定义ACK_NOUSER
#定义ACK_USER_OCCUPIED
#定义ACK_FINGER_OCCUPIED
#define 确认超时
0x00
0x01
0x04
0x05
0x06
0x07
0x08
//成功
//失败的
//数据库已满
//用户不存在
//用户存在
//指纹是存在的
//暂停

CHK:校验和,是字节 2 到字节 6 的异或结果

2) >8 字节。 该数据包含两部分:数据头和数据包数据头:

字节 1 2 3 4 5 6 7 8
命令 0xF5 命令 嗨(连) 低(Len) 0 0 核磁共振 0xF5
确认 0xF5 命令 嗨(连) 低(Len) Q3 0 核磁共振 0xF5

笔记:
CMD, Q3: 同 1)
Len:数据包中有效数据的长度,16bits(两个字节)
Hi(Len):Len 的高 8 位
Low(Len):Len 的低 8 位
CHK:校验和,是字节 1 到字节 6 数据包的字节异或结果:

字节 1 2…连+1 连+2 连+3
命令 0xF5 数据 核磁共振 0xF5
确认 0xF5 数据 核磁共振 0xF5

笔记:
Len:数据字节数
CHK:校验和,是字节 2 到字节 Len+1 的异或结果
数据包跟随数据头。

命令类型:
  1. 修改模块的SN号(CMD/ACK均为8字节)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x08 新 SN(位 23-16) 新 SN(位 15-8) 新 SN(位 7-0) 0 核磁共振 0xF5
    确认 0xF5 0x08 旧 S(位 23-16) 旧 SN(位 15-8) 旧 SN(位 7-0) 0 核磁共振 0xF5
  2. 查询模型 SN(CMD/ACK 均为 8 字节)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x2A 0 0 0 0 核磁共振 0xF5
    确认 0xF5 0x2A SN(位 23-16) SN(位 15-8) SN(位 7-0) 0 核磁共振 0xF5
  3. 睡眠模式(CMD/ACK 均为 8 字节)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x2C 0 0 0 0 核磁共振 0xF5
    确认 0xF5 0x2C 0 0 0 0 核磁共振 0xF5
  4. 设置/读取指纹添加模式(CMD/ACK 均为 8 Byte)
    有两种模式:启用复制模式和禁用复制模式。 模块禁用复制模式时:同一个指纹只能添加一个ID。 如果要添加另一个具有相同指纹的 ID,则 DSP 响应失败信息。 模块上电后处于禁用模式。
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x2D 0 字节 5=0:
    0:启用
    1:禁用
    字节 5=1:0
    0:新模式
    1:读取当前模式
    0 核磁共振 0xF5
    确认 0xF5 0x2D 0 当前模式 确认成功
    确认失败
    0 核磁共振 0xF5
  5. 添加指纹(CMD/ACK 均为 8 字节)
    主设备应向模块发送三次命令并三次添加指纹,确保添加的指纹有效。
    a) 首先
    字节 1 2 3 4 5 6 7 8
    命令 0xF
    5
    0x0
    1
    用户ID(高8Bit) 用户 ID(低 8 位) 许可(1/2/3) 0 核磁共振 0xF5
    确认 0xF
    5
    0x0
    1
    0 0 确认成功
    确认失败
    0 核磁共振 0xF5
    确认已满
    确认用户已占用 确认手指已占用
    确认超时

    笔记:
    用户ID:1~0xFFF;
    用户权限:1,2,3,(可以自己定义权限)
    b) 第二

    字节 1 2 3 4 5 6 7 8
     

    命令

     

    0xF5

     

    0x02

    用户身份

    (高8Bit)

    用户身份

    (低8位)

    允许

    (1/2/3)

     

    0

     

    核磁共振

     

    0xF5

     

    确认

     

    0xF5

     

    0x02

     

    0

     

    0

    确认成功

    确认失败 确认超时

     

    0

     

    核磁共振

     

    0xF5

    c) 第三个

    字节 1 2 3 4 5 6 7 8
     

    命令

     

    0xF5

     

    0x03

    用户身份

    (高8Bit)

    用户身份

    (低8位)

    允许

    (1/2/3)

     

    0

     

    核磁共振

     

    0xF5

     

    确认

     

    0xF5

     

    0x03

     

    0

     

    0

    确认成功

    确认失败 确认超时

     

    0

     

    核磁共振

     

    0xF5

    注意: 三个命令中的用户 ID 和权限。

  6. 添加用户并上传特征值(CMD =8Byte/ACK > 8 Byte)
    这些命令类似于“5. 添加指纹”,您也应该添加三次。
    a) 首先
    同第一个“5.添加指纹”
    b) 第二
    与“第二个”相同5.添加指纹
    c) 第三
    CMD 格式:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x06 0 0 0 0 核磁共振 0xF5

    确认格式:
    1)数据头:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x06 嗨(连) 低(Len) 确认成功
    确认失败
    确认超时
    0 核磁共振 0xF5

    2)数据包:

    字节 1 2 3 4 5—连+1 连+2 连+3
    确认 0xF5 0 0 0 特征值 核磁共振 0xF5

    笔记:
    特征值长度(Len-)为 193Byte
    当ACK数据的第XNUMX个字节为ACK_SUCCESS时发送数据包

  7. 删除用户(CMD/ACK 均为 8 字节)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x04 用户ID(高8Bit)  用户 ID(低 8 位) 0  0 核磁共振 0xF5
    确认 0xF5 0x04 0 0 确认成功
    确认失败
    0 核磁共振 0xF5
  8. 删除所有用户(CMD/ACK 均为 8 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x05 0 0 0:删除所有用户1/2/3:删除权限为1/2/3的用户 0 核磁共振 0xF5
    确认 0xF5 0x05 0 0 确认成功
    确认失败
    0 核磁共振 0xF5
  9. 查询用户数(CMD/ACK 均为 8 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x09 0 0 0:查询计数
    0xFF:查询金额
    0 核磁共振 0xF5
    确认 0xF5 0x09 计数/金额(高 8Bit) 数量/数量(低8位) 确认成功
    确认失败
    0xFF(指令=0xFF)
    0 核磁共振 0xF5
  10. 1:1(CMD/ACK均为8Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x0B 用户 ID(高 8 位) 用户 ID(低 8 位) 0 0 核磁共振 0xF5
    确认 0xF5 0x0B 0 0 确认成功
    确认失败
    确认超时
    0 核磁共振 0xF5
  11. 比较一:N(CMD/ACK 均为 1 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x0C 0 0 0 0 核磁共振 0xF5
    确认 0xF5 0x0C 用户 ID(高 8 位) 用户 ID(低 8 位) 允许
    (1年2月3日)
    确认无用户
    确认超时
    0 核磁共振 0xF5
  12. 查询权限(CMD/ACK 均为 8 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x0A 用户ID(高8Bit) 用户 ID(Low8Bit ) 0 0 核磁共振 0xF5
    确认 0xF5 0x0A 0 0 允许
    (1年2月3日)
    确认无用户
    0 核磁共振 0xF5
  13. 设置/查询比较级别(CMD/ACK 均为 8 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x28 0 Byte5=0:新级别
    字节 5=1:0
    0:设定等级
    1:查询级别
    0 核磁共振 0xF5
    确认 0xF5 0x28 0 当前级别 确认成功
    确认失败
    0 核磁共振 0xF5

    备注: 比较 level 可以是0~9,数值越大,比较越严格。 默认 5

  14. 获取图片并上传(CMD=8 Byte/ACK >8 Byte)
    CMD 格式:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x24 0 0 0 0 核磁共振 0xF5

    确认格式:
    1)数据头:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x24 嗨(连) 低(Len) 确认成功
    确认失败
    确认超时
    0 核磁共振 0xF5

    2)数据包

    字节 1 2—连+1 连+2 连+3
    确认 0xF5 图像数据 核磁共振 0xF5

    笔记:
    在DSP模块中,指纹图像的像素为280*280,每个像素用8位表示。 上传时,DSP已经跳过像素samp在水平/垂直方向上调整以减小数据大小,使图像变为 140*140,并且只取像素的高 4 位。 每两个像素合成一个字节用于传输(前一个像素高 4 位,最后一个像素低 4 位)。
    从第一行开始逐行传输,每行从第一个像素开始,共传输140*140/2字节数据。
    图像的数据长度固定为 9800 字节。

  15. 获取图片并上传特征值(CMD=8 Byte/ACK > 8Byte)
    CMD 格式:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x23 0 0 0 0 核磁共振 0xF5

    确认格式:
    1)数据头:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x23 嗨(连) 低(Len) 确认成功
    确认失败
    确认超时
    0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4 5—连+1 连+2 连+3
    确认 0xF5 0 0 0 特征值 核磁共振 0xF5

    笔记: 特征值 (Len -3) 的长度为 193 字节。

  16. 下载特征值并与获取的指纹进行比较(CMD >8 Byte/ACK=8 Byte)
    CMD 格式:
    1)数据头:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x44 嗨(连) 低(Len) 0 0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4 5—连+1 连+2 连+3
    确认 0xF5 0 0 0 特征值 核磁共振 0xF5

    注: 特征值 (Len -3) 的长度为 193 字节。
    确认格式:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x44 0 0 确认成功
    确认失败
    确认超时
    0 核磁共振 0xF5
  17. 下载特征值和比较1:1(CMD >8 Byte/ACK=8 Byte)
    CMD 格式:
    1)数据头:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x42 嗨(连) 低(Len) 0 0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4 5—连+1 连+2 连+2
    确认 0xF5 用户 ID(高 8 位) 用户 ID(低 8 位) 0 特征值 核磁共振 0xF5

    笔记: 特征值 (Len -3) 的长度为 193 字节。
    确认格式:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x43 0 0 确认成功
    确认失败
    0 核磁共振 0xF5
  18. 下载特征值和比较 1:N(CMD >8 Byte/ACK=8 Byte)
    CMD 格式:
    1)数据头:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x43 嗨(连) 低(Len) 0 0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4 5—连+1 连+2 连+2
    确认 0xF5 0 0 0 特征值 核磁共振 0xF5

    笔记: 特征值 (Len -3) 的长度为 193 字节。
    确认格式:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x43 用户 ID(高 8 位) 用户 ID(低 8 位) 允许
    (1/2/3)
    确认无用户
    0 核磁共振 0xF5
  19. 从 DSP 模型上传特征值 CMD=8 Byte/ACK >8 Byte)
    CMD 格式:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x31 用户 ID(高 8 位) 用户 ID(低 8 位) 0 0 核磁共振 0xF5

    确认格式:
    1)数据头:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x31 嗨(连) 低(Len) 确认成功
    确认失败
    确认无用户
    0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4 5—连+1 连+2 连+3
    确认 0xF5 用户 ID(高 8 位) 用户 ID(低 8 位) 许可(1/2/3) 特征值 核磁共振 0xF5

    笔记: 特征值 (Len -3) 的长度为 193 字节。

  20. 下载特征值并作为用户ID保存到DSP(CMD>8 Byte/ACK =8 Byte)
    CMD 格式:
    1)数据头:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x41 嗨(连) 低(Len) 0 0 核磁共振 0xF5

    2) 数据包

    字节 1 2 3 4 5—连+1 连+2 连+3
    确认 0xF5 用户 ID(高 8 位) 用户 ID(低 8 位) 许可(1/2/3) 特征值 核磁共振 0xF5

    笔记: 特征值 (Len -3) 的长度为 193 字节。
    确认格式:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x41 用户 ID(高 8 位) 用户 ID(低 8 位) 确认成功
    确认失败
    0 核磁共振 0xF5
  21. 查询添加的所有用户的信息(ID和权限)(CMD=8 Byte/ACK >8Byte)
    CMD 格式:
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x2B 0 0 0 0 核磁共振 0xF5

    确认格式:
    1)数据头:

    字节 1 2 3 4 5 6 7 8
    确认 0xF5 0x2B 嗨(连) 低(Len) 确认成功
    确认失败
    0 核磁共振 0xF5

    2)数据包

    字节 1 2 3 4—连+1 连+2 连+3
    确认 0xF5 用户 ID(高 8 位) 用户 ID(低 8 位) 用户信息(用户ID和权限) 核磁共振 0xF5

    笔记:
    数据包的数据长度(Len)为“3*User ID+2”
    用户信息格式:

    字节 4 5 6 7 8 9
    数据 用户 ID1(高 8 位) 用户 ID1(低 8 位) 用户 1 权限 (1/2/3) 用户 ID2(高 8 位) 用户 ID2(低 8 位) 用户 2 权限 (1/2/3)  

  22. 设置/查询指纹采集超时时间(CMD/ACK 均为 8 Byte)
    字节 1 2 3 4 5 6 7 8
    命令 0xF5 0x2E 0 Byte5=0:超时
    字节 5=1:0
    0:设置超时
    1:查询超时
    0 核磁共振 0xF5
    确认 0xF5 0x2E 0 暂停 确认成功
    确认失败
    0 核磁共振 0xF5

    笔记:
    指纹等待超时 (tout) 值的范围是 0-255。 如果值为0,如果没有指纹按下,指纹采集过程将继续进行; 如果该值不为0,则在tout * T0 时间内没有指纹按下,系统将因超时而存在。
    笔记: T0 是采集/处理图像所需的时间,通常为 0.2-0.3 s。

沟通过程

添加指纹

WAVESHARE STM32F205 UART 指纹传感器 - 添加指纹

删除用户

WAVESHARE STM32F205 UART 指纹传感器 - 删除用户

删除所有用户

WAVESHARE STM32F205 UART 指纹传感器 - 删除所有用户

获取图像并上传特征值

WAVESHARE STM32F205 UART 指纹传感器 - 获取图像并上传特征值

用户指南

如果要将指纹模块连接到PC,则需要购买一个UART到USB模块。 我们建议您使用 Waveshare FT232 USB UART 板(微型) 模块。
如果要将指纹模块连接到树莓派这样的开发板上,如果工作正常
你的板子的电平是3.3V,你可以直接把它连接到你板子的UART和GPIO引脚上。 如果是5V,请加电平转换模块/电路。

连接到电脑

硬件连接

你需要:

  • UART指纹传感器(C)*1
  • FT232 USB UART板*1
  • 微型 USB 数据线 *1

将指纹模块和 FT232 USB UART Board 连接到 PC

UART 指纹传感器 (C) FT232 USB UART 板
VCC VCC
地线 地线
RX TX
TX RX
恢复时间 NC
唤醒 NC

测试

  • 从 wiki 下载 UART 指纹传感器测试软件
  • 打开软件,选择正确的COM口。(本软件只支持COM1~COM8,如果您PC的COM口不在此范围,请修改)
  • 测试

WAVESHARE STM32F205 UART 指纹传感器 - 测试

测试界面提供了几个功能

  1. 查询次数
    选择 数数, 然后点击 发送。 用户数返回并显示在信息中 回复 界面
  2. 添加用户
    选择 添加用户, 检查 获得两次自动 ID+1, 输入 ID (P1P2) 和许可 (P3),然后点击 发送。 最后,触摸传感器获取指纹。
  3. 删除用户
    选择 删除用户, 输入 ID (P1P2) 和许可 (P3),然后单击发送。
  4. 删除所有用户
    选择 删除所有用户,然后单击发送
  5. 比较 1:1
    选择 1:1 比较, 输入 ID (P1P2) 和许可 (P3),然后点击 发送。
  6. 比较 1:N
    选择 1:N比较,然后点击 发送。


更多功能请自行测试。 (本模块部分功能不可用)

连接到 XNUCLEO-F103RB

我们提供了 XNCULEO-F103RB 的演示代码,您可以从 wiki 下载

UART 指纹传感器 (C) NUCLEO-F103RB
VCC 3.3伏
地线 地线
RX PA9
TX PA10
恢复时间 PB5
唤醒 PB3

笔记: 关于引脚,请参考 界面 多于

  1. 将UART指纹传感器(C)连接到XNUCLEO_F103RB,并连接编程器
  2. 用keil5软件打开项目(demo代码)
  3. 检查编程器和设备是否正常识别
  4. 编译下载
  5. 通过USB线将XNUCELO-F103RB连接到PC,打开串口辅助软件,设置COM口:115200、8N1

根据返回的信息键入命令测试模块。

连接到树莓派

我们提供了一个 python example 用于 Raspberry Pi,您可以从 wiki 下载它
在你使用前ample,你应该先启用树莓派的串口:
在终端上输入命令:Sudo raspi-config
选择:接口选项 -> 串行 -> 否 -> 是
然后重启。

UART 指纹传感器 (C) 树莓派
VCC 3.3伏
地线 地线
RX 14 (BCM) – PIN 8 (板)
TX 15 (BCM) – PIN 10 (板)
恢复时间 24 (BCM) – PIN 18 (板)
唤醒 23 (BCM) – PIN 16 (板)
  1. 将指纹模块连接到树莓派
  2. 下载演示代码到树莓派:wget https://www.waveshare.com/w/upload/9/9d/UART-Fignerprint-RaspberryPi.tar.gz
  3. 解压缩
    tar zxvf UART-指纹-RaspberryPi.tar.gz
  4. 运行前ample
    cd UART-指纹-RaspberryPi/sudo python main.py
  5. 以下指南测试

www.waveshare.com

文件/资源

WAVESHARE STM32F205 UART 指纹传感器 [pdf] 用户手册
STM32F205, UART指纹传感器, STM32F205 UART指纹传感器, 指纹传感器

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *