家里三块DDSU666电表
起先的4G采集平台,用合宙模块LUAT做的,自己弄的
这一拖,便是三年过去了。今年看到网上有很多人用ESP8266做的支持HomeAssisant智能家居电表采集的,很愉快!
***完刷上去一看,只支持采集单块电表,很遗憾……也可以用ESPHome做的虽然支持多块表,但是还是须要一个机顶盒来做HomeAssisant,觉得摧残浪费蹂躏电。

实在我的需求很大略,便是一个低功耗的ESP8266,然后他有一个WEB页面,可以显示出我当前的电表数据,这样就OK了。
我写好的采集器界面
须要的硬件模块
1、买一块ESP8266开拓板,这里选择9.9元包邮的NodeMCU 1.0
NodeMCU模块
2、须要一个TTL电平RS485转换板
TTL转RS485模块
软件开拓思路
既然利用ESP8266,就利用Arduino开拓吧,软件我也是第一次利用,比较大略
1、先给ESP8266写一个WiFi配网的WEB程序,不喜好用SmartConfig
2、再给ESP8266做一个WEB界面,可以看到状态,电表读数,参数设置吧
3、熟习利用ESP8266的RS485开拓
4、利用DLT645-2007协议进行数据发送,并解析
开拓过程分享:
1、首先要把ESP8266和RS485电平模块连接在一起,就4根线,一根VCC 3.3,一根GND,一个RX,一根TX,很大略吧,再没有其他线了。
模块和ESP8266连接线
2、接下去就开拓WEB配网部分,我也是引用网上的教程,事理是这样:
当模块开机往后,连接WiFi,如果连接不上,模块就以SOFTAP的办法启动,自己化身为一个软件AP,并启动一个网页做事器和DNS做事器,当手机连接上去往后不论你打开什么网址,都给你解析到自己这里,并弹出配网页面。
部分WiFi配网代码
3、WEB连接成功了,接下去做一个WEB界面,这里我引用了罗总固件里面的UI,简洁、大方。
直接右键,查看源代码就可以了,哈哈
4、接下来便是RS485通讯了,实在ESP8266给你封装了软485,还挺好用的,你只要做发送吸收就可以了。
485数据发送代码
项目完成体验总体创造用ESP8266来写代码很大略,我也是第一次利用,基本一个下午就很熟习了。
支持目前市情上的99%电表吧,而且可以混用,由于ModBus是私有协议,而DLT-645-2007是国家电表标准协议,智能电表都会支持。只假如有标准的,可以混着用的,下面我便是用不同的品牌电表进行测试的。
两个模块一起
不同的国标电表,进行混装测试。
三块不同电表测试
电表的表号,一根为12位,都是贴在电表上面的。
电表表号12位
电表表号
电表表号设置和网页密码设置
软件解释。随便做了一下
实时电表读数
封装后的模块我拆了一个正泰的2P泄电保护,把漏保部分拆出来,把三个模块放在里面。
模块组装中
模块成品