Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 640|回复: 2

blinker-指纹打卡

[复制链接]
发表于 2022-10-1 15:46 | 显示全部楼层 |阅读模式
本帖最后由 Maniac_FC 于 2022-10-1 23:08 编辑

简介:使用wifiduino、指纹模块、点灯App实现一个远程打卡功能。打卡人员通过上位机给指纹模块录入指纹并编号,此过程需要USB转串口工具,如果不用上位机也可以,但需要自己在Aduino ide里编写生成指纹特征录入指纹图像合并指纹特征、存入指纹模板等函数,这些指令码可以在芯片手册中查询到,为了方便,我只编写了一个搜索指纹并发送打卡人员编号的功能,参考这一个功能函数然后更改指令码也能写出其他功能函数,有兴趣可以尝试。
硬件设备:wifiduino、bm2166圆形指纹模块、USB转串口工具


软件:Aduino ide1.8.19、blinker、指纹录入上位机、串口调试助手、esp8266库、Blinker库



指纹芯片手册:https://www.aliyundrive.com/s/VS6fmui84xU
上位机软件:]https://www.aliyundrive.com/s/fa15DiBVbfs
Arduino ide1.8.19:https://www.aliyundrive.com/s/4FHjvLmkJEU
esp8266库:https://www.aliyundrive.com/s/8CZKXzFELNe
Blinker库:https://github.com/blinker-iot/blinker-library
串口调试助手:https://www.aliyundrive.com/s/FwPeazUPjNZ
CH340驱动:https://www.aliyundrive.com/s/ZSD1JZXnTjP




代码:
#define BLINKER_WIFI
#define pin D10
#include <Blinker.h>
byte BYTE[17];
byte BYTE1[17]={0XEF,0X01,0XFF,0XFF,0XFF,0XFF,0X01,0X00,0X08,0X32,0X01,0XFF,0XFF,0X00,0X04,0X02,0X3E};
char auth[] = "********";
char ssid[] = "*********";
char pswd[] = "*******";
//新建组件对象BlinkerText Text1("TextKey1");
void setup()
{   
// 初始化串口   
Serial.begin(57600);   
pinMode(pin,INPUT);   
// 初始化blinker   
Blinker.begin(auth, ssid, pswd);
}
void loop()
{  
  //使用中断的方式烧录代码后会导致wifiduino后续下载不进去程序,总是显示端口占用,会折腾好久,所以用了if轮询  
  if(digitalRead(pin)==1)  
  {   
  delay(200);   
  Serial.write(BYTE1,17);   
  delay(1000);   
    //如果缓冲区接收到数据就储存到数组   
    if(Serial.available()>0)  
    {   
     for(int j=0;j<17;j++)   
     BYTE[j]=Serial.read();  
    }  
    //处理需要的编号数据并发送  
    if(BYTE[12]!=0XFF)   
    Text1.print(BYTE[12]);   
    else Text1.print("error");   
    }   
  Blinker.run();
}

Blinker定制界面:


硬件连接:





现象:上位机录入指纹以及编完号、并在Blinker配置好密钥和界面UI后、开始烧录程序,然后将D10引脚置为高电平,将手指放在指纹模块上,如果校验正确会蓝灯变绿灯并发送编号,若校验不正确则会蓝灯变红灯并发送“error”字符,因为功能很少当D10为低电平时没有程序可执行,即没有现象。



1664609361052.jpg
1664609361067.jpg
1664609361086.jpg
7W@41J6W7M_`5M~(6S632QD.png
JLJ9HVFA8~7ZB_FAH17GKG1.png
发表于 2022-10-5 22:19 | 显示全部楼层
远程与考勤的指纹机怎么连接列?
 楼主| 发表于 2022-10-5 22:26 来自手机 | 显示全部楼层
he20101010 发表于 2022-10-5 22:19
远程与考勤的指纹机怎么连接列?

不是有示意图吗,1、3接3.3v,4、5各连接RX0、TX0,6接gnd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2022-12-1 20:50 , Processed in 0.073093 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表