SMLReader 开源项目教程
项目介绍
SMLReader 是一个基于 ESP8266 的智能电表(SML)到 MQTT 网关的开源项目。该项目旨在读取现代智能电表的读数,并通过 MQTT 协议将其数据发布,以便在智能家居系统中使用。SMLReader 主要针对 EMH ED300L 电表开发和测试,但应该也适用于其他具有光学接口并通过 SML 协议通信的智能电表。
项目快速启动
环境准备
- 安装 PlatformIO:确保你已经安装了 PlatformIO IDE,它支持多种开发板和框架。
- 克隆项目仓库:
git clone https://github.com/mruettgers/SMLReader.git cd SMLReader
配置和编译
- 配置文件:编辑
platformio.ini
文件,确保选择了正确的开发板(例如d1_mini
)。 - 编译项目:
platformio run
上传固件
- 上传固件到开发板:
platformio run --target upload
配置 WiFi 和 MQTT
- 连接到 SMLReader 的 WiFi:设备启动后会创建一个名为
SMLReader
的 WiFi 网络。 - 访问配置页面:在浏览器中输入
http://192.168.4.1
,进入配置页面。 - 设置 WiFi 和 MQTT 服务器信息:输入你的 WiFi 网络信息和 MQTT 服务器地址。
启动和监控
- 启动设备:完成配置后,设备将连接到你的 WiFi 网络并开始发布数据到 MQTT 服务器。
- 监控数据:使用 MQTT 客户端订阅相关主题,例如:
mosquitto_sub -h <MQTT_SERVER> -t smartmeter/mains/#
应用案例和最佳实践
智能家居集成
SMLReader 可以与 Home Assistant、OpenHAB 等智能家居平台集成,实时监控家庭能源消耗。通过 MQTT 协议,这些平台可以订阅 SMLReader 发布的数据,并在用户界面中显示。
能源管理
企业可以使用 SMLReader 监控多个电表的读数,进行能源消耗分析和优化。通过收集和分析数据,可以制定更有效的能源管理策略。
典型生态项目
Home Assistant
Home Assistant 是一个开源的智能家居平台,支持 MQTT 协议。通过集成 SMLReader,用户可以在 Home Assistant 中实时查看电表读数,并设置自动化规则来管理能源消耗。
OpenHAB
OpenHAB 是另一个流行的开源智能家居平台,同样支持 MQTT。通过配置 OpenHAB 的 MQTT 绑定,可以轻松地将 SMLReader 的数据集成到 OpenHAB 的系统中,实现能源数据的统一管理和显示。
通过以上步骤和案例,你可以快速启动并使用 SMLReader 项目,将其集成到你的智能家居或能源管理系统中。