EFR32MG12
この例は、オン/オフ機能を備えた電球デバイスタイプとして機能します。 手順は、SiLabs EFR32MG12(Mighty Gecko)開発ボードで検証されています。
この例では、0x8005
のテストベンダー ID(VID)とプロダクト ID(PID)を使用します。
初期設定
connectedhomeip
リポジトリで指定された依存関係をインストールします。- Simplicity Commander をインストールし、そのバイナリ(コマンダー)が
PATH
に含まれていることを確認します。次に例を示します。export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- EFR32 照明の例のロギング出力を表示するの説明に従って、パソコンに JLink をインストールします(イメージのフラッシュに必要です)。
connectedhomeip
リポジトリのクローンを作成して初期化します。cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- 環境変数をエクスポートします。
export EFR32_BOARD=BRD4161A
イメージをビルドして、ボードをフラッシュします。
- ライティング アプリのイメージを作成します。
画像はcd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
フォルダに生成されます。 - EFR32 ボードをパソコンに接続し、画像を EFR32 ボードにフラッシュします。
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
サンプルを検証する
- ボードからログを確認します。2 つのターミナル ウィンドウを開きます。
- 最初のウィンドウで、
を実行します。JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- 2 番目のウィンドウでは、
2 番目のウィンドウにログが出力されます。JLinkRTTClient
- 最初のウィンドウで、
- デバイスは、USB シリアル デバイスとしてパソコンに提示されます。
/dev/
で確認できます。
ミニコンソールまたはスクリーンを使ってシリアル コンソールを開くことができます。たとえば、デバイスがls -la /dev/tty*
/dev/ttyACM0
にある場合:
シリアル コンソールを使用すると、OpenThread コマンド(screen /dev/ttyACM0 115200
state
など)を入力できます。 - EFR32 ボードをペア設定したことがある場合は、出荷時の設定にリセットすることをおすすめします。
- ボタン PB0 を 10 秒以上長押しします。
- LED が 3 回点滅します。小さなディスプレイで QR コードが更新されるまでボタンを押し続けてください。
EFR32MG24
この例は、オン/オフ機能を備えた電球デバイスタイプとして機能します。 手順は、SiLabs EFR32MG24 開発ボードで検証されています。
この例では、0x8005
のテストベンダー ID(VID)とプロダクト ID(PID)を使用します。
初期設定
connectedhomeip
リポジトリで指定された依存関係をインストールします。- Simplicity Commander をインストールし、そのバイナリ(コマンダー)が
PATH
に含まれていることを確認します。次に例を示します。export PATH=$PATH:/Applications/Commander.app/Contents/MacOS/
- EFR32 照明の例のロギング出力を表示するの説明に従って、パソコンに JLink をインストールします(イメージのフラッシュに必要です)。
connectedhomeip
リポジトリのクローンを作成して初期化します。cd ~
git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- 環境変数をエクスポートします。
- ボードが 10 dBm バージョンの場合は、
BRD4186C
を使用します。export EFR32_BOARD=BRD4186C
- ボードが 20 dBm バージョンの場合は、
BRD4187C
を使用します。export EFR32_BOARD=BRD4187C
- ボードが 10 dBm バージョンの場合は、
イメージをビルドして、ボードをフラッシュします。
- ライティング アプリのイメージを作成します。
画像はcd examples/lighting-app/efr32
source third_party/connectedhomeip/scripts/activate.sh
gn gen out/debug --args="efr32_board=\"${EFR32_BOARD}\""
ninja -C out/debug
out/debug
フォルダに生成されます。 - EFR32 ボードをパソコンに接続し、画像を EFR32 ボードにフラッシュします。
python3 out/debug/chip-efr32-lighting-example.flash.py --erase
ブートローダーをインストールする
- シンプル コマンダー(
)を開きます。commander
- 左上の [Select Kit...] プルダウンを開き、ブートローダーでフラッシュするキットを選択します。このメニューには、検出されたすべての JLink デバイスが入力され、シリアル番号別に一覧表示されます。選択しやすくするため、フラッシュするデバイスを除くすべての JLink 対応デバイスを電源から外し、リストに 1 つのキットのみが含まれるようにします。
- 左側で [Flash] タイルを選択します。
- [Flash MCU] セクションで、[参照] をクリックします。
connectedhomeip/third_party/silabs/matter_support/matter/efr32/bootloader_binaries
に移動し、設定したEFR32_BOARD
環境変数に一致する.s37
ファイルを見つけます。- ボードが 10 dBm バージョンで、
BRD4186C
を使用していた場合は、bootloader-storage-spiflash-single-1024k-BRD4186C-gsdk4.1.s37
を選択します。 - ボードが 20 dBm バージョンで、
BRD4187C
を使用していた場合は、bootloader-storage-spiflash-single-1024k-BRD4187C-gsdk4.1.s37
を選択します。
[開く] をクリックしてファイルを選択します。
- ボードが 10 dBm バージョンで、
[Flash] をクリックします。
ブートローダーをフラッシュした後、アプリのフラッシュ後に --erase
フラグを省略する必要があります。それ以外の場合は、ブートローダーを再フラッシュする必要があります。--erase
フラグを指定すると、ブートローダーを含むボードのフラッシュがすべて消去されます。
サンプルを検証する
- ボードからログを確認します。2 つのターミナル ウィンドウを開きます。
- 最初のウィンドウで、
を実行します。JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1
- 2 番目のウィンドウでは、
2 番目のウィンドウにログが出力されます。JLinkRTTClient
- 最初のウィンドウで、
- デバイスは、USB シリアル デバイスとしてパソコンに提示されます。
/dev/
で確認できます。
ミニコンソールまたはスクリーンを使ってシリアル コンソールを開くことができます。たとえば、デバイスがls -la /dev/tty*
/dev/ttyACM0
にある場合:
シリアル コンソールを使用すると、OpenThread コマンド(screen /dev/ttyACM0 115200
state
など)を入力できます。 - EFR32 ボードをペア設定したことがある場合は、出荷時の設定にリセットすることをおすすめします。
- ボタン PB0 を 10 秒以上長押しします。
- LED が 3 回点滅します。小さなディスプレイで QR コードが更新されるまでボタンを押し続けてください。
次のステップ
Matter example has been successfully built, create a developer project. の場合