LoginSignup
0
0

ST Nucleo WB55RGをMatterデバイスとして動かしてみた

Last updated at Posted at 2024-05-30

はじめに

WB55RGをMatterデバイスとして動かしてみます。

前回の記事はこちら。

X-CUBE-MATTERにはSTM32WB5MM-DK向けMatterデバイスのサンプルアプリケーション(Lighting-AppとWindow-App)のバイナリファイルが含まれていますが、WB55RG向けは含まれていません。
WB55RGで動かす場合、stm32wb-matter-device-over-threadのGitHubからソースコードを取得してビルドする必要があります。

ビルドツール

STM32用統合開発環境(STM32CubeIDE)をインストールします。

macOS版でもビルドできますが、Windows版の利用をおすすめします。
(ソースコードに含まれる.projectファイルからSTM32CubeIDEを起動できます。)

ビルド手順

Windows版

STM32CubeIDEを起動し、「Import projects」→「Import Projects from File System or Archive」を選択し、GitHubからダウンロードしたソースコードのフォルダを指定します。

1.jpg

フォルダに含まれる.projectファイルを認識し、登録されます。
「Project」→「Build All」を選択します。35.jpg

2.jpg

WB55RGのLighting-AppのSTM32Cubeフォルダを指定して、個別にプロジェクトを登録することもできます。

3.jpg

ビルドでエラーが発生します。

4.jpg

原因を調べると、「caddt_t is an obsolete typedef」とのことで、ワークアラウンドが示されていました。

sysmem.cファイルに以下の1行を追加します。

sysmem.c
#include <sys/types.h>

5.jpg

再度ビルドを実行すると問題なく完了し、Lighting-App.bin、または、Window-App.binが出力されます。

バイナリファイルはこちらに置きました。

macOS版 (2024年6月2日追記)

Windows版と同じ手順でビルドできました。

STM32CubeIDEを起動し、「Import projects」→「Import Projects from File System or Archive」を選択し、GitHubからダウンロードしたソースコードのフォルダを指定します。

31.jpg

33.jpg

ビルド対象のプロジェクトを選択し、メニューから「Project」→「Build Project」を選択します。

35.jpg

ビルドでエラーが発生します。(Windows版と同様)

36.jpg

sysmem.cファイルに以下の1行を追加し、再度ビルドを実行すると問題なく完了します。

sysmem.c
#include <sys/types.h>

37.jpg

「Debug」フォルダにLighting-App.bin、または、Window-App.binが出力されます。

スクリーンショット 2024-06-02 11.21.04.png

参考情報

Windows版も同様ですが、Progress Informationを確認すると、C/C++ Indexerの処理が途中で止まり、CPUの高負荷状態が継続しますので、処理を中止してください。(プロジェクトのビルドは並行して実行できます)

41.jpg

STM32CubeProgrammerで書き込み

書き込み手順はこちらです。

Wireless Coprocessor Binaryとアプリケーションを書き込むアドレスはこちらです。

STM32CubeWB firmware release V1.17.0

Wireless Coprocessor Binary STM32WB5xxG(1M) Version
stm32wb5x_FUS_fw.bin 0x080EC000 V1.2.0
stm32wb5x_BLE_Thread_ForMatter_fw.bin 0x08085000 V1.1.1
Application Binary STM32WB5xxG(1M)
Lighting-App.bin 0x08000000
Window-App.bin 0x08000000

動作確認

デバイスへの書き込みが終わると、シリアルコンソールにログメッセージが出力されます。

[M4 APPLICATION] Matter Over Thread Window-App starting...
[M4 APPLICATION] Init CHIP stack
CHIP:DL: BLEManagerImpl::Init() complete
[M4 APPLICATION] 1- Initialisation of BLE Stack...
[M4 APPLICATION] 2- Initialisation of OpenThread Stack. FW info :
[M4 APPLICATION] **********************************************************
[M4 APPLICATION] WIRELESS COPROCESSOR FW:
[M4 APPLICATION] VERSION ID = 1.1.1
[M4 APPLICATION] FW Type : Dynamic Concurrent Mode BLE/Thread
[M4 APPLICATION] **********************************************************
[0000000000] [PLATFORM]   --> DebugLevel set to 1 

[0000000000] [PLATFORM]   IeeeEui64 = 0x0080e1fffebeccc2
[0000000000] [PLATFORM]   ----> EUID64 = 0x0080e1fffebeccc2
[0000000001] [PLATFORM]   [THREAD] Init_ThreadStack_Infrastructure
[0000000015] [PLATFORM]   Short_Addr=FFFE
[0000000022] [PLATFORM]   PANID=C14F
[0000000024] [REGION UNDEF] [I] Settings------: Read NetworkInfo {rloc:0x0803, extaddr:1264fd74d789a929, role:child, mode:0x0c, version:4, keyseq:0x0, ...
[0000000025] [REGION UNDEF] [I] Settings------: ... pid:0x7617402e, mlecntr:0x3eb, maccntr:0x54d93d9f, mliid:aa55283948705462}
[0000000026] [PLATFORM]   Short_Addr=803
[0000000027] [REGION UNDEF] [I] Settings------: Read ParentInfo {extaddr:ce03351bf55a4748, version:4}
[0000000027] [PLATFORM]   INIT Thread stack done 

[M4 APPLICATION] Start init matter
CHIP:-: Current Software Version: 1.1

ログメッセージに含まれるQRコード表示用のURLへブラウザからアクセスすると、コミッショニング用のQRコードが表示されます。

11.jpg

Apple HOMEアプリでアクセサリを登録します。登録中(コミッショニング中)はLED1(青色)が点灯します。

10.jpg

アクセサリの登録は無事に完了しますが、残念ながら実際に操作することはできませんでした。
(応答なし〜アップデート中の動作を繰り返す)

IMG_6181.PNG

IMG_6182.PNG

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0