项目简介
本项目借助ESP8266和Arduino实现HomeMatic系统中的水表读数功能。通过光学传感器捕捉水表的脉冲信号,再将数据传输到HomeMatic系统,达成水表读数的自动化与远程监控。
项目的主要特性和功能
- 光学脉冲捕捉:利用高亮度LED和光敏电阻捕捉水表脉冲信号,避免传统TCRT5000传感器的“Flapping”问题。
- 数据存储与恢复:使用Wemos D1 Mini的Flash存储当前读数,断电后数据不丢失。
- OLED显示:通过Wemos D1 OLED Shield实时显示水表读数。
- 远程传输:通过WiFi将读数传输到HomeMatic系统,实现远程监控。
- OTA更新:支持通过空中更新方式更新ESP8266的固件,便于维护和升级。
安装使用步骤
硬件准备
- 所需组件:Wemos D1 Mini、Wemos D1 OLED Shield、Arduino Pro Mini、FTDI Adapter、5V稳压电源、1个按钮、1个高亮度绿色LED、1个光敏电阻SFH 309 - 5、1个270Ω电阻、1个100kΩ电阻。
- 电路连接:按照提供的电路图(Schaltplan.png)连接,将OLED显示屏与Wemos D1 Mini堆叠并焊接。
软件准备
- 下载代码:下载并解压项目源码,使用Arduino IDE打开
Wasserzaehler_ESP8266.ino
文件。 - 配置参数:按需调整
Wasserzaehler_ATM328.ino
文件中的参数,如调试模式、传输延迟、脉冲延迟等。 - 编译与上传:将代码编译并上传到Wemos D1 Mini,使用FTDI Adapter对Arduino Pro Mini编程。
系统配置
- HomeMatic配置:在HomeMatic的WebUI中创建类型为“Zahl”的系统变量,在WifiManager中输入该变量名称。
- OTA更新:使用
espota.py
脚本进行OTA更新。确保ESP8266已连网且可接收更新,运行python espota.py [参数]
命令更新。
启动与使用
- 启动配置模式:按住按钮启动Wemos D1 Mini进入配置模式,在手机或笔记本上连接名为“ESP - WZ - xx:xx:xx:xx:xx:xx”的WiFi网络,打开浏览器访问
http://192.168.4.1
进入配置页面,输入WiFi SSID、密码、CCU2的IP地址和系统变量名称完成配置。 - 实时监控:配置完成后,Wemos D1 Mini自动连WiFi并将水表读数传输到HomeMatic系统,可通过OLED显示屏实时查看读数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】