ELIVCO LSPA9 智能插座

背景

之前有好友推荐了一款支持 Tasmota 的智能插座 Athom PG01EU16A,从 AliExpress 以 €15.26 包邮购入两个,到货却发现虽然外观一模一样,但印着的型号却是 ELIVCO LSPA9

plugs

插座外部没有螺丝,根据这篇帖子,可以通过挤压顶部两侧来拆开它。

disassembled

Hacking

拆开后看到 WiFi 模块印着 CB2S,搜索可知这又是 Tuya 基于 Beken BK7231 系列 ARM SoC 的模块,第三次踩雷。

pcb-1

而且 CB2S 规格特殊,没有引脚排布与其相似的常见 ESP 模块:

cb2s

esp-modules
Source

拆下模块后开始逆向电路,左下角的 IC 是 “AMS1117-3.3” 稳压器,用于提供 +3.3V 电源;在它右侧的是 “BL0937” 交流电能监控 IC,用于测量插座的电压、电流及功率。

pcb-2

重点电路整理如下,元件标识按照 PCB 上的实际丝印,部分元件已略去:

schematic

可以换上一片普通的 ESP 模块,连接必要的引脚;注意连接继电器的 P26 不应使用 1、2、3、16 等启动时会被上拉的 ESP GPIO 以避免插座发生预期外的通电。

done

这里使用了一片 ESP-12F,选用的对应引脚为:

CB2S ESP-12F
3V3 VCC
GND GND
P6 GPIO5
P7 GPIO4
P8 GPIO2
RX1 GPIO13
P24 GPIO12
P26 GPIO14

另外上拉 EN、 下拉 GPIO15 即可。

软件

ESPHome 配置示例:

esphome:
  name: plug-1
  comment: 'Plug 1'

esp8266:
  board: esp12e
  restore_from_flash: true  # 启用 flash 状态记录给重启恢复功能

preferences:
  flash_write_interval: 10min  # 减少 flash 写入损耗,按需调整

logger:
  level: WARN
#  baud_rate: 115200

wifi:
  fast_connect: true
  networks:
    - ssid: !secret wifi_ssid
      bssid: !secret wifi_bssid
      password: !secret wifi_password

api:
ota:
  password: !secret ota_password

status_led:  # 蓝色 LED 作为状态指示
  pin:
    number: 2
    inverted: true  # 因为是 sink 逻辑

switch:  # 插座继电器
  - platform: gpio
    pin: 14
    id: plug_1
    name: 'Plug 1'
    restore_mode: RESTORE_DEFAULT_OFF  # 重启试图恢复状态,失败则默认断电

binary_sensor:  # 按钮
  - platform: gpio
    pin:
      number: 13
      inverted: true
    id: button
    internal: true  # 不暴露至 HASS
    on_release:
      then:
        - switch.toggle: plug_1  # 本地控制继电器

sensor:
  - platform: hlw8012
    model: BL0937  # 注意指定型号以使用专属信号频率参数
    voltage_divider: 1600  # 根据实际电阻值调整
    sel_pin:
      number: 12
      inverted: true  # BL0937 的逻辑与 HLW8012 相反
    cf_pin: 4
    cf1_pin: 5
    current:
      name: 'Plug 1 Current'
    voltage:
      name: 'Plug 1 Voltage'
    power:
      name: 'Plug 1 Power'
    energy:
      name: 'Plug 1 Energy'
      # 转换至 kWh
      filters:
        - multiply: 0.001
      unit_of_measurement: 'kWh'
      accuracy_decimals: 4
    update_interval: 60s
    change_mode_every: 3

其中 hlw8012 组件的 voltage_divider 参数需要根据实际分压电阻计算得出,否则电压信息不准确:

The value of the voltage divider on the board as (R_upstream + R_downstream) / R_downstream. Defaults to the Sonoff POW’s value 2351.

Source

根据实际电路,这款智能插座中使用的分压电阻如下:

voltage-divider

其理论值应该为 (680×1000×3+1000)÷1000=2041,但实际结果并不准确;进行测试之后可以得到 1600 作为较准确的值,原因尚且不明。

之后即可在 HASS 中直接接入:

hass


0 Comments

发表评论

Avatar placeholder

您的电子邮箱地址不会被公开。