本帖最后由 trz0332 于 2023-2-26 23:27 编辑
不知不觉咸鱼捡垃圾系列到了第三期了。
这期要感谢第二期的时候第232楼的小伙伴。发了一个咸鱼上一个25块钱的排插。看简介说是esp01芯片。带电量检测功能,入手了2个,
原生固件在我手中没存活1分钟,就开拆,检查各个引脚功能GPIO
首先是电量芯片,BL0937.这款芯片是esphome官方支持的。接下来就方便多了
这款芯片根以前国美的6孔插座排插一毛一样。以前研究过国美6孔插座,所以直接拿来就用了
2023-2-26更新,增加了缺地告警和零火反告警。告警的时候红灯亮,但是我没测试过,我这里没有测试条件
<<: !include config.yaml
substitutions:
device_name: pc-stralsund
button_pin: GPIO13 #按钮
relay_pin: GPIO5 #继电器
led_r_pin: GPIO4 #白色led
led_w_pin: GPIO16 #------红色led
alarm_pin1: GPIO12 #零火检测 ###零线地线之间是否有电压
alarm_pin2: GPIO14 #缺地检测##地线和火线之间是否有电压
hlw8012_sel_pin: GPIO2
hlw8012_sf_pin: GPIO9
hlw8012_sf1_pin: GPIO10
esphome:
name: $device_name
platform: ESP8266
board: esp01_1m
esp8266_restore_from_flash: yes
name_add_mac_suffix: yes
build_path: build/$device_name
status_led:
pin:
number: $led_w_pin
inverted: true
logger:
level: WARN #不同的log等级看到的信息详细程度不一样,信息量从少到多依次为NONE、ERROR、WARN、INFO、DEBUG、VERBOSE、VERY_VERBOSE
globals:
- id: auto_gl
type: int
restore_value: yes
initial_value: "1"
- id: flag_closealarm
type: int
initial_value: "1"
restore_value: yes
output:
- id: light_output
platform: gpio
pin:
number: $led_r_pin
inverted: true
light:
- platform: binary
output: light_output
name: "${device_name}_r_led"
id: "r_led"
internal: true
binary_sensor:
- platform: gpio
pin:
number: $button_pin
inverted: true
mode:
input: true
pullup: true
name: "${device_name}_B1"
on_click:
- min_length: 50ms
max_length: 1000ms
then:
- if:
condition:
lambda: 'return id(Lock1).state ;'
then:
- switch.toggle: "relay1"
- min_length: 5000ms
max_length: 10000ms
then:
- switch.toggle: 'Lock1'
- platform: gpio
pin:
number: $alarm_pin2
inverted: false
mode:
input: true
name: "${device_name}_lostGnd"
id: lostGnd
filters:
- delayed_on: 100ms
- platform: gpio
pin:
number: $alarm_pin1
inverted: true
mode:
input: true
filters:
- delayed_on: 100ms
name: "${device_name}_LNInversion"
id: LNInversion
sensor:
- platform: wifi_signal
name: "${device_name}_RSSI"
update_interval: 60s
- platform: hlw8012
model: BL0937
sel_pin:
number: $hlw8012_sel_pin
inverted: true
cf_pin: $hlw8012_sf_pin
cf1_pin: $hlw8012_sf1_pin
current:
name: "${device_name}_Current"
voltage:
name: "${device_name}_Voltage"
power:
name: "${device_name}_Power"
energy:
name: "${device_name}_Energy"
initial_mode: CURRENT
update_interval: 30s
voltage_divider: 1651
current_resistor: 0.001
text_sensor:
- platform: wifi_info
ip_address:
name: '${device_name}_IP'
mac_address:
name: '${device_name}_MAC'
button:
- platform: factory_reset
name: "${device_name}_Reset"
- platform: restart
name: "${device_name}_Restart"
- platform: safe_mode
name: "${device_name}_SafeMode"
switch:
- platform: gpio #继电器
pin: $relay_pin
name: "${device_name}_relay"
id: "relay1"
- platform: template
name: "${device_name}_CloseAlarm"
id: "CloseAlarm"
turn_on_action:
then:
- lambda: |-
id(flag_closealarm)=1;
turn_off_action:
then:
- lambda: |-
id(flag_closealarm)=0;
lambda: |-
return id(flag_closealarm);
- platform: template
name: "${device_name}_Lock"
id: "Lock1"
turn_on_action:
then:
- lambda: |-
id(auto_gl)=1;
turn_off_action:
then:
- lambda: |-
id(auto_gl)=0;
lambda: |-
return id(auto_gl);
interval:
- interval: 1000ms
then:
lambda: |-
if ( (id(LNInversion).state or id(lostGnd).state) and id(flag_closealarm) ) {
auto call =id(r_led).toggle();
call.perform();
} else{
auto call =id(r_led).turn_off();
call.perform();
}
刷机成功后就这样子了
内部拆解图看我捡垃圾系列的第二篇的232楼的图片吧。
个人感觉内部做工一般,
bl0937计量芯片精准度更加是一般了。尤其是这玩意需要一个校准参数。参见esphome配置文件的voltage_divider这个参数,尤其是我手头没有计量电表,所以这个参数就随便填了个,看上去得到的数据差不多了。有条件的小伙伴自己校准一下
USB口提供的是5V3.1A 这个U口会被继电器控制,如果不想要被继电器控制,自己去里面飞线。电压检测很慢。继电器指示灯没办法单独控制
唯一的优点,便宜。现在奸商涨价太严重了,大家理性购物。毕竟咸鱼垃圾源源不断
强电,切勿带点操作,珍惜生命,远离强电感觉这个插座被奸商们炒作炒的过分了,,希望大家理性。。
pc-stralsund_B1 | 按钮 | | pc-stralsund_CloseAlarm | 当有告警红灯的时候,可一选择关闭告警灯,但是没有告警的时候打开这个灯也不会打开红灯 | Off [color=var(--primary-color,currentColor)] On
| pc-stralsund_Current | 电流 | | pc-stralsund_Energy | 电能,重启会丢失 | | pc-stralsund_IP | IP地址 | | pc-stralsund_LNInversion | 零火线反告警 | | pc-stralsund_Lock | 按钮锁定 | Off [color=var(--primary-color,currentColor)] On
| pc-stralsund_MAC | mac | | pc-stralsund_Power | 功率 | | pc-stralsund_RSSI | wifi型号强度 | | pc-stralsund_Reset | 重设(具体功能参照esphome官网) | ☐ | pc-stralsund_Restart | 重启 | ☐ | pc-stralsund_SafeMode | 安全模式,这个模式只加载OTA | ☐ | pc-stralsund_Voltage | 电压 | | pc-stralsund_lostGnd | 无地线告警 | | pc-stralsund_relay继电器 |
|