前一篇文章介绍了ESPHome的应用方法,Tasmota和ESPHome一样都是免编程的ESP固件,可帮助我们快速搭建智能家居系统。Tasmota是基于ESP设备的开源固件,不用编程即可进行快速设置和功能更新,Tasmota使用MQTT、Web UI、HTTP或串行进行控制,支持应用计时器、规则或脚本实现自动化,可与Home Assistant进行集成,具有较好的的可扩展性和灵活性。本文将以Tasmota固件为例介绍家庭智能电表搭建方法(涉及强电操作,注意安全!)。
前文:以DHT11、ESP8266为例介绍ESPHome在Home Assistant中的应用_qq_31400983的博客-CSDN博客
使用培正检测模块PZEM-004T采集入户交流电电压、电流、功率和功率因数等电表参数,DHT11采集电表箱温湿度数据,通过ESP8266模块接入WIFI网络,并将数据传递给MQTT服务器,Home Assistant从MQTT服务器读取电表、温湿度数据并进行展现。后续还可通过Influxdb和Grafana进行实时数据监测和分析(拟下一篇文章介绍)。
选择电流100A模块,为方便后期安装,最好选择开合式CT(外互感器采样)。
或购买ESP8266和DHT11集成模块
一定要将CH340模块的电压跳线调整到3.3V,以免写入程序时烧坏ESP8266模块。
尽量选择品牌手机原配的5V充电器,性能稳定、发热量也小,适合后期安装到配电箱里。
esp8266(ESP-01S) |
CH340 |
RX |
TX |
TX |
RX |
GND |
GND |
3.3V |
3.3V |
IO0 |
GND |
注意:IO0管脚接地为烧录模式,代码烧录完成后需要IO0断开重新上电程序才能运行。也可以直接购买使用esp8266专用烧录器。
电源 |
PZEM-004T |
ESP8266 |
DHT11 |
5V |
5V |
||
3.3V |
3.3V |
3.3V |
|
RX |
TX(GPIO1) |
||
TX |
RX(GPIO3) |
||
GND |
GND |
GND |
GND |
GPIO2 |
DATA |
(https://github.com/tasmota/tasmotizer/releases)
Windows下32位选择下载“tasmotizer_x86-1.2.exe”,64位选择下载“tasmotizer-1.2.exe”。
(https://github.com/arendst/Tasmota/releases/)
选择下载中文版“tasmota-CN.bin”。
按烧写模式连接CH340和ESP8266,启动Tasmota烧录工具,选择COM端口(可通过设备管理器查询CH340端口号)。
点击“Open”选择已下载的固件“tasmota-CN.bin”,选择“Tasmotize!”开始烧录。
烧录完成后,选择“Send config”设置WIFI和MQTT,设置完成点击“Save”即可完成配置。
在路由器中查看ESP8266的IP。
在浏览器访问该IP,进入WEB配置页面
选择“设置”
选择“模块设置”,如使用的是esp8266(ESP-01S)可直接选“Sonoff Basic(1)”,GPIO1设置为“PEZM0XX Tx”,GPIO3设置为“PZEM004 Rx”(如不成功也可设置为“PZEM016 Rx”),GPIO2设置为“DHT11”。
点击“保存”,系统会自动重启,并回到主菜单页面,这是页面上方会出现传感器采集的数据(由于暂时只接入了DHT11温湿度模块,无电表相关数据)。
回到Tasmota主界面,选择“控制台”,输入“SetOption19 1”后回车(19空格1),执行完成后返回主菜单。
回到HomeAssistant选择“配置”——》“设备与服务”,集成界面会出现“发现”Tasmota,点击“配置”——》“提交”,出现Tasmota集成,选择“系统选项”“更新”,会自动发现Tasmota设备和实体。
点击“1个设备”,进入Tasmota设备界面,可将传感器、控制等添加到仪表盘,最后再根据需求编辑好仪表盘。
模块功能框图:
模块接线示意图:
先接PZEM-004T模块弱电侧的4根线,需要注意的是PZEM-004T模块供电是5V,可以直接使用充电器5V输出,而ESP8266是3.3V供电,因此需增加一个5V转3.3V的模块进行降压,这里我使用的是AMS1117。
然后接PZEM-004T模块强电侧的4根线,火线、零线分别从现有配电箱空开下引出(强电!注意安全!),我这里引出后分了一组给母插头,方便直接插入手机充电器。
外互感器要卡在入户火线上进行采样,注意最好将互感器电线接入PZEM-004T模块后再进行采样,否则互感器会产生“滋滋”的噪声。
由于没找到合适的盒子装下esp8266、AMS1117和DHT11模块,暂时就没有接DHT11模块。
完成连接后即可上电测试,进入HomeAssistant即可在仪表盘查看电表数据。
Home Assistant自带的图表比较简单,下一篇准备用InfluxDB、Grafana监测智能电表历史数据。