- Vol.4
はじめに
近年、スマートホーム技術の進化により、さまざまなデバイスが互いに連携し、より便利な生活を提供しています。その中でも「Matter」は、異なるメーカーのデバイス間の互換性を高めるための新しい標準として注目を集めています。Matterを利用することで、ユーザーは異なるプラットフォームやエコシステムを気にせずにデバイスを接続し、操作することが可能になります。
現在、市販でもスマートプラグ、スマート照明、ドアロックなど多くのMatterデバイスが販売されていますが、そもそもこれらのデバイスの中身はどんなものなのか、個人でも作れるのではないかと思っている方も数多くいらっしゃるのではないでしょうか。
本記事ではMatter技術を実践で触れたい方や、Matterデバイスを自作したい方向けに、Matterデバイスの自作の仕方をご紹介します。
わざわざMatterデバイスを自作?
Matter技術はオープンソースのため、誰でも自作は可能です。
でもわざわざ自作する必要はあるのでしょうか。
以下にメリットを挙げてみました。
- 学習機会:Matterデバイスの自作を通じて、IoTや無線通信の基本を学ぶことができます。
- カスタマイズ性:自分のニーズに合わせたデバイスを作成できるため、特定の機能やデザインを実現できます。
- コスト削減:市販のMatterデバイスは高価な場合がありますが、自作することでコストを抑えることができます。
今回は以下のことを実践します。
- 評価基板を使ってサンプルMatterアプリ(ライト)をビルド
- Google・Apple・Amazonからデバイスを接続&制御
- サンプルMatterアプリにカスタマイズ機能を追加、検証
事前準備
機材準備
| 項目 | 数量 | 備考 | 
|---|---|---|
| Windows PC | 1台 | Windows11(Windows7、Windows10もOK) | 
| Matter対応評価基板 STM32WB5MM-DK | 1台 | STM32WB5MM-DKは、STMicroelectronicsが提供する開発キットです。Bluetooth Low Energy (BLE) およびIEEE 802.15.4無線通信(ZigbeeやThreadなどのプロトコル)をサポートしています。 開発者は、豊富なリソースとツールを利用して、迅速にプロトタイプを作成し、製品化に向けた開発を進めることができます。 | 
| PCと基板接続用USBケーブル | 1本 | 基板側端子:Micro USB Type-B PC側端子:USB Type-A or USB Type-C | 
| エコシステム環境 | ー | 
 | 
開発環境準備
以下必要なソフトをST公式ページからダウンロードします(アカウントの登録が必要)
| ソフト | 説明 | 現時点最新バージョン | 
|---|---|---|
| STM32CubeIDE | 統合開発環境(IDE) | 1.17.0 | 
|  | ||
| STM32CubeProg | 書き込みツール | 2.18.0 | 
|  | ||
| X-CUBE-MATTER | Matter開発用コード集 | 1.1.1 | 
|  | ||
| Matter | 上記開発環境に内蔵されているMatterのバージョン | 1.3 | 
| Tera Term | 接続用QRコード確認用 (オプション、必須ではない) | 5.3 | 
 
                ダウンロードしたファイル
インストール
※注意:ファイルのパスに日本語が含まれているとエラーになります
- STM32CubeIDE
						- 解凍後にexeファイルを実行します
- デフォルトインストールでOKです(パスは C:\ST\STM32CubeIDE_1.17.0 になります)
 
- STM32CubeProgrammer
						- 解凍後にexeファイルを実行します
- デフォルトインストールでOKです(筆者の場合、パスを C:\ST\STM32CubeProgrammer にしました)
 
- Matter software expansion for STM32Cube
						- 解凍のみです(インストール不要、筆者の場合、パスを C:\ST\en.x-cube-matter-v1-1-1 にしました)
 
 
                インストール後のフォルダ構成
ビルド手順
1.スタートメニューからSTM32CubeIDEを開きます
(workspaceフォルダは任意、筆者の場合、パスを C:\ST\workspace_1.17.0 にしました)
 
			2.[File]→[Open Projects from File System]を選択します
 
			3.[Directory…]からMatter開発用コード集のLighting-Appを選択します
(筆者の場合、パスは C:\ST\en.x-cube-matter-v1-1-1\Projects\STM32WB5MM-DK\Applications\Matter\Lighting-App になります)
 
			4.Lighting-Appのチェックを外し(フォルダ重複importになるため)、[Finish]を選択します
 
			5.左側のlighting-App-WB5MM-DKプロジェクトを右クリックし、[Build Project]を選択します
 
			6.完了まで待機します(PCスペックによって、数分~数十分がかかります)
 
			バイナリファイル(lighting-App-WB5MM-DK.bin)が以下のパスに生成されます
C:\ST\en.x-cube-matter-v1-1-1\Projects\STM32WB5MM-DK\Applications\Matter\Lighting-App\STM32CubeIDE\Debug
書き込み手順
1.PCとSTM32WB5MM-DKを接続する
 
			2.スタートメニューからSTM32CubeProgrammerを開きます
3.[Connect]をクリックし、STM32CubeProgrammerとSTM32WB5MM-DKを接続します
 
			4.BLE/Threadスタック用ファームウェアを書き込みます
(該当ファームウェアは通信用スタックで、バイナリーとしてST社が提供しています)
- [Firmware Upgrade Services]のタブを選択します
- [Browse]を選択します
- 以下のパスからstm32wb5x_BLE_Thread_light_dynamic_fw.binを選択します
 C:\ST\en.x-cube-matter-v1-1-1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x
- [Firmware Upgrade]を選択し、書き込みます
 
			5.Lightingアプリファームウェアを書き込みます
- [Erasing&Programming]のタブを選択します
- [Browse]を選択します
- 以下のパスからlighting-App-WB5MM-DK.binを選択します
 C:\ST\en.x-cube-matter-v1-1-1\Projects\STM32WB5MM-DK\Applications\Matter\Lighting-App\STM32CubeIDE\Debug
- [Start Programming] を選択し、書き込みます
 
			6.基板のLCDに[Dimmable Light]が出力されたら書き込み成功です
 
			7.[Disconnect]を選択し、デバイスとの接続を解除します
接続・制御の動作確認
筆者はAppleのエコシステムとして、HomePod miniとiPhoneを使用しています。
コミッショニング
iPhoneの「ホーム」アプリを開いて、右上の[+]から[アクセサリを追加]を選択します
 
				以下のQRコードをスキャンして、デバイスを追加します
※評価基板につきましては、QRコードは固定になっています
 
				iPhone操作
 
				QRコードの出し方を以下で紹介しますが、これは実施しなくても特に問題はありません
- USBケーブルで対応評価基板とPCを接続させます。
- TeraTermを開いて、[ファイル]⇒[新しい接続]⇒[シリアル]⇒STLink Virtual COM Portを選択し、[OK]を押下します。
 
				- [設定]⇒[シリアルポート]⇒[スピード]を115200に変更した後、[現在の接続を再設定]を選択します
 
				- 評価基板のB1ボタンを長押しします(TeraTermのターミナルにFACTORY RESETと表示されるまで)
- 評価基板のログが出力されて、中からQRコードのURLをコピーして、ブラウザで開くと上記QRコードが取得できます
 
				評価基板の動作確認
- 点灯・消灯
 
				- 調光
 
				【応用編】カスタマイズ機能追加
ここまではSTが提供しているサンプルアプリを使って、Matterの開発を体験できましたね。
では新規カスタマイズ機能を実装するにはどうすればよいでしょうか。
以下の機能を例として、実装の方法をご紹介します。
機能概要
評価基板上の「B2」ボタンを使って、物理的な点灯・消灯操作を実現します
実装後の動作
 
			実装ヒント
筆者は数行のコードを追加しただけで、機能を実現できました。
ステップは以下の通りです。
※コードを編集後に、第三章~第五章の手順を再度実施する必要があります。
- ボタンコールバック関数の登録
- Matter関連処理を実行
他のカスタマイズ機能実装案
- 調光レベルをパーセンテージで表示させる
- 「B2」ボタンで5段階調光(0%、20%、50%、80%、100%の)ループに変更する
まとめ
Matter対応評価基板を用いて、Matterデバイスの自作手順を紹介しました。
いかがでしたか。Windowsだけでも、簡単にゼロからMatterデバイスを開発できましたね。
今回はMatterのライトというクラスタのみを触れましたが、コード集の中にも他のクラスタのサンプルアプリが用意されています。ぜひ確認して、評価基板で動かしてみてください。
Matterデバイスの自作は、IoT・スマートホームやMatter技術の理解を深める素晴らしい機会です。回路設計、はんだなどの経験を持つ方はMatterの通信を利用して、別用途のデバイスの「発明」も可能ですね。
今回使用したSTM32WB5MM-DKやその他のSTマイクロエレクトロニクス製品をお求めの際は、株式会社ネクスティ エレクトロニクスをご利用ください。
当社はSTマイクロエレクトロニクスの正規代理店として、信頼性の高い製品を提供しています。
また、当社では取り扱い商材を活用した自社開発や受託開発(ハードウェア、ソフトウェア開発)も行っております。
お客さまのプロジェクトをサポートするために、最適なソリューションを提案いたしますので、ぜひお気軽にお問い合わせください!
お問い合わせ
関連技術コラム
関連製品情報
 - GMSL2 設計の勘所 - アナログ・デバイセズの次世代GMSL、GMSL2について特徴と、 設計の勘所を説明します。 - Analog Devices, Inc.
 - NEXT Mobility
 
 - エッジ処理による消費電力低減 第3世代MEMSセンサー - 加速度+ジャイロのモノリシック集積センサ iNEMO™慣性モジュールのご紹介です。センサー内で一定のデータ処理が可能なほか、機能実装を容易に行えます。 - STMicroelectronics
 - NEXT Mobility
- ICT・インダストリアル
- スマートファクトリー・ロボティクス
 
 - 車載アラウンドビューシステムに搭載される各カメラ故障検知時の課題解決 - 複数カメラシステムにおける、カメラ単体故障が他の正常なカメラにも影響を及ぼす課題を解決するソリューションとしてMAX20086/7/8/9を紹介します。 - Analog Devices, Inc.
 - NEXT Mobility
- ICT・インダストリアル
- スマートファクトリー・ロボティクス
 
 - NXPのNPUを搭載したi.MX/MCXによるエッジAIソリューションをご紹介 - 利用が急増しているエッジAIについて、実際の機器を踏まえて解説します。NXPがリリースしている、NPUを搭載したプロセッサー、マイコンをご紹介します。 - NXP Semiconductors N.V.
 - NEXT Mobility
- ICT・インダストリアル
- スマートファクトリー・ロボティクス
 
 - ミリ波レーダーを活用した在室検知 簡易デモシステム - 高精度・低消費電力の在室検知デモシステムです。プライバシーに配慮した人物検知で、会議室の利用状況把握やバス置き去り防止に貢献します。 - Acconeer AB
 - NEXT Mobility
- ICT・インダストリアル
 
 - 位置センサー | ams OSRAM - amsOSRAMの位置センサーは、独自技術で高性能を実現し、産業や自動車のモーター制御に最適です。 - ams-OSRAM AG
 - NEXT Mobility
- ICT・インダストリアル
 


