AS608光学指纹模块

您所在的位置:网站首页 指纹支付模块393是什么 AS608光学指纹模块

AS608光学指纹模块

2024-07-13 12:14| 来源: 网络整理| 查看: 265

目录指引 一.指纹概念 1.指纹的由来2.指纹的唯一性 二、指纹检测 1.获取方式2.指纹识别 优点:缺点: 三、光学指纹模块 1.ATK-AS608 光学指纹模块2.技术指标3.硬件接口4.系统资源 缓冲区与指纹库用户记事本随机数产生器 5.软件开发指南 模块地址(大小:4bytes,属性:读写)模块口令(大小:4bytes,属性:写)数据包大小设置(大小:1bytes,属性:读写)波特率系数 N 设置(大小:1bytes,属性:读写)安全等级 level 设置(大小:1bytes,属性:读写) 四、指纹管理系统(程序) 1.实验说明2.实验器材3.器件接线4.实验源码 demo1-按键管理demo2-串口指令控制 5.实验效果 demo1demo2 五、结语

一.指纹概念 1.指纹的由来

指纹是人类手指末端指腹上由凹凸的皮肤所形成的纹路,在胎儿第三四个月便开始产生,到六个月左右就形成了。当婴儿长大成人,指纹也只不过放大增粗,纹样终生不会发生改变。指纹能使手在接触物件时增加摩擦力,从而更容易发力及抓紧物件,它是人类进化过程中自然形成的。 伸出手,仔细观察,可以发现小小的指纹也分三种类型:有同心圆或螺旋纹线,看上去像水中漩涡的,叫斗形纹(whorl);有的纹线是一边开口的,即像簸箕似的,叫箕形纹(loop);有的纹形像弓一样,叫弓形纹(arch)。除总体形状不同之外,各人指纹纹形的多少、长短也不同。 在这里插入图片描述

2.指纹的唯一性

由于每个人的遗传基因均不同,故指纹也不同。然而,指纹的形成虽然主要受到遗传影响,但是也有环境因素(5%),当胎儿在母体内发育三至四个月时,指纹就已经形成,儿童在成长期间指纹会略有改变,直到青春期14岁左右时才会定型。在皮肤发育过程中,虽表皮、真皮,以及基质层都在共同成长,但柔软的皮下组织长得比相对坚硬的表皮快。 有人说骨髓移植后指纹会改变,那是不对的。除非是植皮或者深达基底层的损伤,否则指纹是不会变的。 并且它们的复杂度足以提供用于鉴别的足够特征。指纹除了具有唯一性外,还具有遗传性和不变性。尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是不一样的。由于指纹是每个人独有的标记,近几百年来,罪犯在犯案现场留下的指纹,均成为警方追捕疑犯的重要线索。现今鉴别指纹方法已经电脑化,使鉴别程序更快更准。

二、指纹检测 1.获取方式

光学识别技术 借助光学技术采集指纹是历史最久远、使用最广泛的技术。将手指放在光学镜片上,手指在内置光源照射下,用棱镜将其投射在电荷耦合器件(CCD) 上,进而形成脊线(指纹图像中具有一定宽度和走向的纹线)呈黑色、谷线(纹线之间的凹陷部分)呈白色的数字化的、可被指纹设备算法处理的多灰度指纹图像。 温差感应式识别技术 它的优点是可在0.1s内获取指纹图像,而且传感器体积和面积最小,即通常所说的滑动式指纹识别仪就是采用该技术。缺点是:受制于温度局限,时间一长,手指和芯片就处于相同的温度了。 半导体硅感技术(电容式技术) 半导体电容传感器根据指纹的嵴和峪与半导体电容感应颗粒形成的电容值大小不同,来判断什么位置是嵴什么位置是峪。其工作过程是通过对每个像素点上的电容感应颗粒预先充电到某一参考电压。当手指接触到半导体电容指纹表现上时,因为嵴是凸起、峪是凹下,根据电容值与距离的关系,会在嵴和峪的地方形成不同的电容值。然后利用放电电流进行放电。因为嵴和峪对应的电容值不同,所以其放电的速度也不同。嵴下的像素(电容量高)放电较慢,而处于峪下的像素(电容量低)放电较快。根据放电率的不同,可以探测到嵴和峪的位置,从而形成指纹图像数据。 超声波技术 超声波技术所使用的超声波频率为1×104Hz-1×109Hz,能量被控制在对人体无损的程度(与医学诊断的强度相同)。超声波技术产品能够达到最好的精度,它对手指和平面的清洁程度要求较低,但其采集时间会明显地长于前述两类产品,而且价格昂贵,也并不能做到活体指纹识别,故使用稀少。

2.指纹识别

指纹识别技术作为一个新的IT技术领域,自身具有许多新的概念。了解指纹识别技术的概念有助于准确的理解指纹识别技术。 识别系统 指纹识别系统经过人工识别到机器识别的发展之后,进入自动识别阶段,称为自动指纹识别系统(AFIS)。一个典型的自动指纹识别系统,包括与人交互的前端子系统――自动指纹采集设备、完成指纹图像处理和特征值提取的后台子系统,以及用于指纹库存储的数据库子系统。当后台子系统用于指纹注册过程时,可以称为指纹注册子系统。当它用于指纹辨识过程时,称为指纹辨识子系统。 注册匹配 指纹注册又叫指纹登记。这是从指纹图像中提取指纹特征值,形成指纹特征值模板,并与人的身份信息结合起来,存储在指纹识别系统中的过程。它相当于为指纹报户口。所以指纹注册的时候,需要保证指纹与身份信息之间的正确对应。尤其对于政府、社团、公司等单位进行指纹注册时,防止冒名顶替,避免指纹与身份信息关联错误,这是非常重要的。因此在这类指纹应用中,指纹登记的过程,需要现场督导人员参与。甚至把督导人的指纹采集到系统中,作为注册者指纹特征值模板的组成部分,以示职责之重要,并为后续责任审计提供依据。 识别验证 识别与验证并不是指纹识别算法领域的问题,而是指纹识别系统的问题。指纹识别是指在1:N模式下匹配指纹特征值。它是从多个指纹模板中识别出一个特定指纹的过程。其结果是,“有”或者“没有”。有时会给出“是谁”的信息。 指纹验证是指在1:1模式下匹配指纹特征值。它是拿待比对的指纹特征模板与事先存在的另一个指纹特征模板进行一次匹配的过程。其结果是“是不是”。在一个系统中既可以采用1:1模式也可以采用1:N模式,这是取决于应用系统的特点和要求。有时候还可以业务模式的需要,把1:N模式转化为1:1模式以提高系统安全性和比对速度。

优点:

1.指纹是人体不一样的的特征,并且它们的复杂度足以提供用于鉴别的足够特征; 2.如果要增加可靠性,只需登记更多的指纹、鉴别更多的手指,最多可以多达十个,而每一个指纹都是不一样的; 3.扫描指纹的速度很快,使用非常方便; 4.读取指纹时,用户必需将手指与指纹采集头相互接触,与指纹采集头直接; 5.接触是读取人体生物特征最可靠的方法; 6.指纹采集头可以更加小型化,并且价格会更加的低廉;

缺点:

1.某些人或某些群体的指纹特征少,难成像; 2.过去因为在犯罪记录中使用指纹,使得某些人害怕“将指纹记录在案”。 3.实际上指纹鉴别技术都可以不存储任何含有指纹图像的数据,而只是存储从指纹中得到的加密的指纹特征数据; 4.每一次使用指纹时都会在指纹采集头上留下用户的指纹印痕,而这些指纹痕迹存在被用来复制指纹的可能性。

三、光学指纹模块 1.ATK-AS608 光学指纹模块

ATK-AS608 指纹识别模块是 ALIENTEK 推出的一款高性能的光学指纹识别模块。ATK-AS608 模块采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip)的 AS608 指纹识别芯片。芯片内置 DSP 运算单元,集成了指纹识别算法,能高效快速采集图像并识别指纹特征。模块配备了串口、USB 通讯接口,用户无需研究复杂的图像处理及指纹识别算法,只需通过简单的串口、USB 按照通讯协议便可控制模块。本模块可应用于各种考勤机、保险箱柜、指纹门禁系统、指纹锁等场合。 在这里插入图片描述

2.技术指标

在这里插入图片描述

3.硬件接口

模块接口采用 8 芯 1.25 mm 间距单排插座,PCB 如图 2.1.1 所示。模块内部内置了手指 探测电路,用户可读取状态引脚(WAK)判断有无手指按下,模块接线口如下图左侧所示。 在这里插入图片描述 接着是模块引脚描述。 在这里插入图片描述 还有模块的实物图和标配的防呆头排线,7脚8脚的两根线有的商家会预留,有的商家给的排线上抽掉了这两根线,大概模块主要还是以串口数据收发为主。 在这里插入图片描述

4.系统资源 缓冲区与指纹库

系统内设有一个 72K 字节的图像缓冲区与二个 512bytes 大小的特征文件缓冲区,名字 分别称为:ImageBuffer,CharBuffer1 和 CharBuffer2。用户可以通过指令读写任意一个缓冲区。 CharBuffer1 或 CharBuffer2 既可以用于存放普通特征文件也可以用于存放模板特征文件。通过 UART 口上传或下载图像时为了加快速度,只用到像素字节的高 4 位,即将两个像素合 成一个字节传送。通过 USB 口则是整 8 位像素。 指纹库容量根据挂接的 FLASH 容量不同而改变,系统会自动判别。指纹模板按照序号 存放,序号定义为:0—(N-1)( N 为指纹库容量)。用户只能根据序号访问指纹库内容。

用户记事本

系统在 FLASH 中开辟了一个 512 字节的存储区域作为用户记事本,该记事本逻辑上被 分成 16 页,每页 32 字节。上位机可以通过 PS_WriteNotepad 指令和 PS_ReadNotepad 指令 访问任意一页。注意写记事本某一页的时候,该页 32 字节的内容被整体写入,原来的内容 被覆盖。

随机数产生器

系统内部集成了硬件 32 位随机数生成器(不需要随机数种子),用户可以通过指令让模 块产生一个随机数并上传给上位机。

5.软件开发指南 模块地址(大小:4bytes,属性:读写)

模块的默认地址为0xFFFFFFFF,可通过指令修改,数据包的地址域必须与该地址相配, 命令包/数据包才被系统接收。注:与上位机通讯必须是默认地址 0xFFFFFFFF!

模块口令(大小:4bytes,属性:写)

系统默认口令为 0,可通过指令修改。若默认口令未被修改,则系统不要求验证口令, 上位机和 MCU 与芯片通讯;若口令被修改,则上位机与芯片通讯的第一个指令必须是验证 口令,只有口令验证通过后,芯片才接收其它指令。注:不建议修改口令!

数据包大小设置(大小:1bytes,属性:读写)

发送数据包和接收数据包的长度根据该值设定。

波特率系数 N 设置(大小:1bytes,属性:读写)

USART 波特率=N×9600,N=1~12。

安全等级 level 设置(大小:1bytes,属性:读写)

系统根据安全等级设定比对阀值,level=1~5。安全等级为 1 时认假率最高,拒认率最低。 安全等级为 5 时认假率最低,拒认率最高。 注:以上设置均可通过指令修改,详细指令配置请参考 ATK-AS608 指纹识别模块资料文件 夹中的 AS60x 指纹识别 SOC 通讯手册 v1.0。 通讯协议、模块上位机测试等资料较繁杂就不写上了,有需要的留意末尾的资源下载分享

四、指纹管理系统(程序) 1.实验说明

实现一套指纹管理系统,对用户指纹的添加录入、对模块指纹库中的指纹进行擦除、对用户指纹 进行特征验证,使用到5个功能按键和OLED显示屏来进行系统管理。

2.实验器材 Arduino Mega2560 *1AS608光学指纹模块 *10.96寸 12864 OLED显示屏(IIC) *1轻触按键 *5面包板 *1杜邦线若干

不用多说还有usb线和指纹模块的通讯排线了,板子博主用的2560,用uno也可。

3.器件接线

直接上图,面包板的按键一端共地,另一端接入数字引脚2、3、4、5、6;OLED模块5V供电,另外就是SDA接2560的SDA,SCL接SCL,不是问题 在这里插入图片描述 指纹模块接线单独发一张,串口接2560的TX1,RX1,收对发,发对收 在这里插入图片描述 指纹模块需要3.3V供电,接错了可能烧坏模块,这里要注意下,按键为了省接线用了面包板,比较推荐使用面包板,1是好分辨按键序号,2还是减少接线烦恼跟部分人的强迫症哈哈哈。

4.实验源码 demo1-按键管理

在这之前你需要用IDE的库管理器安装u8g2 和Adafruit Fingerprint 两个库,另外还有OLED显示中文需要的字库文件,这个按个人需求自己搞了。

#include "font.h" #include #include #define x_coordinate 40 #define KEY1 2 #define KEY2 3 #define KEY3 4 #define KEY4 5 #define KEY5 6 #define mySerial Serial1 Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); U8G2_SH1106_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 2, /* data=*/ 11, /* reset=*/ U8X8_PIN_NONE); u8 key_num=0; void key_init() { 、、、 } u8 key_scan(u8 mode) { 、、、 } void Add_FR() { u8 i,ensure,processnum=0; u8 ID_NUM=0; char str2[10]; while(1) { switch (processnum) { case 0: i++; u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(32,24,64,16,State5); /* 字串 请按手指 64x16 */ u8g2.sendBuffer(); ensure=finger.getImage(); if(ensure==FINGERPRINT_OK) { ensure=finger.image2Tz(1); //生成特征 if(ensure==FINGERPRINT_OK) { u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(32,24,64,16,State6); /* 字串 指纹正常 64x16 */ u8g2.sendBuffer(); i=0; processnum=1; //跳到第二步 }else {}; }else {}; break; case 1: i++; u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(32,24,64,16,State7); /* 字串 再按一次 64x16 */ u8g2.sendBuffer(); ensure=finger.getImage(); if(ensure==FINGERPRINT_OK) { ensure=finger.image2Tz(2); //生成特征 if(ensure==FINGERPRINT_OK) { u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(32,24,64,16,State6); /* 字串 指纹正常 64x16 */ u8g2.sendBuffer(); i=0; processnum=2; //跳到第三步 }else {}; }else {}; break; case 2: u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(32,24,64,16,State8); /* 字串 创建模板 64x16 */ u8g2.sendBuffer(); ensure=finger.createModel(); if(ensure==FINGERPRINT_OK) { u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(16,24,96,16,State9); /* 字串 模板创建成功 96x16 */ u8g2.sendBuffer(); processnum=3; //跳到第四步 } else { u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(16,24,96,16,State10); //显示字模汉字 u8g2.sendBuffer(); i=0; processnum=0; //跳回第一步 } delay(500); break; case 3: u8g2.clearBuffer(); // 清屏 u8g2.drawXBMP(1,0,128,48,State11); //显示字模汉字 u8g2.setFont(u8g2_font_gb16st_t_2); // 选择字体 u8g2.drawStr(40,62,"ID=00"); u8g2.sendBuffer(); while(key_num!=3) { key_num=key_scan(0); if(key_num==2) { key_num=0; if(ID_NUM>0) ID_NUM--; if(ID_NUM


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3