マイコン・ボードFRDM-RW612でMatter通信を試す


写真1 Matterによる通信をサポートする開発ボードFRDM-RW612


★10月14日にメルマガ筆者によるハンズオン・セミナを開催します!詳細は特設ページへ★
組み込みマイコン入門講座 特設ページ

井田 健太 Kenta Ida

 FRDM-RW612(NXPセミコンダクターズ)は,トライラジオ内蔵ワイヤレス・マイコンRW612(NXPセミコンダクターズ)を搭載する評価ボードです. Wi-Fi 6(2.4GHz/5GHz),Bluetooth LE,IEEE802.15.4無線を搭載しており,Matter over Wi-FiもしくはMatter over ThreadによるMatterデバイスの開発に対応します.
 図1に全体のブロックを示します.



図1 FRDM-RW612の全体ブロック

■ボードの概要

●搭載マイコン

 RW612には,CPUとして最高260MHz動作のCortex-M33を搭載しています.また,内蔵メモリとして1.2MバイトのSRAMを搭載しています. プログラムは外付けのQuad SPIフラッシュ・メモリに格納され,FlexSPIペリフェラルのexecute in-place機能により直接実行されます. また,同様にFlexSPIペリフェラル経由で外付けのpSRAM(pseudo Static Random Access Memory,擬似SRAM)を接続できます.
 FRDM-RW612にはプログラム・メモリとして512Mビット(64Mバイト)のQuad SPIフラッシュ・メモリ,外部RAMとして64Mビット(8Mバイト)のpSRAMが搭載されています.

●通信機能

 通信以外のボード上の機能としては,RW612のリセット・ボタン,GPIOに接続されたボタン,RGB LED,温度センサがあります. 温度センサとしては,P3T1755(NXPセミコンダクターズ)が搭載されています.P3T1755はI2CおよびI3Cに対応した温度センサですが,RW612とはI2Cで接続されています.

●通信以外の周辺機能

 RDM-RW612には,RW612が対応している2.4GHz/5GHz帯の通信を行うためのPCBアンテナと周辺回路が搭載されており, RW612が対応する全ての無線通信機能を試すことができます.また,10BASE-T/100BASE-TXに対応するイーサネットPHYおよび周辺回路,RJ-45コネクタが搭載されており, イーサネットによる有線通信も行えます.

●プログラムの書き込み&デバッグ

 RW612へのプログラム書き込み,およびデバッグ機能として,MCU-Link機能を実装したUSB機能付きマイコンが搭載されています. 対応するUSB Type-CコネクタをPCと接続することにより,RW612のデバッグやログの取得が行えます.

●その他のインターフェース

 その他のペリフェラルに対応したピンは,Arduino互換ヘッダ,MikroBUSヘッダ,およびPmodヘッダに接続されています.
 MikroBUSヘッダにはFlexCOMMペリフェラルのUART機能に対応するピンが接続されており,Matterファームウェアのデバッグ時のログ取得に用います.

■RW612のMatter対応

●Matterへの対応状況

 RW612に対するMatterファームウェアのサンプル・コードは,製造元であるNXPセミコンダクターズより提供されています. このサンプル・コードは,大きく分けて2種類あります.1つはFreeRTOSを使うもの,もう1つはZephyrを使うものです.
 今回は,周辺回路のドライバ対応などの豊富さから,Zephyrを使うサンプル・プログラムを用いることにしました.

●FRDM-RW612とZephyr

 Zephyrは,Linux Foundationが管理しているオープンソース・ソフトウェアのリアルタイムOSです.組み込み向けのLinuxで用いられるデバイス・ツリーが使えるという特徴を持っています. デバイス・ツリーを用いてハードウェアの構成を定義し,ハードウェアに対応する各種ドライバの結びつけや設定を行います.ここ数年では,通信機能を持つマイコンでの採用例が増えてきていて, NXPセミコンダクターズでも同社製マイコンのZephyr対応を進めています.今回使用するFRDM-RW612もZephyr向けのボード定義が提供されており,すぐに開発を始められます.   RW612に対するMatterファームウェアのサンプル・コードは,製造元であるNXPセミコンダクターズより提供されています.

●NXPセミコンダクターズのZephyr開発環境

 NXPセミコンダクターズは,自社製マイコンの開発環境として,MCUXpressoを提供しています.MCUXpressoには,単体のマイコン開発環境であるMCUXpresso IDEと, Visual Studio Code向けの拡張機能MCUXpresso for VSCodeがあります.本稿ではMCUXpresso for VSCodeを用いて,FRDM-RW612向けのZephyrおよびMatterの開発環境を構築します.

■Matterサンプルを動かしてみる

●NXP fork版Matter実装を試してみる

 Matterのリファレンス実装は,GitHubにてconnectedhomeipという名前のリポジトリでオープンソース・ソフトウェアとして公開されています. 各マイコン・メーカは,この実装に対して自社マイコン向けの対応を入れて公開しています.NXPセミコンダクターズでは,適宜connectedhomeipリポジトリに対して変更内容を反映していますが, 最新の内容を使うため,同社によるfork版の使用を推奨しています.執筆時点の最新バージョンはv1.4.0.2.1です.
 リポジトリのexamples/all-clusters-app/nxpディレクトリ以下に, さまざまなMatterデバイスの機能を実装したサンプルであるall-clusters-appのNXPセミコンダクターズ向けの実装が含まれています. 今回はこのサンプルをビルドし,FRDM-RW612に書き込んで動作確認をしてみました.

●ステップ1…ハードウェアの準備

 NXPセミコンダクターズのMatterサンプルでは,MCU-LinkのUSBシリアル変換機能経由でファームウェアとのコマンドライン・インターフェースが提供されます. また,MikroBUS上のTXピンからはMatterのプロトコル・スタックのログ・メッセージが出力されるので,別で用意したUSBシリアル変換アダプタを接続します.

●ステップ2…マニュアル・ペアリング・コードの取得

 ファームウェアを書き込んで起動すると,MCU-LinkのUSBシリアル変換にuart:~$のプロンプトが表示され,コマンド入力を受け付ける状態になります. まずはコミッショニング(Matterデバイスをネットワークに接続する処理)に必要なマニュアル・ペアリング・コード(MPC)を取得します.matter onboardingcodes bleを実行すると, ManualPairingCode:の部分に出力されます.サンプルでは20054912334です.


uart:~$ matter onboardingcodes ble
QRCode: MT:-24J042C00O40648G00
QRCodeUrl: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J042C00O40648G00
ManualPairingCode: 20054912334
Done


●ステップ3…Wi-Fi経由でローカル・ネットワークに接続する

 次に,connectedhomeipに含まれるMatterのデバッグ用ツールであるchip-toolを用いて, サンプルのMatterデバイスをローカル・ネットワークにWi-Fi経由で接続してみます.(SSID) と (PASSWORD) の部分は, 接続先のWi-Fiアクセス・ポイントのSSIDとパスワードです.


$ chip-tool pairing code-wifi 1 (SSID) (PASSWORD) 20054912334
...
[1756668652.963689][947539:947540] CHIP:BLE: New device scanned: D1:6A:8A:EE:16:DF
[1756668652.963702][947539:947540] CHIP:BLE: Device discriminator match. Attempting to connect.
[1756668655.036841][947539:947540] CHIP:DL: ConnectDevice complete
...
[1756668670.351017][947539:947541] CHIP:TOO: Device commissioning completed with success
...


 たくさんのログ・メッセージが出力されますが,対象のデバイスを見つけた部分と, コミッショニングが完了した部分だけ抜き出しています.FRDM-RW612のMikroBUS側のUARTからのログ・メッセージにも 次の通りコミッショニングが完了したというメッセージが出力されます.


I: 493735 [SVR]Commissioning completed successfully


●ステップ4…コマンドを送ってみる

 この状態でFRDM-RW612はWi-Fiアクセス・ポイントに接続されているので,chip-toolを使ってコマンドを送ってみます.

▼手順1:onoffアトリビュートの内容を読み出す

 chip-tool interactive startを実行して,chip-toolを対話モードで起動します. 起動すると >>> のプロンプトが表示されコマンドを受け付ける状態になるので,MatterのOn/Off Lightデバイス・タイプが実装している On/Offクラスタのonoffアトリビュートの内容を読み出してみます.


$ chip-tool interactive start
...
>>> onoff read on-off 1 1
...
[1756669557.559575][948145:948147] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3547281730
[1756669557.559585][948145:948147] CHIP:TOO: OnOff: FALSE


 いろいろ長いメッセージが表示された後,最終的に上記の結果が出力されます. この結果より,onoffアトリビュートの内容はFALSEであることがわかります.

▼手順2:On/Offの状態を反転してみる

 次にOn/Offクラスターのtoggleコマンドを実行して,現在のOn/Offの状態を反転してみます.


>>> onoff toggle 1 1
...
[1756669735.870316][948145:948147] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0002 Status=0x0


 最後にもう1度onoffアトリビュートの内容を読み出します.


>>> onoff read on-off 1 1
...
[1756669793.896099][948145:948147] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3547281731
[1756669793.896108][948145:948147] CHIP:TOO: OnOff: TRUE


 先ほどtoggleコマンドを実行したため,On/Off状態が反転しTRUEになっていることが分かります.
         * * *
 現在のNXPセミコンダクターズのサンプルでは,これらの状態変化はボード上のLEDなどに反映されるようになっていません.一方,実際のMatterデバイスを開発するにあたっては, Matterデバイスとしての状態変化を適宜ハードウェア側に反映する必要があります.
 10月14日に開催するセミナでは実際にハードウェアに状態を反映するようにコードを修正し動作確認を行う予定です.

◆参考文献◆

(1) トライラジオ内蔵ワイヤレスMCU:1x1 Wi-Fi 6 + Bluetooth Low Energy 5.4 / 802.15.4, NXPセミコンダクターズ.
https://csa-iot.org/developer-resource/specifications-download-request/
(2) RW612 Wi-Fi 6 + Bluetooth Low Energy + 802.15.4トライラジオ・ワイヤレスMCUに対応する,FRDM開発ボード, NXPセミコンダクターズ.
https://www.nxp.jp/design/design-center/development-boards-and-designs/FRDM-RW612
(3) MCUXpressoインストーラで,複雑な組込みツールの依存関係を持つ環境を適切に設定, NXPセミコンダクターズ.
https://www.nxp.jp/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-installer:MCUXPRESSO-INSTALLER
(4) connectedhomeipリポジトリ(Matterのリファレンス実装), GitHub.
https://github.com/project-chip/connectedhomeip
(5) Matter (NXP fork),GitHub.
https://github.com/NXP/matter

本記事に記載されている社名,および製品名は,一般に開発メーカの登録商標,または商標です.


・組み込みマイコン入門講座
-- https://interface.cqpub.co.jp/mcu-hands-on/

・登録内容の変更,メール・マガジン配信中止はこちらからお願いします.
-- https://cc.cqpub.co.jp/system/auth/



★メルマガ筆者によるボード付きハンズオン・セミナ開催を開催します★
スマート・ホーム向け通信規格「Matter」のファームウェア開発入門
・開催日  :2025年10月14日 10:00-17:00
・受講料  :5,000円(ボード付き,税込み)
・使用ボード:FRDM-RW612(NXPセミコンダクターズ)
・講師   :井田 健太氏(Nature株式会社)
※セミナ受講時に使用したFRDM-RW612はそのままお持ち帰り頂けます.
申し込みページはこちら

【PR】NXP製品を小ロットでご購入の場合は、AvnetグループのFarnell(ファーネル)へ
豊富な品ぞろえの在庫をもち、1個から迅速にお届けします。
https://jp.farnell.com/b/nxp
1個から注文可能で、注文内容確定から通常2-4日でお手元にお届けします。
5,000円以上で送料無料です。関税手続きはFarnellが行いますので追加の支払いは発生しません。


Interface 表紙

CQ出版社オフィシャルウェブサイトはこちらからどうぞ

CQ出版の雑誌・書籍のご購入は、ウェブショップで!


CQ出版社 新刊情報



トランジスタ技術 2025年11月号

チョコッと便利が大集合!電子回路をはじめよう

トランジスタ技術SPECIAL

TRSP No.172 電波とくふうのラジオ回路

CQ ham radio 2025年10月号

HF運用お役立ちガイド

トランジスタ技術 2025年10月号

今マイコンはArduinoが最強説

HAM国家試験

解説・無線工学 完全新版