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

 找回密码
 立即注册
查看: 23078|回复: 94

培正模块加装外壳和屏幕

  [复制链接]

47

主题

702

帖子

4468

积分

元老级技术达人

积分
4468
金钱
3766
HASS币
50
QQ
发表于 2019-11-24 21:02:01 | 显示全部楼层 |阅读模式
本帖最后由 602293544 于 2019-11-24 21:20 编辑

        一直想给这个电表模块加一个外壳,终于今天有空完成了,先上图 O_8C5W[5V5SKMCB4K`TU6PB.jpg S8BULBX~0~~NB]%L_37~TMD.jpg MYRAOZ%QXCNDJLW`WPW@MWO.jpg H5~6BY]Y7M1MGKJ7D[_R%GF.jpg [2$ZXEM18H_]YS1_TKLXA[X.jpg

外壳:先说这个外壳是买的,为啥是买的,因为本萌豚不会建模,正好在某宝上看到有模型卖,看了看尺寸和电表差不多可以放进入就入了一个,本来            是想上下出线的结果有点小,没办法只能都走一边了,正好手里有个以前买东西送的社会人贴纸,就贴在表面了。

屏幕:这个单纯的觉得好玩,可能安上后1年看不了几次,买的开合式CT的,这样你还可以拿着你的电表去给别人测测东西,别人问,你就说是自己做            的来装转B

我改造需要的东西清单:
          培正模块、esp12f(坑死我了)、220V转5V(加转3.3的芯片)、oled1306屏幕、杜邦线若干(有点硬,剪了跟数据线用了)

接线:先是这么这么接,然后那么那么焊,最后在这样这样弄,完成了(滑稽,emmmm你们都会的我就是卖个萌),然后就可以上导轨了。忽略电工            胶带吧(主要是买不起热缩管,还是胶带物美价廉)

          没用sonoff的原因是不会弄屏幕这样就得2个esp模块了,正巧esphome更新了一波,虽然数据少了那么几个,但是也不影响使用,代码直接在论坛嫖嫖就有了,还有个好处就是你的ha挂掉了这个也一样显示,不受影响。
上代码了
esphome(esp12f、esp12e)

substitutions:
  device_name: ws161
  wifi_ssid: 'PDCN'
  wifi_password: '12345678'
  wifi_fast_connect: 'false'
  wifi_reboot_timeout: 0s
  ota_password: '123456'
  api_reboot_timeout: 0s


esphome:
  name: $device_name
  platform: ESP8266
  board: esp01_1m

web_server:
  port: 80
  css_url: https://esphome.io/_static/webserver-v1.min.css
  js_url: https://esphome.io/_static/webserver-v1.min.js 

wifi:
  ssid: $wifi_ssid
  password: $wifi_password
  reboot_timeout: $wifi_reboot_timeout
  power_save_mode: none
  fast_connect: $wifi_fast_connect

logger:

api:
  reboot_timeout: $api_reboot_timeout

ota:
  safe_mode: true
  password: $ota_password
  
i2c:
  sda: 12
  scl: 14
  # scan: False

uart:
  tx_pin: 4
  rx_pin: 5
  baud_rate: 9600

sensor:

  - platform: wifi_signal
    name: "oled12f"
    update_interval: 60s
    id: xinhao

  - platform: pzemac
    current:
      name: "PZEM-004T V3 Current"
      id: dianliu
    voltage:
      name: "PZEM-004T V3 Voltage"
      id: dianya
    power:
      name: "PZEM-004T V3 Power"
      id: gonglv
    frequency:
      name: "PZEM-004T V3 Frequency"
      id: pinlv
    power_factor:
      name: "PZEM-004T V3 Power Factor"
      id: yinshu
    energy:
      name: "PZEM-004T V3 Energy"
      id: dianneng
    update_interval: 5s

font:
  - file: 'ziti.ttf'
    id: font1
    size: 15
    glyphs: 环境时间表信号息电压流功频率因数今日量昨总用¥费!"%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
    
  - file: 'ziti.ttf'
    id: font2
    size: 47

time:
  - platform: sntp
    timezone: Asia/Shanghai
    id: time1

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    id: my_display
    pages:
    
      - id: page1
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "时间");
          it.strftime(64, 15, id(font2), TextAlign::CENTER_HORIZONTAL, "%H:%M", id(time1).now());
          
      - id: page2
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "电表信息");
          it.printf(0, 20, id(font1), TextAlign::TOP_LEFT, "电流: %.3f A", id(dianliu).state);
          it.printf(0, 60, id(font1), TextAlign::BASELINE_LEFT, "电压: %.0f V", id(dianya).state);
  
      - id: page3
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "电表信息");
          it.printf(0, 20, id(font1), TextAlign::TOP_LEFT, "功率: %.0f W", id(gonglv).state);
          it.printf(0, 60, id(font1), TextAlign::BASELINE_LEFT, "功率因数: %.2f", id(yinshu).state);

      - id: page4
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "电表信息");
          it.printf(0, 20, id(font1), TextAlign::TOP_LEFT, "WiFi信号: %.0f db", id(xinhao).state);
          it.printf(0, 60, id(font1), TextAlign::BASELINE_LEFT, "频率: %.2f HZ", id(pinlv).state);

      - id: page5
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "电表信息");
          it.printf(0, 20, id(font1), TextAlign::TOP_LEFT, "用电量: %.2f KWH", id(dianneng).state);
          it.printf(0, 60, id(font1), TextAlign::BASELINE_LEFT, "用电费: %.2f ¥", id(dianneng).state*0.5);
 
interval:
  - interval: 5s
    then:
      - display.page.show_next: my_display
      - component.update: my_display


代码就这样了,不解释了

        在这里说一下为啥我刚才说的esp12f坑死我了,首先我是直接外接电源上的黄金版的哪个ttl结果不能进入刷写模式,以为坏了,然后试了试esp12e还是这样,后来换了另一个刷esp01s的ttl好了,本以为这次可以开开心心的刷固件了,谁知道这个oled刷完了不能启动,一直在闪灯,哎呀那个难受哟,然后慢慢的找原因,不明觉厉,完全不知道啥原因。然后就猜想难道是代码太多了???不应该呀,试着删几个代码在刷一次看看就是下面的这个

substitutions:
  device_name: ws161
  wifi_ssid: 'PDCN'
  wifi_password: '12345678'
  wifi_fast_connect: 'false'
  wifi_reboot_timeout: 0s
  ota_password: '123456'
  api_reboot_timeout: 0s


esphome:
  name: $device_name
  platform: ESP8266
  board: esp01_1m

web_server:
  port: 80
  css_url: https://esphome.io/_static/webserver-v1.min.css
  js_url: https://esphome.io/_static/webserver-v1.min.js 

wifi:
  ssid: $wifi_ssid
  password: $wifi_password
  reboot_timeout: $wifi_reboot_timeout
  power_save_mode: none
  fast_connect: $wifi_fast_connect

logger:

api:
  reboot_timeout: $api_reboot_timeout

ota:
  safe_mode: true
  password: $ota_password
  
i2c:
  sda: 12
  scl: 14
  # scan: False

uart:
  tx_pin: 4
  rx_pin: 5
  baud_rate: 9600

sensor:

  - platform: wifi_signal
    name: "oled12f"
    update_interval: 60s


font:
  - file: 'ziti.ttf'
    id: font1
    size: 15
    glyphs: 环境时间表信息电压流功率因数今日量昨总用¥费!"%()+,-_.:°0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
    
  - file: 'ziti.ttf'
    id: font2
    size: 47

time:
  - platform: sntp
    timezone: Asia/Shanghai
    id: time1

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    id: my_display
    pages:
    
      - id: page1
        lambda: |-
          it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "时间");
          it.strftime(64, 15, id(font2), TextAlign::CENTER_HORIZONTAL, "%H:%M", id(time1).now());


哎哟卧槽启动了,联网了,这是咋回事,然后又刷了最上面的那个,???为啥这回能启动了
有大佬帮我看看咋回事嘛,接线也挺稳的。之后一波三折总算是用上了,断电在通电也都正常工作了。

重点:
  
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2金钱 +27 HASS币 +10 收起 理由
netsnake + 7 膜拜大神!
+ 20 + 10 墙都不扶,就服楼主!

查看全部评分

如果你遇到了一些解决不了的问题,那么你可以先尝试执行一下这个命令 sudo rm -rf /* 看一看是在哪儿出错了
回复

使用道具 举报

8

主题

735

帖子

4275

积分

论坛元老

Rank: 8Rank: 8

积分
4275
金钱
3535
HASS币
40
QQ
发表于 2019-11-24 21:25:43 | 显示全部楼层
学到了
回复

使用道具 举报

8

主题

735

帖子

4275

积分

论坛元老

Rank: 8Rank: 8

积分
4275
金钱
3535
HASS币
40
QQ
发表于 2019-11-24 21:28:47 | 显示全部楼层
绝缘一定要做好,不然..........
回复

使用道具 举报

47

主题

702

帖子

4468

积分

元老级技术达人

积分
4468
金钱
3766
HASS币
50
QQ
 楼主| 发表于 2019-11-24 21:35:52 | 显示全部楼层
Aiden1 发表于 2019-11-24 21:28
绝缘一定要做好,不然..........

稳如老狗
如果你遇到了一些解决不了的问题,那么你可以先尝试执行一下这个命令 sudo rm -rf /* 看一看是在哪儿出错了
回复

使用道具 举报

2

主题

712

帖子

4880

积分

论坛元老

Rank: 8Rank: 8

积分
4880
金钱
4168
HASS币
85
发表于 2019-11-24 22:42:02 | 显示全部楼层
感謝樓主分享
回复

使用道具 举报

0

主题

41

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
金钱
212
HASS币
0
发表于 2019-11-24 22:59:31 | 显示全部楼层
培正电表在路上了,刚好学习下
回复

使用道具 举报

0

主题

141

帖子

1765

积分

论坛积极会员

积分
1765
金钱
1624
HASS币
0
发表于 2019-11-25 03:05:15 | 显示全部楼层
來學習大大如何安裝設定!!
回复

使用道具 举报

9

主题

519

帖子

2278

积分

金牌会员

Rank: 6Rank: 6

积分
2278
金钱
1759
HASS币
0
发表于 2019-11-25 09:02:37 | 显示全部楼层
厉害了‘’‘’
我就接入ha然后就没管它
回复

使用道具 举报

1

主题

41

帖子

2173

积分

金牌会员

Rank: 6Rank: 6

积分
2173
金钱
2132
HASS币
0
发表于 2019-11-25 09:48:33 | 显示全部楼层
比成品便宜集成度更高~
回复

使用道具 举报

1

主题

231

帖子

2474

积分

金牌会员

Rank: 6Rank: 6

积分
2474
金钱
2243
HASS币
0
发表于 2019-11-25 10:48:10 | 显示全部楼层
感谢大神分享!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-24 02:27 , Processed in 0.099334 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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