StackChan の ESPHome 統合には、電源、ディスプレイ、オーディオ、カメラ、センサー、サーボ、照明コンポーネントが含まれます。
| 項目 | 情報 |
|---|---|
| 製品名 | StackChan |
| SKU | K151 / K151-R |
| 主な機能 | ディスプレイ、オーディオ、カメラ、センサー、サーボ、照明の制御 |
| 通信インターフェース | I2C、I2S、UART、SPI、GPIO |
| ESPHome コンポーネント | axp2101、aw9523b、aw88298、si12t、m5ioe1、ftservo、scs9009(外部コンポーネント)、es7210、i2s_audio、mipi_spi、ft63x6、esp32_camera、ltr_als_ps、ina226、remote_transmitter、remote_receiver、bm8563 |
| 必要な ESPHome バージョン | / |
StackChan の電源、アンプ、IO 拡張、ヘッドタッチ、ライトバー、サーボには、M5Stack の外部コンポーネントを使用します。
external_components:
- source: github://m5stack/esphome-yaml/components
components: [axp2101, aw88298, aw9523b, si12t, m5ioe1, ftservo, scs9009]
refresh: 0s axp2101 は CoreS3 の電源レールと LCD バックライトを制御し、aw9523b はリセットと電源方向を制御します。m5ioe1 はサーボとライトバー用の拡張 IO を提供します。
i2c:
- id: bsp_bus
sda: GPIO12
scl: GPIO11
frequency: 100kHz
axp2101:
id: axp2101_pmu
i2c_id: bsp_bus
aw9523b:
id: aw9523b_hub
i2c_id: bsp_bus
p0_drive_mode: PUSH_PULL
m5ioe1:
id: m5ioe1_hub
i2c_id: bsp_bus
reset: true
output:
- platform: axp2101
type: range
channel: DLDO1
id: lcd_backlight_output
min_voltage: 2600
max_voltage: 3300 BUS 出力と USB OTG を使用するには、先に昇圧回路を有効にする必要があります。
switch:
- platform: gpio
name: "BOOST_EN"
pin:
aw9523b_id: aw9523b_hub
number: 15
restore_mode: RESTORE_DEFAULT_ON
- platform: gpio
name: "USB_OTG_EN"
pin:
aw9523b_id: aw9523b_hub
number: 5
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
name: "BUS_OUT_EN"
pin:
aw9523b_id: aw9523b_hub
number: 1
restore_mode: RESTORE_DEFAULT_ON BUS_OUT_EN と USB_OTG_EN は、BOOST_EN が有効な場合にのみ機能します。デフォルト状態を変更する前に、周辺機器への電源供給方向を確認してください。マイクには公式の ES7210 Audio ADC と I2S Microphone を使用し、スピーカーには aw88298 外部 Audio DAC と I2S Speaker を使用します。
i2s_audio:
id: i2s_audio_bus
i2s_lrclk_pin: GPIO33
i2s_bclk_pin: GPIO34
i2s_mclk_pin:
number: GPIO0
ignore_strapping_warning: true
audio_adc:
- platform: es7210
id: es7210_adc
i2c_id: bsp_bus
bits_per_sample: 16bit
sample_rate: 16000
mic_gain: 36
microphone:
- platform: i2s_audio
id: i2s_mic
i2s_din_pin: GPIO14
adc_type: external
sample_rate: 16000
bits_per_sample: 16bit
i2s_audio_id: i2s_audio_bus
audio_dac:
- platform: aw88298
id: aw88298_dac
i2c_id: bsp_bus
sample_rate: 48000
speaker:
- platform: i2s_audio
id: i2s_speaker
i2s_audio_id: i2s_audio_bus
dac_type: external
i2s_dout_pin: GPIO13
audio_dac: aw88298_dac LCD には公式の MIPI SPI Display Platform を使用し、タッチスクリーンには FT63X6 Platform を使用します。最小構成ではテスト画面を有効にします。
spi:
- id: spi_bus
clk_pin: GPIO36
mosi_pin: GPIO37
display:
- platform: mipi_spi
model: M5CORE
dc_pin: GPIO35
reset_pin:
aw9523b_id: aw9523b_hub
number: 9
cs_pin:
number: GPIO3
ignore_strapping_warning: true
data_rate: 40MHz
invert_colors: true
show_test_card: true
touchscreen:
- platform: ft63x6
i2c_id: bsp_bus
reset_pin:
aw9523b_id: aw9523b_hub
number: 0 GC0308 には公式の ESP32 Camera コンポーネントを使用します。setup_priority: -200 は、電源と IO エキスパンダーの初期化完了を待つために必要です。
esp32_camera:
name: "Camera"
i2c_id: bsp_bus
setup_priority: -200
vsync_pin:
number: GPIO46
ignore_strapping_warning: true
href_pin: GPIO38
external_clock:
pin: GPIO2
frequency: 20MHz
pixel_clock_pin:
number: GPIO45
ignore_strapping_warning: true
data_pins: [GPIO39, GPIO40, GPIO41, GPIO42, GPIO15, GPIO16, GPIO48, GPIO47]
resolution: 320x240
frame_buffer_location: PSRAM setup_priority: -200 は削除しないでください。電源とリセット信号が安定する前にカメラの初期化が始まる可能性があります。LTR-553ALS-WA には公式の LTR-ALS-PS Platform を使用し、電圧、電流、電力には公式の INA226 Platform を使用します。
sensor:
- platform: ltr_als_ps
address: 0x23
i2c_id: bsp_bus
type: ALS_PS
ambient_light:
name: "Ambient Light"
ps_counts: "Proximity Counts"
- platform: ina226
i2c_id: bsp_bus
address: 0x41
shunt_resistance: 0.01 ohm
max_current: 3.2A
current:
name: "INA226 Current"
power:
name: "INA226 Power"
bus_voltage:
name: "INA226 Bus Voltage" 2 台の SCS9009 サーボにはそれぞれアドレス 1 と 2 を使用し、ftservo Number Platform で基本的な角度制御を行います。
uart:
tx_pin: GPIO6
rx_pin: GPIO7
baud_rate: 1000000
scs9009:
ftservo:
- platform: scs9009
address: 1
id: x_servo
- platform: scs9009
address: 2
id: y_servo
number:
- platform: ftservo
ftservo_id: x_servo
angle:
name: "Servo X Angle"
min_value: -164
max_value: 164
use_raw_angle: false
angle_offset: 164
step: 5 si12t 外部コンポーネントは、3 チャンネルの静電容量式タッチ状態を提供します。以下では第 1 チャンネルを例に示します。
si12t:
id: touch_hub
i2c_id: bsp_bus
text_sensor:
- platform: si12t
name: "Touch Sensor 1"
channel: CH_1
update_interval: 1s 12 個の RGB LED には m5ioe1 Light Platform を使用します。M5IOE1 Pin 14 は必ず有効にし、BUS 側では 5V 供給のため BOOST_EN と BUS_OUT_EN も必要です。
switch:
- platform: gpio
name: "M5IOE1 Pin 14"
pin:
m5ioe1_id: m5ioe1_hub
number: 13
mode:
output: true
pullup: true
restore_mode: RESTORE_DEFAULT_ON
light:
- platform: m5ioe1
name: "StackChan Light Bar"
num_led: 12 基板上の赤外線送信と受信には、ESPHome 公式の Remote Transmitter および Remote Receiver コンポーネントを使用します。
remote_transmitter:
pin: GPIO5
carrier_duty_percent: 50%
non_blocking: true
remote_receiver:
pin: GPIO10 基板上の RTC には公式の BM8563 Platform を使用します。起動時に RTC を読み取り、Home Assistant の時刻同期完了後に RTC へ書き戻します。
time:
- platform: bm8563
i2c_id: bsp_bus
update_interval: never
- platform: homeassistant
on_time_sync:
then:
- bm8563.write_time: 完全な設定は packages から読み込めます。
packages:
remote_package_files:
url: https://github.com/m5stack/esphome-yaml
files: [examples/kit/stackchan-bsp.factory.yaml]
ref: main
refresh: 0s 完全なソースコードは stackchan-bsp.factory.yaml を参照してください。
Home Assistant にデバイスを接続すると、StackChan の基本エンティティを確認できます。
ESPHome 統合に表示されるデバイスエンティティ: