『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4122|回复: 17

[硬件DIY] 玩转ESPHome之五------小改一下polisher大佬的WIFI多路电量表

[复制链接]

50

主题

1338

帖子

5590

积分

论坛DIY达人

积分
5590
金钱
4252
HASS币
20
发表于 2023-6-21 22:21:29 | 显示全部楼层 |阅读模式
本帖最后由 sorrypqa 于 2024-3-30 07:46 编辑

非常感谢polisher大佬开源了WIFI多路电量表,帖子地址:https://bbs.hassbian.com/thread-19938-1-1.html想把风扇弄好再玩这个,polisher大佬是用2块板子组成的,为了省一张嘉立创的优惠券,趁今晚有空整合成一块板子,顺便加了一路485(可以不用,但不能没有),哈哈~~!!有大佬贴个显示屏的配置代码吗?感觉还有位置加个显示屏。


SNAG-2023-11-29_00002.png



SNAG-2023-11-29_00000.png


SNAG-2023-11-29_00001.png




SNAG-2023-11-29_00003.png





Gerber_BL0906_2023-06-21.zip (42.65 KB, 下载次数: 36, 售价: 10 金钱)








评分

参与人数 1金钱 +5 收起 理由
d4rkblue + 5 大神666!

查看全部评分

回复

使用道具 举报

0

主题

43

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
金钱
315
HASS币
0
发表于 2023-6-24 10:30:38 | 显示全部楼层
赞,谢谢分享~~~ 希望你多无聊一些
回复

使用道具 举报

50

主题

1338

帖子

5590

积分

论坛DIY达人

积分
5590
金钱
4252
HASS币
20
 楼主| 发表于 2023-6-24 10:57:17 | 显示全部楼层
d4rkblue 发表于 2023-6-24 10:30
赞,谢谢分享~~~ 希望你多无聊一些

呵呵!想玩的东西太多,可惜除了照虎画猫,啥都不会,本来还想画10路那个BL0910,看了一下文档,什么寄存器、指令看得脑袋差点爆炸,肯定搞不掂那个组件,只好作罢。
回复

使用道具 举报

1

主题

28

帖子

194

积分

注册会员

Rank: 2

积分
194
金钱
166
HASS币
0
发表于 2023-11-28 04:49:54 | 显示全部楼层
sorrypqa 发表于 2023-6-24 10:57
呵呵!想玩的东西太多,可惜除了照虎画猫,啥都不会,本来还想画10路那个BL0910,看了一下文档,什么寄存 ...

其实6路和10路的没啥区别的。 就是多了4路采集的。 复制黏贴。
然后h文件和cpp文件对着寄存器的说明书稍微修改下。 就好了。
原本打算做的。 但是做出来10路的太大了。 配电箱放不下。 又搁置了。
回复

使用道具 举报

50

主题

1338

帖子

5590

积分

论坛DIY达人

积分
5590
金钱
4252
HASS币
20
 楼主| 发表于 2023-11-28 04:53:52 | 显示全部楼层
zwd 发表于 2023-11-28 04:49
其实6路和10路的没啥区别的。 就是多了4路采集的。 复制黏贴。
然后h文件和cpp文件对着寄存器的说明书稍 ...

这玩意最大问题是ESPHome没有直接支持,无法像其它芯片那样实现自动归零和免校准
回复

使用道具 举报

1

主题

68

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
金钱
425
HASS币
0
发表于 2023-12-2 19:47:14 | 显示全部楼层
再加个显示屏就完美了
回复

使用道具 举报

1

主题

28

帖子

194

积分

注册会员

Rank: 2

积分
194
金钱
166
HASS币
0
发表于 2023-12-6 03:39:20 | 显示全部楼层
回复

使用道具 举报

1

主题

68

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
金钱
425
HASS币
0
发表于 2023-12-6 11:30:16 | 显示全部楼层
zwd 发表于 2023-12-6 03:39
https://bbs.hassbian.com/forum.php?mod=viewthread&tid=23511&page=1&extra=#pid568654

大佬您好!能分享显示代码给大家学习学习一下吗?
回复

使用道具 举报

1

主题

28

帖子

194

积分

注册会员

Rank: 2

积分
194
金钱
166
HASS币
0
发表于 2023-12-6 21:39:47 | 显示全部楼层
pengguilian 发表于 2023-12-6 11:30
大佬您好!能分享显示代码给大家学习学习一下吗?

captive_portal:
  
external_components:
  - source: my_components
      
uart:
  tx_pin: GPIO1
  rx_pin: GPIO3
  baud_rate: 19200
  id: utt2
  
sensor:
  - platform: bl0906
    update_interval: 10s   
    Frequency:
      name: 'Frequency'
    Temperature:
      name: 'Temperature'
      id: Temperature
    Voltage:
      name: 'Voltage'
      id: Voltage
    Current_1:
      name: 'Current_1'
      id: Current_1
    Current_2:
      name: 'Current_2'    
    Current_3:
      name: 'Current_3'    
    Current_4:
      name: 'Current_4'    
    Current_5:
      name: 'Current_5'    
    Current_6:
      name: 'Current_6'  
    Power_1:
      name: 'Power_1'
      id: Power_1
    Power_2:
      name: 'Power_2'
      id: Power_2
    Power_3:
      name: 'Power_3'
      id: Power_3
    Power_4:
      name: 'Power_4'
      id: Power_4
    Power_5:
      name: 'Power_5'  
      id: Power_5    
    Power_6:
      name: 'Power_6'
      id: Power_6
    Power_sum:
     name: 'Power_sum'      
     id: Power_sum
    Energy_1: 
      name: 'Energy_1'
      id: Energy_1
    Energy_2: 
      name: 'Energy_2'
      id: Energy_2
    Energy_3: 
      name: 'Energy_3'
      id: Energy_3
    Energy_4: 
      name: 'Energy_4'
      id: Energy_4
    Energy_5: 
      name: 'Energy_5'
      id: Energy_5
    Energy_6: 
      name: 'Energy_6' 
      id: Energy_6    
    Energy_sum: 
      name: 'Energy_sum' 
      id: Energy_sum

font:
  - file: "swiss.ttf"
    id: my_font
    size: 12

  - file: "swiss.ttf"
    id: my_font8
    size: 8

  - file: "swiss.ttf"
    id: my_font16
    size: 16

spi:
  clk_pin: GPIO14
  mosi_pin: GPIO13

display:
  - platform: st7735
    model: "INITR_18BLACKTAB"
    reset_pin: GPIO5
    cs_pin: GPIO15
    dc_pin: GPIO4
    rotation: 0
    device_width: 128
    device_height: 160
    col_start: 0
    row_start: 0
    eight_bit_color: true
    update_interval: 1s
    lambda: |-
      auto red = Color(255, 0, 0);
      auto green = Color(0, 255, 0);
      auto blue = Color(0, 0, 255);
      auto white = Color(255, 255, 255);
      it.rectangle(0, 0, 128, 160,red); //画一个框

      it.line(1, 40, 127, 40,red); //画一条线
      it.line(1, 52, 127, 52,red); //画一条线
      it.line(1, 70, 127, 70,red); //画一条线
      it.line(1, 88, 127, 88,red); //画一条线
      it.line(1, 106, 127, 106,red); //画一条线
      it.line(1, 124, 127, 124,red); //画一条线
      it.line(1, 142, 127, 142,red); //画一条线

      it.line(11, 40, 11, 160,red); //画一条线
      it.line(75, 40, 75, 160,red); //画一条线
      it.print(30, 42, id(my_font8), "KW / h");
       it.print(100, 42, id(my_font8), "W");
      
      it.printf(36, 24, id(my_font), TextAlign::TOP_RIGHT, "%.1f", id(Voltage).state);
      it.printf(75, 24, id(my_font), TextAlign::TOP_RIGHT, "%.1f", id(Temperature).state);
      it.print(37, 24, id(my_font), "V");
      it.print(75, 24, id(my_font), "C");

      it.print(2, 2, id(my_font16), "E");
      it.print(102, 4, id(my_font), "Kwh");
      it.printf(100, 2, id(my_font16), TextAlign::TOP_RIGHT, "%7.1f", id(Energy_sum).state);
      it.print(118, 28, id(my_font8), "W");
      it.printf(117, 24, id(my_font), TextAlign::TOP_RIGHT, "%4.0f", id(Power_sum).state);



      it.print(3, 55, id(my_font), "1");
      it.print(3, 73, id(my_font), "2");
      it.print(3, 91, id(my_font), "3");
      it.print(3, 109, id(my_font), "4");
      it.print(3, 127, id(my_font), "5");
      it.print(3, 145, id(my_font), "6");
    
      it.printf(74, 55, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_1).state);
      it.printf(74, 73, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_2).state);
      it.printf(74, 91, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_3).state);
      it.printf(74, 109, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_4).state);
      it.printf(74, 127, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_5).state);
      it.printf(74, 145, id(my_font), TextAlign::TOP_RIGHT, "%7.2f", id(Energy_6).state);


      it.printf(126, 55, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_1).state);
      it.printf(126, 73, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_2).state);
      it.printf(126, 91, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_3).state);
      it.printf(126, 109, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_4).state);
      it.printf(126, 127, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_5).state);
      it.printf(126, 145, id(my_font), TextAlign::TOP_RIGHT, "%4.2f", id(Power_6).state);



st7735.zip

11.35 KB, 下载次数: 20

评分

参与人数 2金钱 +21 收起 理由
pengguilian + 5 膜拜大神!
sorrypqa + 16 大神666!

查看全部评分

回复

使用道具 举报

1

主题

68

帖子

493

积分

中级会员

Rank: 3Rank: 3

积分
493
金钱
425
HASS币
0
发表于 2023-12-7 07:36:43 | 显示全部楼层

谢谢大佬!好复杂,完全看不懂,真不知是怎么写出来的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 09:59 , Processed in 0.063927 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表