Skip to main content

SenseCAP Indicator - Matter アプリケーション開発

はじめに

これは、Matter SDKを使用してSenseCAP Indicator用の豊富なアプリケーションを構築する方法のデモです。

SenseCAP Indicatorにはタッチスクリーンが搭載されており、強力なホームオートメーションインターフェースとして機能することができます。Matterは設定の複雑な側面の多くを取り除くため、これまで以上にプロセスを簡単にします。MatterのSDKの助けを借りて、QRコードを素早くスキャンしてデバイスをホームネットワークに設定することができます。

この記事では、デモでデバイスを起動して実行するために必要な手順を説明します。



Matter SDKは標準的なデバイスセットを提供し、それらのデータへのアクセスとコントローラーへの状態のアップロードを可能にします。ESP-MatterはEspressifによってESP32シリーズSoC用の公式Matter開発フレームワークとして開発されました。

SenseCAP IndicatorをMatterで動作させるには、いくつかの主要な手順に従う必要があります:

  1. esp-idfとesp-matterのインストール
  2. 環境の設定とビルド
  3. アプリケーションの使用
  4. Home Assistant UIのさらなる設定

前提条件

始める前に、SenseCAP Indicatorボードのユーザーガイドを読んで、そのソフトウェアとハードウェア情報に慣れ親しんでください。

ESP IDFとESP Matterのインストール

ESP-Matter SDK ドキュメントで提供されている手順に従って、ESP-IDFのバージョン5.0.1とESP-Matterのリリースバージョン1.1をインストールしてください。

これらのバージョンがインストールされた後、Seeed Studioが提供するパッチをインストールしてください提供されたパッチを適用

環境の設定とビルド

CLIを使用した設定とビルド

~/esp/esp-idf/install.sh
~/.espressif/esp-matter/install.sh

. ~/esp/esp-idf/export.sh
. ~/.espressif/esp-matter/export.sh

cd examples/indicator_matter
idf.py set-target esp32s3
idf.py fullclean
idf.py erase-flash
idf.py build flash monitor

アプリケーションの使用

ファームウェアがフラッシュされると、画面はQRコードのみで開始されます。ホームオートメーションのスマートフォンアプリケーションを開き、デバイスプロビジョニングフローに入ります(メーカーによって異なります)。

以下の例では、Matter Betaサービスを実行しているHome Assistant Yellowに接続するためにHome Assistantモバイルアプリケーションを使用している様子を見ることができます。

デバイスをスキャンすると、私のスマートフォンは即座にプロビジョニングプロセスを開始します。プロビジョニングプロセスは、デバイスがwifi経由でホームオートメーションコントローラーデバイスに接続できるように、認証情報をデバイスに安全に渡すことを処理します。この方法により、実際にwifi認証情報をどこかに書く必要がありません。

プロビジョニング後、デバイスは10秒間隔でホームアシスタントコントローラーに温度と湿度を報告し始めます。

標準機能

Indicator Matterアプリケーションは、標準ファームウェアと同様の方法でセンサーデータを閲覧することができます。デバイスを読み込むと、あなたの位置に基づいて設定された時計画面が表示され、正確な時刻を提供します。画面には右と左にスライドすることを検出するイベントがあり、時刻、センサー表示、設定画面を循環します。

センサーをクリックすると、そのセンサーの状態に関する追加情報が表示され、この方法で履歴を確認することができます。

設定画面では、デバイス機能のいくつかの要素を設定できます。12時間または24時間表示の時計を設定でき、タイムゾーンは上書き可能で、ディスプレイの明度も調整できます。

Matter Home Assistant ダッシュボード

Matter Home Assistant ダッシュボードにアクセスするには、メインの時計画面から下にスワイプします。このダッシュボードには複数の異なるコンポーネントがあり、これらはMatter側のデモデバイスに関連付けられています。プロビジョニングプロセス中に、これらのデバイスにはエンドポイントが作成され、ライトの調光や完全な消灯などの一般的な機能にアクセスするために使用できます。

このデモの場合、2つの調光可能なライトとドアロックが設定されています。ボタンをクリックすると、Home Assistantサイドもこれらの変更を反映するように更新されることがわかります。スライダーを動かしてライトの明度を設定できます。

Home Assistantサイドからは、デバイスを必要に応じて有効化、無効化、または変更でき、SenseCAP Indicatorもそれを反映するように更新されます。この方法で、追加の自動化によってIndicatorデバイスの機能を無効化または有効化し、画面にその状態をリアルタイムで反映させることができます。

使用中のホームコントローラーの仮想ダッシュボードと自動化機能により、様々な興味深い組み合わせが可能になります。SenseCAP Indicatorを使用して、ホーム環境全体のデバイスを制御するための独自のダッシュボードを構築できます。

Home Assistant UIのさらなる設定

UI自体はLVGLを使用して構築されています。LVGLの設定に関するより詳細な情報については、以下の記事を参照してください。

ダッシュボードのUIは、データがローカルストレージとMatterエンドポイントの両方に永続化されるように、コールバック用のイベントが設定されたLGVLコンポーネントで構成されています。仮想ダッシュボードコントローラー(indicator_virtual_dashboard_controller.c)は、基盤となるデータが変更されたときに、フォームの更新と他のコンシューマー向けの関連イベントの投稿を処理します。

初期例では3つのデバイスが設定されており、Matterモデルの基盤となるロジックが、ビューからのイベントへの応答とMatterエンドポイントへのデータの永続化、またはUIの状態更新を処理します。

一般的に、UIを更新してMatterに永続化する際は、以下の考慮事項を考慮する必要があります:

  • 初期化プロセス中に、indicator_matter.cppモデルのindicator_matter_setup()メソッドが、Matterで使用するための関連デバイスを設定します。さらに、変更時にMatterエンドポイントが更新されるように、ビューイベント用のコールバックが設定されます。
  • indicator_virtual_dashboard.cモデルは、仮想ダッシュボードに関連するビューイベントをリッスンし、初期化時の取得のためにデータをストレージに永続化します。
  • Matterロジックは、変更されたMatterデータ(リモートまたはローカル)に関するイベントを購読します。
  • 仮想ダッシュボードコントローラーは、Matterコントローラーからの変更に対するindicator_matter.cpp Matterコールバックを介して送信されるイベントに応答して、必要に応じてフォームの状態更新を処理します。

Resources

  1. Demo SDK: SenseCAP IndicatorのDemo SDKはGitHubで入手できます。
  2. ユーザーガイド: ユーザーガイドはSenseCAP Indicatorボードのソフトウェアとハードウェアに関する詳細情報を提供します。こちらで読むことができます。
  3. ESP-IDFスタートガイド: このガイドはESP-IDFを設定してプロジェクトをビルドするための完全な手順を提供します。こちらでアクセスできます。
  4. Matterインストールガイド: ESP-Matterが初めての場合、このガイドがインストールとセットアップをサポートします。こちらで見つけることができます。

Tech Support

SenseCAP Indicatorでお困りですか?サポートいたします!

このチュートリアルに従っている間に問題が発生したり、質問がある場合は、お気軽に技術サポートにお問い合わせください。私たちはいつでもお手伝いします!

Seeed公式Discordチャンネルで質問するか、GitHub discussionsで共有したいことをすべて投稿してください!

Loading Comments...