pdf-icon

AtomS3R-M12 Home Assistant インテグレーション

はじめに

AtomS3R-M12 は、M12 3MP OV3660 広角カメラを備えたコンパクトな IoT プログラマブルコントローラー(24×24×22.1mm)です。ESP32-S3-PICO-1-N8R8(Wi-Fi、8MB Flash + 8MB PSRAM)で動作し、5V→3.3V 電源回路、BMM150 地磁気センサー、BMI270 六軸センサー、ドライバーレス USB カメラ、赤外線制御、強化型 3D アンテナによる安定した接続性、電源/ファームウェアアップデート用 USB-C、HY2.0-4P 拡張ポート、および簡単に拡張できる 6 つの GPIO/電源ピンを備えています — IoT モニタリングと教育開発に最適です。

ESPHome の最新設定例を確認

準備

  • Home Assistant ホスト
  • Home Assistant に ESPHome Builder をインストールして有効にする
ヒント
このチュートリアルでは、ESPHome 2025.12.5 でファームウェアをコンパイルしてアップロードしています。コンパイル/アップロードの問題が発生した場合は、ESPHome をこのバージョンに切り替えることを検討してください。

ステップ 1. 新しいデバイスを作成

  • 右下の緑のボタンをクリックしてデバイスを作成します。

ステップ 2. デバイス名を作成

  • CONTINUE をクリックします。

  • New Device Setup をクリックします。

  • デバイスの名前を入力して、NEXT をクリックします。

ステップ 3. デバイスタイプを選択

  • ESP32-S3 をクリックします。

  • SKIP をクリックします。

ステップ 4. YAML ファイルの編集を開始

  • EDIT をクリックします。YAML ファイルを通じてデバイス機能をカスタマイズできます。

デバイス設定

以下はコードのコア部分です。関連するリファレンスと説明を以下に示します。

基本情報とブートアクション

  • on_boot コンポーネントを追加
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)); 
注意
ハードウェア回路設計により、AtomS3R-M12 は電源投入後に GPIO18 をロウに引き下げて、適切な I²C 通信を有効にする必要があります。 I²C バスが初期化またはアクセスされる前に GPIO18 がロウレベルに設定されていない場合、I²C 通信が失敗する可能性があります。 したがって、GPIO18 制御には最高優先度を割り当て、システム起動の早期段階でロウに引き下げられることを確認する必要があります。

PSRAM 設定

  • PSRAM コンポーネントを追加
psram:
  mode: octal
  speed: 80MHz 

外部コンポーネント

external_components:
  - source: github://DennisGaida/m5stack-atoms3r-components/components@main
    components: [bmi270_bmm150]
注意
ESPHome はまだ公式の BMI270 / BMM150 コンポーネントを提供していないため、このプロジェクトはコミュニティ開発者が提供したサードパーティコンポーネントリポジトリを使用しています。 作者のご貢献に心より感謝いたします。

I2C バス設定

  • I2C コンポーネントを追加

    i2c:
    - id: BMI270_150
      sda: GPIO45
      scl: GPIO0
    - id: camera_i2c
      sda: GPIO12
      scl: GPIO9
      frequency: 100kHz  
      timeout: 10ms

    センサー設定

  • Sensor コンポーネントを追加

sensor:
  - platform: bmi270_bmm150
    i2c_id: BMI270_150
    address: 0x68
    update_interval: 3s
    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" 

カメラ設定

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

ファームウェアビルド

  • 再度 INSTALL をクリックしてファームウェアをフラッシュして完了を待ちます。

  • 変更を加えた後、右上の SAVEINSTALL をクリックしてから、ポップアップで Manual Download を選択します。

  • ファームウェアのコンパイルが完了したら、Download をクリックして Factory format(Previously Modern) を選択します

ヒント
AtomS3R-M12 をクリックして完全な設定例を表示します。最初のビルドは Home Assistant ホストのパフォーマンスとネットワーク品質に応じて時間がかかる場合があります。

ファームウェアアップロード

  • USB Type‑C ケーブルでデバイスをホストに接続します。ESPHome Web を開き、CONNECT をクリックしてデバイスに接続します。

  • 対応するシリアルポート番号を検索

  • INSTALL をクリック

  • 以前にコンパイルしたファームウェアを選択してアップロードします。

ヒント
ダウンロード完了後、デバイスはリセットする必要があることに注意してください。

Home Assistant インテグレーション

  • Settings -> Device & services をクリックしてデバイスを確認します。

  • Discover セクションで対応するデバイスを見つけることができます。

  • デバイスを追加すると、データが正しく表示されます。

  • 最後に、これらのエンティティをダッシュボードに追加します。以下はその表示結果を示しています。

On This Page