树莓派:基于物联网的指纹打卡器

本文介绍了使用树莓派、指纹模块和物联网技术制作一个指纹打卡系统的全过程。通过Python编程,实现了与数据库交互、TCP服务器与客户端通信,并详细讲述了配置和调试过程,包括波特率设置的注意事项。最终,该系统能够通过电脑和手机查看打卡日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我就分享一波自己的成果。

心心念念的想做一个物联网的东西出来,终于在上个月搞定了,虽说肯定是有些漏洞(目前我是没有找出来的),但是效果看起来还不错。学了这么久的Python、Qt、liunx命令总算派上用场了。

材料:
树莓派一台
指纹模块(AS608光学指纹识别模块)
OLED液晶屏
usb转TTL
杜邦线

先说明一下

如果想要附件可以点击下面 链接 去下载:

树莓派上的源码下载https://download.youkuaiyun.com/download/happy_grass/11253753
电脑上的上位机源码下载https://download.youkuaiyun.com/download/happy_grass/11253807
oled上的字体https://download.youkuaiyun.com/download/happy_grass/11253815

先上个最终成果的图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
看起来感觉还可以,基本完成了电脑和手机都可以获得日志的效果

大家最期待的过程了

现在我来说是我的想法和思路

刚开始看到隔壁实验室的指纹打卡机时好像是那种用usb读取数据的(好像是节约成本吧),我就想能这也太不智能了吧,就想着能不能让它智能些,比如通过电脑看到它的日志啊,或者用手机看到它的日志啊什么的(后来我才知道淘宝上TM已经出现这种完善的成品指纹考勤机了)。光想没用啊,还是要靠实践来检验真理。于是我就想到了手上的树莓派,想想就有些兴奋,可以向网上那些大佬一样DIY一个东西出来了,由于我的知识有限,无法自己搞个指纹打卡模块,就到网上买了一个,先开始买的正点原子的指纹模块,原子哥不愧是我原子哥,和他讨论问题时真是尽心尽力。文档很好,不过他那个和模块通信的程序不是很全,就几个,可以能是直接储存在模块里的缘故,可是我不想储存在模块里啊,我学了Python加上Mysql,我想直接存在数据库里,这样更加安全可靠。于是我就开始解决通信问题,将他发回来的数据解码,捣鼓了2天才完成,有点心酸。

先把配置文件分享了,下面代码会用到

用户root 给电脑连接的

[root]
pwd = 123

数据库

[db]
db_port = 3306
db_user = root
db_host = 127.0.0.1
db_pwd = 123456
db_database = finger
db_table = test1

smtpServer 发送请求服务

popServer 接收请求服务

smtpSrcAddr 服务端的地址

smtpSrcAddrPwd 服务端的密码

smtpDstAddr 发送的目的邮箱

smtpPort 端口号 qq端口号为 465

[email]
smtpServer = smtp.qq.com
popServer = pop.qq.com
smtpSrcAddr = 发送请求的你的邮箱
smtpSrcAddrPwd = 允许的密码
smtpDstAddr = 目的邮箱
smtpPort = 465

TCP服务

[TCP]
ip = 192.168.137.249
port = 9090

串口服务

[serial]
port = /dev/ttyAMA0 (先不用这个串口,这个是我配置过的,你可以先用usb转ttl连接树莓派的usb口和指纹模块)
baudrate = 57600
timeout = 10

乐联网 网关信息

[lewei]
ip = tcp.lewei50.com
port = 9960
userKey = 你自己的userKey
gatewayNode = 02

1.首先要在电脑上调通指纹发送数据的所有命令

分享一波代码

要用电脑和指纹模块通信首先要装

python要serial模块,在cmd命令行中用命令 pip install serial 就可以下载serial 了

‘’’

import serial
import serial.tools.list_ports
import configparser
import os, sys
from core import dealFile
PATH=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(PATH)

SureCore = {
    0x00: True,  # 表示指令执行完毕或OK;
    0x01: 101,  # 表示数据包接收错误;
    0x02: 102,  # 表示传感器上没有手指;
    0x03: 103,  # 表示录入指纹图像失败;
    0x06: 202,  # 表示指纹图像太乱而生不成特征;
    0x07: 203,  # 表示指纹图像正常,但特征点太少而生不成特征;
    0x15: 204,  # 表示图像缓冲区内没有有效原始图而生不成图像;
    0x08: 302,  # 表示指纹不匹配;
    0x09: 402,  # 表示没搜索到;此时页码与得分为 0
    0x0a: 502,  # 表示合并失败(两枚指纹不属于同一手指);
    0x0d: 802,  # 表示指令执行失败;
    0x0f: 1002,  # 表示不能发送后续数据包;
    0x1e: 1602,   # 表示
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值