项目简介
本项目是基于Arduino的TOTP(基于时间的一次性密码)门禁锁系统。采用Arduino Pro Mini 5V 16MHz微控制器,搭配4x4薄膜键盘、继电器、蜂鸣器和按钮等硬件。系统支持通过软件去抖和硬件低通滤波器处理电磁噪声,避免误触发。
项目的主要特性和功能
- 支持通过4x4薄膜键盘输入基于时间的密码。
- 利用DS3231实时时钟模块实现时间同步。
- 通过软件去抖和硬件低通滤波器处理电磁噪声,防止系统误触发。
- 设有内部开门按钮,可从内部开门。
- 蜂鸣器可提示密码输入的正确或错误。
- 具备维护功能,可检查当前UNIX时间戳和禁用特定门禁密钥。
安装使用步骤
硬件连接
依次连接DS3231实时时钟模块、4x4薄膜键盘、蜂鸣器、继电器、按钮,若有需要还需连接电压转换模块。
配置DS3231
使用以下命令生成随机密钥并配置DS3231:
bash
make generate-example-secrets
make uno-configure-ds3231 DEVICE_SERIAL=/dev/ttyACM0
上传代码
使用Arduino IDE将hsldz_totp_lock.ino
文件上传到Arduino板。
测试系统
分别测试键盘输入和门禁控制、蜂鸣器提示功能以及DS3231实时时钟同步。
运行和维护
使用以下命令生成QR码用于分发密钥:
bash
make decrypt
make gen-qr-code KEY_NUM=3
同时,需定期检查和维护系统硬件和固件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】