项目简介
本项目是一个用于监控燃油罐燃油水平的Web应用程序。它通过Arduino传感器从串口接收数据,能实时采集燃油数据并存储在SQLite数据库。用户可通过Web界面查看燃油水平、按日期范围筛选数据、查看统计数据,还能实时更新数据。此外,系统支持通过LoRa模块进行数据传输,适用于远程监控场景。
项目的主要特性和功能
- 数据采集:借助Arduino传感器从串口读取燃油水平数据。
- 数据存储:把采集到的包含时间戳、燃油水平和罐ID的数据存于SQLite数据库。
- Web界面:提供友好的仪表盘,支持燃油水平可视化、按罐和日期范围筛选数据、查看统计数据。
- 实时更新:利用SocketIO实现Web界面的实时数据更新。
- 低功耗模式:服务器和发射器可进入低功耗模式以节省能源。
- 数据缓冲:服务器无法接收数据时,发射器会缓冲数据,待服务器恢复后重新发送。
安装使用步骤
安装依赖
运行以下命令安装所需的Python库:
bash
pip install -r requirements.txt
配置串口
在serial_port_reader.py
文件中,修改以下行以匹配Arduino的串口和波特率:
python
arduino = serial.Serial('/dev/ttyACM0', 9600)
连接Arduino
将Arduino传感器连接到计算机的串口。
启动服务器
运行以下命令启动Flask服务器:
bash
python3 app.py
访问仪表盘
在浏览器中打开http://localhost:5000/
,访问燃油监控仪表盘。
发送数据(可选)
- 将
lora_codes
文件夹中的Arduino代码上传到发射器和接收器设备。 - 运行以下命令开始收集和发送数据:
bash python3 serial_port_reader.py
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】