项目简介
本项目是基于Arduino的开源水流监测系统,致力于开发水流使用传感器,增强人们对水资源浪费问题的认识。系统硬件涵盖ESP8266 Wifi微控制器单元、水流传感器、3D打印外壳等,软件基于Arduino开发,能把收集的水流数据上传到后端服务器的Postgres数据库,用户可通过Web前端界面查看用水情况。
项目的主要特性和功能
主要特性
- 以ESP8266 Wifi微控制器单元为核心处理设备。
- 配备水流传感器,能实时监测水流状况。
- 定制3D打印外壳,结构紧凑稳固。
- 有Web前端界面,可实时展示和追踪用水数据。
主要功能
- 实时收集并分析水流数据。
- 通过HTTP请求将数据上传至后端服务器,存储到Postgres数据库,实现远程监控。
- 分析用户用水习惯和趋势,提供节水建议。
- 提供可视化数据展示界面,便于用户直观查看用水情况。
- 支持传感器校准,实现更精确的流量测量。
- 软件和硬件扩展性良好,可与其他智能家居系统兼容。
- 集成定时功能,能在特定时间或流量达到设定值时触发警报或自动关闭水龙头。
安装使用步骤
第一步:环境准备
- 从Arduino官方网站下载并安装Arduino IDE。
- 准备好所需硬件:ESP8266 Wifi MCU、水流传感器、3D打印外壳、硅胶密封剂。
第二步:复制项目代码
- 点击项目仓库的绿色“Code”按钮,复制链接。
- 执行命令
git clone <粘贴复制链接>
。
第三步:配置设备信息
- 打开复制项目中的
ESP8266_sensor_code/main/main.ino
文件,在第13和14行设置自己路由器的Wifi名称和密码。 - 打开
ESP8266_sensor_code/main/http_functions.ino
文件,将变量device_ID
改为唯一的整数。可通过此链接,点击左侧面板的群组图标,再点击“Select”查看已使用的编号。
第四步:设置Arduino IDE
- 选择开发板为“Node MCU 1.0”(路径:Tools > Board > 滚动找到Node MCU 1.0)。若该选项不存在,按此教程安装开发板管理器。
- 确保安装以下库(路径:Sketch > Include Library > Manage Libraries):
- ArduinoJson by Benoit Blanchon Version 5.13.2
- NTPClient by Fabrice Weinberg 3.2.0(可参考帮助文档)
第五步:上传代码
将设备连接到电脑,确保波特率(使用115200)和端口设置正确,然后上传代码。
第六步:校准传感器
- 成功上传代码后,打开“Serial Monitor”,用量杯量取约500 ml水。
- 将水通过水流传感器(或反向操作,将水倒入传感器直至量杯达到约500 ml)。
- 记录串口监视器上的测量值。
- 在
sensor_functions
(ESP8266_sensor_code/main/sensor_functions.ino
)中找到calibrationFactor
并记录其值。 - 计算新的校准因子:
NewCalibrationFactor = (500 / 测量值) * 旧校准因子
第七步:使用设备
将设备安装到水槽末端,打开水龙头让水通过水流传感器,在Arduino控制台可看到记录的水量。访问网站,点击左侧面板的群组页面,选择自己的设备ID,即可查看数据。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】