AtomS3R-M12のESPHome 統合には、起動シーケンス、慣性センサー、PSRAM、OV3660カメラコンポーネントが含まれます。
| 項目 | 情報 |
|---|---|
| 製品 | AtomS3R-M12 |
| SKU | C126-M12 |
| 主な機能 | カメラ、加速度、ジャイロ、温度データ |
| インターフェース | I2C、カメラパラレルインターフェース |
| ESPHomeコンポーネント | bmi270_bmm150(外部)、psram、esp32_camera |
| ESPHomeバージョン | / |
AtomS3R-M12の電源投入後、ハードウェアバスを初期化する前にGPIO18をLowにする必要があります。これを行わないと、慣性センサーとの通信に失敗する場合があります。次の処理は高い起動優先度で実行されます。
esphome:
name: atoms3r-m12
friendly_name: AtomS3R-M12
on_boot:
priority: 800
then:
- lambda: |-
gpio_set_direction(GPIO_NUM_18, GPIO_MODE_OUTPUT);
gpio_set_level(GPIO_NUM_18, 0);
vTaskDelay(pdMS_TO_TICKS(1500)); カメラのフレームバッファにはESPHome 公式のPSRAMコンポーネントを使用します。
psram:
mode: octal
speed: 80MHz 現在のESPHomeには本デバイスに適した公式 BMI270/BMM150ドライバがないため、コミュニティ製のbmi270_bmm150外部コンポーネントを使用します。
external_components:
- source: github://DennisGaida/m5stack-atoms3r-components@main
components: [bmi270_bmm150] 外部プラットフォームは、3 軸加速度、3 軸ジャイロ、温度のエンティティを提供します。
i2c:
- id: bmi270_i2c
sda: GPIO45
scl: GPIO0
sensor:
- platform: bmi270_bmm150
i2c_id: bmi270_i2c
address: 0x68
update_interval: 5s
acceleration_x:
name: "BMI270 Accel X"
acceleration_y:
name: "BMI270 Accel Y"
acceleration_z:
name: "BMI270 Accel Z"
gyroscope_x:
name: "BMI270 Gyro X"
gyroscope_y:
name: "BMI270 Gyro Y"
gyroscope_z:
name: "BMI270 Gyro Z"
temperature:
name: "BMI270 Temperature" OV3660にはESPHome 公式のESP32 Cameraコンポーネントを使用します。
i2c:
- id: camera_i2c
sda: GPIO12
scl: GPIO9
frequency: 100kHz
timeout: 10ms
esp32_camera:
name: "OV3660 Camera"
external_clock:
pin: GPIO21
frequency: 20MHz
i2c_id: camera_i2c
data_pins: [GPIO3, GPIO42, GPIO46, GPIO48, GPIO4, GPIO17, GPIO11, GPIO13]
vsync_pin: GPIO10
href_pin: GPIO14
pixel_clock_pin: GPIO40
resolution: 640X480
jpeg_quality: 10 完全な設定はatoms3r-m12-example.yamlを参照してください。ネットワーク、API、GPIO18の起動シーケンス、サードパーティ製慣性センサー、PSRAM、カメラの設定が含まれています。
デバイス追加時のHome Assistant 画面:
追加後は、カメラと慣性センサーのエンティティを確認できます。
Home Assistantダッシュボードの例: