项目简介
本项目是基于IoT技术的智能门禁系统,集成了移动端、服务器端、网关设备端(含Raspberry Pi和ESP32模块)以及云存储(Firebase)。旨在实现远程控制和监控门禁系统,用户可通过移动设备控制门的状态,实时查看相关日志和图片。系统采用MQTT协议通信,WebSocket进行实时消息传输,Firebase作为云存储和数据库服务。
项目的主要特性和功能
- 移动端应用控制:可通过移动应用控制门的打开与关闭。
- 实时监控:能显示门的实时状态。
- 图像上传与存储:利用感应帽捕捉门开启瞬间的图片并上传至Firebase存储。
- 消息通知:借助MQTT通知门的状态变化。
- 日志记录:将门的开关状态和时间记录到Firebase数据库。
安装使用步骤
前提条件
- ESP32开发板(含继电器模块)。
- Raspberry Pi(含感应帽)。
- 移动设备(Android或iOS)。
- Firebase账号及存储桶设置。
- 环境配置:Python环境,相关依赖库安装。
步骤
- 复制项目代码到本地:
sh
- 配置Firebase:
- 打开Firebase控制台并创建新项目。
- 创建Realtime Database和Storage。
- 在Service Accounts标签页生成新的私钥。
- 配置Raspberry Pi:
- 将生成的私钥内容复制到
RaspberryPi/serviceAccountKey.json
。 - 填写
.env
文件。 - 安装所需包:
sh cd RaspberryPi pip install -r requirements.txt
- 启动Raspberry Pi:
sh python client.py
- 配置WebSocket服务器:
- 若使用云主机,启动服务器:
sh python server.py
- 若不使用云主机,可在Raspberry Pi上使用tmux/screen启动。
- 配置ESP32:
- 从ESP32文件夹中刷写ESP32。
- 填写
AppSecrets.h
中的详细信息。 - 连接到门禁系统。
- 安装移动应用:
- 安装
gate_app.apk
到Android手机(或为iPhone构建)。 - 使用移动应用:
- 打开应用,按下“Open Gate”按钮以控制门的状态。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】