跳到正文
🟠 需外部服务 — 需自备相关账号/权限 实战 生活助手

EspHoMaTriX:8x32 LED 矩阵显示 OpenClaw 状态

用 ESPHome 驱动 LED 点阵屏,通过 OpenClaw Webhook 推送消息实时显示在桌面 LED 屏

⚔️ 难度 ★★★ 实战
⏱ 配置耗时 120 分钟
🎁 掉落 节省 120 分钟
🦞 部署 可一键部署

🎯 做完你会得到

桌面 LED 矩阵屏实时滚动显示 AI 通知、天气和自定义状态

👤 适合谁

  • 智能家居爱好者
  • 极客
  • 硬件DIY玩家

⚡ 效果预览

用OpenClaw控制ESP Home设备,语音/消息指令操控家里所有智能硬件

🔧 Step 0:先确认外部工具配置

⚠️ 本案例依赖外部工具(Telegram/Notion/飞书等),先确认已配置 👉 查看常用工具配置指南 →

这个场景解决什么问题

手机放着不看,重要消息容易错过。桌面 LED 矩阵屏实时滚动显示 OpenClaw 发来的消息、天气和提醒,就像一个永远亮着的消息提示灯。

硬件准备

方案A:购买商业设备(推荐)

  • Ulanzi TC001 像素时钟(约 ¥300-400)
  • 免驱动,直接用 USB-C 连接刷固件

方案B:自制

  • 8x32 WS2812B RGB LED 矩阵
  • ESP32 开发板
  • 总成本:约 ¥100-150

直接复制这段配置

第一步:开启 OpenClaw Webhook

~/.openclaw/openclaw.json 中添加:

{
  "hooks": {
    "enabled": true,
    "token": "my-led-secret-token",
    "path": "/hooks"
  }
}

重启 Gateway:

openclaw gateway restart

验证 Webhook 已开启:

curl -s http://localhost:18789/hooks/wake \
  -H "Authorization: Bearer my-led-secret-token" \
  -H "Content-Type: application/json" \
  -d '{"text": "webhook test", "mode": "now"}'

第二步:安装 EspHoMaTriX 固件

pip install esphome

# 下载 EspHoMaTriX 配置示例
git clone https://github.com/lubeda/EspHoMaTriXv2.git
cd EspHoMaTriXv2

Ulanzi TC001 基础配置 (ulanzi.yaml):

substitutions:
  name: ulanzi-matrix
  friendly_name: Ulanzi Matrix

esphome:
  name: $name

external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EspHoMaTriXv2
      ref: main

wifi:
  ssid: "你的WiFi名"
  password: "你的WiFi密码"

# 启用 HA API 和 Web API
api:
  password: "ha-api-password"

web_server:
  port: 80

ehmtxv2:
  id: rgb8x32
  matrix_component: led_matrix
  clock_interval: 60
  scroll_interval: 80
  
# LED 矩阵配置(Ulanzi TC001)
light:
  - platform: neopixelbus
    id: led_matrix
    type: GRB
    variant: WS2812
    pin: GPIO32
    num_leds: 256
    
display:
  - platform: addressable_light
    id: matrix
    addressable_light_id: led_matrix
    width: 32
    height: 8

编译并刷入固件:

esphome run ulanzi.yaml

第三步:从 OpenClaw 推送消息到 LED 屏

方式一:通过 Home Assistant REST API(如果已接入 HA)

在 AGENTS.md 里加:

## 重要消息推送规则
收到以下情况时,调用 Home Assistant API 发送到 LED 屏:
- 定时任务完成通知
- 关键提醒(如会议、截止日期)

调用方式:POST http://homeassistant.local:8123/api/services/rest_command/led_message
Header: Authorization: Bearer <HA长期令牌>
Body: {"text": "消息内容", "duration": 30}

方式二:通过 ESPHome Web API 直接推送(无需 HA)

先在 ESPHome 配置中开启 REST 服务,然后从 OpenClaw 直接发送:

# 测试直接推送
curl -X POST http://ulanzi-matrix.local/api/services/ehmtxv2/show_text \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from OpenClaw!", "duration": 30}'

第四步:设置定时 LED 推送

# 每天下班时发一条消息到 LED 屏
openclaw cron add \
  --name "下班LED提醒" \
  --cron "0 18 * * 1-5" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "给桌面LED屏发一条鼓励消息,内容简短(不超过20个字),然后调用 ESPHome API 推送到 LED 屏" \
  --announce

第五步:Home Assistant 自动化(可选)

如果通过 HA 中转,在 HA 中创建自动化:

# configuration.yaml
rest_command:
  led_message:
    url: "http://ulanzi-matrix.local/api/services/ehmtxv2/show_text"
    method: POST
    headers:
      Content-Type: "application/json"
    payload: '{"text": "{{ text }}", "duration": {{ duration | default(30) }}'
    content_type: "application/json"

预期结果

  • 桌面 LED 屏实时显示 AI 通知
  • 收到重要消息时滚动字幕提示
  • 平时显示时钟(EspHoMaTriX 内置)

注意事项

  • EspHoMaTriX 项目已更新为 v2,建议用 EspHoMaTriXv2
  • ESP8266 内存有限,建议使用 ESP32 获得更好性能
  • LED 矩阵有多种排列方式,pixel_mapper 需根据实际接线调整
  • Ulanzi TC001 内置 LDR 传感器,可自动调节亮度
  • OpenClaw 暂无官方 ESPHome 技能包,以上为 Webhook + REST 集成方案
#硬件#ESP32#LED矩阵#ESPHome#Home Assistant#IoT#Webhook