本教程将使用 Unit Encoder 旋转编码器搭配 Atom Lite 主控,并将其集成到 Home Assistant 中,实现旋钮数值读取、按键检测与 RGB LED 控制。
CONTINUE。
New Device Setup,进入设备创建向导。
NEXT。
Use recommended settings,然后选择 ESP32,在详情页中找到 Unit Encoder 并选中,点击 NEXT。
SKIP,跳过加密密钥设置。
EDIT,进入 YAML 配置页面,自定义设备功能。
在 YAML 文件中添加 External Components 配置,加载 Unit Encoder 驱动。
external_components:
- source: github://m5stack/esphome-yaml/components
components: [m5unit_encoder]
refresh: 0s i2c:
sda: GPIO26
scl: GPIO32
scan: true sensor:
- platform: m5unit_encoder
id: unit_encoder_1
name: "Encoder Value" binary_sensor:
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
name: "Encoder Button" output:
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 0
channel: red
id: led0_red
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 0
channel: green
id: led0_green
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 0
channel: blue
id: led0_blue
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 1
channel: red
id: led1_red
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 1
channel: green
id: led1_green
- platform: m5unit_encoder
m5unit_encoder_id: unit_encoder_1
led_index: 1
channel: blue
id: led1_blue light:
- platform: rgb
name: "LED 0"
red: led0_red
green: led0_green
blue: led0_blue
- platform: rgb
name: "LED 1"
red: led1_red
green: led1_green
blue: led1_blue 主要参数说明:
| 参数 | 说明 |
|---|---|
m5unit_encoder_id | 关联到对应的 m5unit_encoder sensor 实例 ID |
led_index | LED 索引,0 或 1,对应两颗 SK6812 LED |
channel | 颜色通道,可选 red、green、blue |
SAVE 保存配置,再点击 INSTALL。
Manual Download。
Download 并选择 Factory format (Previously Modern),将固件保存到本地。
CONNECT。
INSTALL。
Settings > Devices & Services,进入集成管理页面。
Discovered 区域找到已上线的 Unit Encoder 设备,点击 CONFIGURE 并按照提示完成添加。
