pdf-icon

StamPLC Home Assistant 集成

StamPLC 是一款物联网可编程逻辑控制器,专为工业自动化与远程监控设计。产品采用 Stamp-S3A 控制模组,不仅提供强大的处理能力,还实现了高效的无线连接。本文介绍如何将 StamPLC 集成至 Home Assistant。

Note
非常感谢来自 ESPHome 社区贡献者 @Beormund 提供的配置文件,如需参考更多,可以访问 https://github.com/Beormund/esphome-m5stamplc

准备工作

提示
本教程中,套件在 ESPHome 2025.10.3 下编译和上传,如果遇见编译/上传问题,考虑将ESPHome切换至此版本

在 Home Assistant 中打开 ESPHome Builder,创建一个空的配置文件

  • 点击右下角的 NEW DEVICE 按钮

  • 弹出框单击 CONTINUE

  • 选择 Empty Configuration

  • 为文件命名 (可选)

  • 在新生成的配置文件处点击 EDIT

之后,复制 configurations.yaml 的内容到配置文件中

根据需要,更改网络配置或者是 API 信息等,比如创建一个 API Encryption Key 用于认证:

yaml
1 2 3
api:
  encryption:
    key: "Your_Encryption_Key"
提示
如果需要一个 Key,可以访问 native api 生成一个 (在 encryption 下)

或者是更改时区设置:

yaml
1
timezone: Europe/London

改为合适的时区:

yaml
1
timezone: Asia/Shanghai

之后,依次点击右上角 SAVEINSTALL,选择 Manual download

此时会生成代码并且编译工程

提示
如果是第一次编译,可能会需要较长时间;具体取决于 Home Assistant 主机性能和网络连接情况

当编译完成后,选择 Factory format 下载固件

上传固件

打开浏览器,访问 ESPHome Web 上传固件

使用 USB-C 数据线将 StamPLC 连接至主机, 点击 CONNECT ,选择设备连接

之后,点击 INSTALL,选择之前下载的固件上传,再次点击 INSTALL,将固件烧录至设备。

当烧录完成后,设备会自动重置

添加设备至 Home Assistant 集成

当设备重启后,会自动连接之前配置的网络,正常情况下可以在 Settings -> Devices & services 发现设备

点击 Add 将 StamPLC 集成进入 Home Assistant,如果此前设置了 API Encryption Key ,此处可能需要填入 API Encryption Key 验证

StamPLC 的 Dashboard 示例

实机运行

拓展

StamPLC 支持拓展,可以通过右侧的 16 Pin 引脚接入其它拓展

StamPLC AC

StamPLC AC 是一款适配 StamPLC 主机的交流继电器拓展模块。模块集成交流负载控制与整机供电功能,有效简化应用供电布线。采用触点式继电器(单刀单掷 - 常开型), 最大支持 AC 240V@10A 线路通断。内置 AC-DC 隔离转换电路,支持 AC 100~240V 输入,可在为继电器负载供电的同时,降压输出 DC 12V 为整机供电。板载可编程三色 LED 灯,用于工作状态指示。StamPLC 主控通过 I2C 协议的 IO 拓展芯片对继电器、RGB LED 进行编程控制,有效节省 IO 资源。适用于交流负载设备开关、电磁阀控制等工业级应用场景。

配置 StamPLC AC

在此前 StamPLC 的配置之上,YAML 配置中需要添加一些组件:

  • 新增 IO Expander
pi4ioe5v6408:
  - id: pi4ioe5v6408_1
    address: 0x43
  # Configuration of i2c GPIO Expander 2
  # on the StamPLC AC expansion
  - id: pi4ioe5v6408_2
    address: 0x44
  • 新增 AC Relay 的开关
switch:
  ...
  - platform: gpio
    restore_mode: RESTORE_DEFAULT_OFF
    name: "StamPLC AC Relay"
    id: ac_r1
    pin:
      pi4ioe5v6408: pi4ioe5v6408_2
      number: 2
      mode:
        output: true
    on_state: 
      - component.update: vdu
  • 新增 AC Relay 顶部的 LED 颜色控制
switch:
  ...
  # led indicator on StamPLC AC expansion
  - platform: gpio
    restore_mode: ALWAYS_OFF  
    id: "ac_relay_led_red"
    pin:
      pi4ioe5v6408: pi4ioe5v6408_2
      number: 5
      inverted: true
      mode:
        output: true

  - platform: gpio
    restore_mode: ALWAYS_OFF  
    id: "ac_relay_led_green"
    pin:
      pi4ioe5v6408: pi4ioe5v6408_2
      number: 6
      inverted: true
      mode:
        output: true

  - platform: gpio
    restore_mode: ALWAYS_OFF  
    id: "ac_relay_led_blue"
    pin:
      pi4ioe5v6408: pi4ioe5v6408_2
      number: 7
      inverted: true
      mode:
        output: true
  • 为 Display 组件新增 AC Relay UI
display:
  ...
  lambda: |-
    ...
    it.print(5, 80, id(font1), Color(orange), "Relays 1-4");
    it.filled_rectangle(5, 99, 25, 25, id(r1).state ? id(red) : id(grey));
    it.filled_rectangle(34, 99, 25, 25, id(r2).state ? id(red) : id(grey));
    it.filled_rectangle(63, 99, 25, 25, id(r3).state ? id(red) : id(grey));
    it.filled_rectangle(92, 99, 25, 25, id(r4).state ? id(red) : id(grey));
    it.print(141, 80, id(font1), Color(orange), "AC Expansion");    // The AC Relay Expansion
    it.filled_rectangle(141, 99, 25, 25, id(ac_r1).state ? id(red) : id(grey));
  ...

完成配置后,重新编译和上传固件, 将设备添加至 Home Assistant 即可通过额外的开关控制 AC Relay

开启和关闭开关,LCD 的状态会同步改变

相关视频

On This Page