应用ESP8266(Tasmota固件)、PZEM-004T、DHT11构建家庭智能电表实践(一)

      前一篇文章介绍了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进行实时数据监测和分析(拟下一篇文章介绍)。

二、器件准备

1. PZEM-004T模块

      选择电流100A模块,为方便后期安装,最好选择开合式CT(外互感器采样)。

2. ESP8266模块(ESP-01S)

 

3. DHT11温湿度传感器模块

 

 或购买ESP8266和DHT11集成模块

 4. USB转TTL-CH340模块

      一定要将CH340模块的电压跳线调整到3.3V,以免写入程序时烧坏ESP8266模块。

  5. AMS1117模块

 

  6. 直流5V电源,利旧5V 1A手机 USB充电器

 

      尽量选择品牌手机原配的5V充电器,性能稳定、发热量也小,适合后期安装到配电箱里。

三、器件连接

1. 烧写模式:

esp8266(ESP-01S)

CH340

RX

TX

TX

RX

GND

GND

3.3V

3.3V

IO0

GND

注意:IO0管脚接地为烧录模式,代码烧录完成后需要IO0断开重新上电程序才能运行。也可以直接购买使用esp8266专用烧录器。

2. 工作模式:

电源

PZEM-004T

ESP8266

DHT11

5V

5V

3.3V

3.3V

3.3V

RX

TX(GPIO1)

TX

RX(GPIO3)

GND

GND

GND

GND

GPIO2

DATA

四、安装配置Tasmota

1. 下载Tasmota烧录工具

(https://github.com/tasmota/tasmotizer/releases)

Windows下32位选择下载“tasmotizer_x86-1.2.exe”,64位选择下载“tasmotizer-1.2.exe”。

2. 下载Tasmota固件

(https://github.com/arendst/Tasmota/releases/)

       选择下载中文版“tasmota-CN.bin”。

3. 烧录固件

      按烧写模式连接CH340和ESP8266,启动Tasmota烧录工具,选择COM端口(可通过设备管理器查询CH340端口号)。

       点击“Open”选择已下载的固件“tasmota-CN.bin”,选择“Tasmotize!”开始烧录。

 

       烧录完成后,选择“Send config”设置WIFI和MQTT,设置完成点击“Save”即可完成配置。

4. 配置ESP8266

      在路由器中查看ESP8266的IP。

       在浏览器访问该IP,进入WEB配置页面

 

       选择“设置”

       选择“模块设置”,如使用的是esp8266(ESP-01S)可直接选“Sonoff Basic(1)”,GPIO1设置为“PEZM0XX Tx”,GPIO3设置为“PZEM004 Rx”(如不成功也可设置为“PZEM016 Rx”),GPIO2设置为“DHT11”。

      点击“保存”,系统会自动重启,并回到主菜单页面,这是页面上方会出现传感器采集的数据(由于暂时只接入了DHT11温湿度模块,无电表相关数据)。

 

五、配置Home Assistan

      回到Tasmota主界面,选择“控制台”,输入“SetOption19 1”后回车(19空格1),执行完成后返回主菜单。

       回到HomeAssistant选择“配置”——》“设备与服务”,集成界面会出现“发现”Tasmota,点击“配置”——》“提交”,出现Tasmota集成,选择“系统选项”“更新”,会自动发现Tasmota设备和实体。

      点击“1个设备”,进入Tasmota设备界面,可将传感器、控制等添加到仪表盘,最后再根据需求编辑好仪表盘。

 

六、安装PZEM-004T模块

模块功能框图:

 

 模块接线示意图:

      先接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监测智能电表历史数据。

  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
ESP-01/ESP8266-01DHT11温度湿度传感器需要通过串口烧录的方式进行烧录。下面是烧录步骤: 1. 准备工作: - 一台电脑,安装好了Arduino IDE和USB转TTL串口线 - 一个ESP-01/ESP8266-01DHT11温度湿度传感器 - 杜邦线若干 - 5V电源(如USB口电源) 2. 连接电路: 将ESP-01/ESP8266-01DHT11温度湿度传感器通过杜邦线连接到USB转TTL串口线上。连线方式如下: - VCC引脚连接USB转TTL串口线的5V电源 - GND引脚连接USB转TTL串口线的GND - TX引脚连接USB转TTL串口线的RX - RX引脚连接USB转TTL串口线的TX 3. 打开Arduino IDE,选择端口 - 打开Arduino IDE,选择工具 -> 端口,选择USB转TTL串口线连接的端口 4. 下载ESP8266 flash download tool - 下载地址:https://www.espressif.com/en/support/download/other-tools - 安装ESP8266 flash download tool 5. 烧录固件 - 打开ESP8266 flash download tool,选择固件文件路径,文件名为 ESP8266_NONOS_SDK-master\bin\at\bin\blank.bin - 设定串口,波特率为 115200 - 按下ESP-01/ESP8266-01DHT11温度湿度传感器上的GPIO0引脚,并按下复位按钮,进入下载模式 - 点击下载按钮,等待下载完成 6. 上传代码 - 将GPIO0引脚拔出,按下复位按钮,退出下载模式 - 在Arduino IDE中打开您的代码 - 选择工具 -> 开发板 -> Generic ESP8266 Module - 选择工具 -> 端口,选择USB转TTL串口线连接的端口 - 点击上传按钮,等待上传完成 希望这些步骤能够帮助您烧录ESP-01/ESP8266-01DHT11温度湿度传感器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值