dxFingerMz 指纹识别模块文档
目录
概述
dxFingerMz 是一个用于与 MZ 指纹识别模块进行通信的 JavaScript 接口库。该模块通过 UART 串口与指纹识别硬件进行通信,支持指纹图像的采集、特征提取、模板生成、指纹匹配、存储管理等完整功能。
通信方式
- 接口类型: UART 串口通信
- 默认波特率: 57600-8-N-2
- 默认设备路径:
/dev/ttySLB0 - 默认超时时间: 500ms
功能特性
核心功能
- 图像捕获: 支持验证和注册两种模式的指纹图像采集
- 特征提取: 从指纹图像生成特征文件
- 指纹匹配:
- 一对一匹配 (1:1)
- 一对多搜索 (1:N)
- 指纹注册: 支持手动注册和自动注册两种方式
- 存储管理: 完整的模板存储、加载、删除、清空功能
- 系统配置: 读取系统参数、配置模块参数
高级功能
- 自动注册: 一键完成指纹采集、特征生成、模板合并、存储的完整流程
- 自动识别: 自动完成图像采集、特征提取、库内搜索的完整流程
- 模板传输: 支持模板的上传和下载,便于备份和迁移
- 索引管理: 支持读取索引表,快速查询已注册的模板
快速开始
导入模块
import dxFingerMz from './dxFingerMz.js';
初始化
dxFingerMz.init({
id: 'fingerUart', // 连接ID
path: '/dev/ttySLB0', // UART设备路径
baudrate: '57600-8-N-2', // 波特率配置
timeout: 500, // 超时时间(ms)
total: 5000, // 指纹库总容量
type: '3' // UART类型
});
基本使用示例
// 1. 获取指纹图像
const result = dxFingerMz.getImage();
if (result === 0) {
console.log('指纹图像采集成功');
}
// 2. 生成特征文件
const genResult = dxFingerMz.genChar(1);
if (genResult === 0) {
console.log('特征文件生成成功');
}
// 3. 搜索指纹库
const searchResult = dxFingerMz.search(1, 0, 100);
if (searchResult && searchResult.code === 0) {
console.log(`找到匹配指纹,索引: ${searchResult.pageIndex}, 分数: ${searchResult.score}`);
}
API 接口文档
初始化
init(params)
初始化指纹识别模块,配置 UART 连接参数。
参数:
params{Object}- 初始化参数对象id{string}[可选] - 连接ID,默认:'fingerUart'path{string}[可选] - UART设备路径,默认:'/dev/ttySLB0'baudrate{string}[可选] - 波特率配置,默认:'57600-8-N-2'timeout{number}[可选] - 超时时间(毫秒),默认:500total{number}[可选] - 指纹库总容量,默认:5000type{string}[可选] - UART类型,默认:'3'
返回值:
- 无返回值
示例:
dxFingerMz.init({
id: 'fingerUart',
path: '/dev/ttySLB0',
baudrate: '57600-8-N-2'
});
图像捕获
getImage()
检测手指并采集指纹图像(用于验证模式)。将指纹图像存储在图像缓冲区中。
参数:
- 无
返回值:
{number}- 确认码0: 成功- 其他值: 失败(具体错误码参考返回码说明)
-1: 通信失败或超时
示例:
const result = dxFingerMz.getImage();
if (result === 0) {
console.log('指纹图像采集成功');
} else {
console.log('指纹图像采集失败,错误码:', result);
}
getEnrollImage()
检测手指并采集指纹图像(用于注册模式)。将指纹图像存储在图像缓冲区中。
参数:
- 无
返回值:
{number}- 确认码0: 成功- 其他值: 失败
-1: 通信失败或超时
示例:
const result = dxFingerMz.getEnrollImage();
if (result === 0) {
console.log('注册用指纹图像采集成功');
}
特征生成
genChar(bufferId)
从图像缓冲区中的指纹图像生成特征文件,并存储到特征缓冲区中。
参数:
bufferId{number}- 缓冲区ID,可选值:1或2
返回值:
{number}- 确认码0: 成功- 其他值: 失败
-1: 通信失败或超时
示例:
// 生成特征文件到缓冲区1
const result = dxFingerMz.genChar(1);
if (result === 0) {
console.log('特征文件生成成功');
}
指纹匹配
match()
精确匹配。比较缓冲区中的特征文件或模板。
参数:
- 无
返回值:
{Object|null}- 匹配结果对象,失败返回nullcode{number}- 确认码,0表示成功score{number}- 匹配分数(数值越大匹配度越高)
示例:
const result = dxFingerMz.match();
if (result && result.code === 0) {
console.log(`匹配成功,分数: ${result.score}`);
} else {
console.log('匹配失败');
}