项目简介
本项目是基于NodeMCU的WiFi/以太网水表读数系统,可远程读取水表数据并通过MQTT协议传输。与传统脉冲计数的水表读取方式不同,它能精确捕获水表的索引数据。支持无线或有线(以太网)连接、MQTT协议的远程索引更新,还可与智能家居系统(如Domoticz或Home Assistant)集成,同时具备OTA(空中编程)支持。项目使用了W5500以太网模块和LJ18A3-8-ZM18电感式传感器等硬件。
项目的主要特性和功能
- 支持通过以太网或WiFi连接家庭网络。
- 利用MQTT协议将水表数据发送至服务器。
- 精确捕获并发送水表索引数据,而非仅脉冲计数。
- 可通过MQTT协议远程更新水表的索引设置。
- 支持智能家居系统(如Domoticz或Home Assistant)的自动发现功能。
- 提供OTA空中编程支持,便于固件更新。
安装使用步骤
硬件准备
- NodeMCU V3开发板:运行水表读数器核心代码。
- W5500以太网模块及盾板:用于以太网连接。
- LJ18A3-8-ZM18电感式传感器:检测水表读数。
- micro USB POE分离器(可选):若需POE供电。
- 3D打印的盒子和密封件(可选):保护设备。
软件部署步骤
- 安装Arduino IDE。
- 安装依赖库:
- ArduinoJson(至少版本7.0.4)
- PubSubClient(至少版本2.8)
- 在Arduino IDE中选择NodeMCU 0.9开发板。
- 根据需求修改代码参数:
- 网络连接设置:选以太网或WiFi连接。
- WiFi设置:设置WiFi的SSID和密码(使用WiFi连接时)。
- 以太网设置:设置W5500的CSPIN和MAC地址。
- MQTT设置:设置MQTT服务器的IP地址、端口、用户名、密码、自动发现主题和发布主题。
- 传感器设置:设置传感器编号和设备名称,确保多设备使用时唯一。
- 将修改后的代码上传到NodeMCU开发板。
- 测试与调试,确保设备能正确连网并将数据发送到MQTT服务器。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】