-
1:15
-
7:3
-
10:32
-
14:26
-
8:31
はじめに
この開発者向けチュートリアルの目的は、Silicon Labs の EmberZNet SoC プラットフォームにおける基本的なアプリケーション開発を「最初から」説明することです。つまり、ZCL アプリケーション フレームワーク(AF)とその各種プラグインは使用しますが、「サンプル・アプリケーション」シナリオからの事前に記述されたコールバック・コードを使用しません。 これによってアプリケーションを段階的に構築する方法の基本を理解し、AF が提供する基本構文から始め、機能を増やすためにプラグインとコールバックを追加します。
概要
このマルチパート・チュートリアルでは、事前に記述された一連の命令(EmberZNet 5.10.1 に基づく)を通じて、コマンドライン・インターフェイス(CLI)を介して相互に通信できる Zigbee 3.0 オン/オフ Switch とオン/オフ Light を作成します。その後、アプリケーション フレームワーク API ガイドと EmberZNet API ガイドをリファレンスとして使用し、カスタム C コードを書き込み、生成されたアプリケーションを拡張して Switch ノードのボタンを押すだけで、Light ノードの LED をリモートで切り替えられるようにします。
要件
- 知識:
- レベル:初級から中級。
- 概念:Zigbee/ZCL の基本、C プログラミング。
- 前提要件:
- ハードウェア:EFR32MG12 2.4GHz メッシュネットワーキング・キット(P/N:SLWSTK6000B)
- ソフトウェア:
- Simplicity Studio v4(ワイヤレス製品サポート付き、最新のアップデート・パッケージがインストール済み)
- EmberZNet 5.10.0(Gecko SDK Suite v1.1)以降
- IAR Embedded Workbench 7.80.2 が推奨されますが、スタック(EmberZNet 6.0.0 以降)でサポートされている場合は GCC も使用できます。
リソース
- Z3.0_DIY_Light_and_Switch_setup_instructions PDF(以下の添付文書セクションを参照)
- UG102:アプリケーション フレームワークの開発者ガイド
- アプリケーション フレームワーク V2 用の Ember アプリケーション フレームワーク API(およびコマンド・ライン)リファレンス(HTML として SDK フォルダにあります。例{STUDIO_V4_INSTALL_DIR}/ developer/sdks/gecko_sdk_suite/ {SDK_SUITE_VERSION_NUMBER}/protocol/zigbee_X.Y/documentation/120-3023-000_AF_V2_API/index.html)
パート 1: セットアップする
- Simplicity Studio v4 を使ってみる
- [デバイス] ペインに EFR32MG12 ベースのデバイスを持つ 2 つ以上のノード (USB またはイーサネット上) が存在することを確認します。
3. ウィンドウ > 環境設定 > Simplicity Studio > SDK の順に選択し、この演習に使用する EmberZNet スタックのバージョンがリストに表示され、使用可能(チェックボックスが有効)になっていることを確認します。 確認/有効化後、[OK] をクリックします。
a. 目的のバージョンがまだインストールされていない場合は、[ソフトウェアの更新のヘルプ]に移動し、[SDK]タブからインストールします。
ファイル > 環境設定 > Simplicity Studio > Toolchains の順に移動し、IAR ARM がリストされ、有効になっていること、そしてダイアログの下部にある [説明] 領域に適切なバージョンが説明されていることを確認します。 ([Toolchains] ウィンドウの上半分のバージョン列が「0.0.0」と表示されていても心配はいりません。 ツールチェーン全体のパッケージバージョンが Studio では判断できない場合があります。) EmberZNet 5.8 以降に必要な IAR ARM バージョンは IAR-EWARM v7.80.2 です。) 確認後、[OK] をクリックします。 何か問題がある場合は、[追加] ボタンを使用して、適切な IAR ARM インストールを Studio に追加します。
パート 2: Switch 用の新しい Simplicity Studio プロジェクトと AppBuilder 設定の作成
- ファイル > 新規 > プロジェクト > Silicon Labs AppBuilder プロジェクト の順に移動し、次へ を選択します。
- 「ZCL アプリケーション フレームワーク V2」を選択し、次へ をクリックします。
- 目的の EmberZNet SoC(ホストではなく)バージョンを選択し、次へ をクリックします。
- 「空白のアプリケーションから開始」を選択し、次へ をクリックします。
- 「プロジェクト名」フィールドに、自分のオン/オフ Switch プロジェクトの名前を入力し、次へ をクリックします。
- 「基板」リストで、「EFR32MG12」または「BRD4161A」などのBRD4162A 無線基板のみを入力します。
- 他の基板タイプが表示されている場合は、リストの右上にある小さな「x」をクリックして削除します。
- リストに新しい基板を追加するには、上の [検索] ボックスに名前の一部(「EFR32MG12」など)を入力します。
- IAR ARM v7.80.2 ツールチェーンがダイアログの下部にあるツールチェーンリストに表示されていることを確認し、完了をクリックします。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 2: プロジェクト開始の切り替え
パート 3: Switch の構成と構築
- [ZCL クラスター]タブで、「ZCL デバイスタイプ」が「HA オン/オフ Switch 」に設定されていることを確認します。なぜですか?- これは、ZCL オン/オフ・クラスターのクライアント側をデモするための最も基本的な Zigbee デバイス・タイプです。
- [Znet stack]タブから:
a. 「ネットワーク構成」で、セキュリティタイプを「ZigBee 3.0 セキュリティ」に変更します。
それはなぜでしょうか?- 従来のホーム・オートメーション・セキュリティ方式は現在廃止されており、Zigbee 3.0の新しいデバイス認証には、従来のZigbee ホーム・オートメーション・セキュリティモデルのスーパーセットであるZigbee 3.0スタイルのセキュリティが必要とされています。ZHA と Z3.0 デバイス間の相互運用性の詳細については、以下の KBA を参照してください。
b. 「ZDO 設定」で、「ZDO メッセージを送信するためのシリアルコマンドを有効にする」のチェックボックスを有効にします。それはなぜでしょうか?- これにより、デバイス検出用の便利な CLI コマンドが提供され、余分なコードを書き込まずに、Switch から利用可能な Light デバイスを検索することができます。
3.[印刷と CLI]タブから、
a. 「デバッグ印刷」セクションで、「デバッグ印刷を有効にする」のチェックボックスを有効にします。
b. 同じセクションの「クラスター・デバッグ」で、オン/オフの両方の列をチェックします。
それはなぜでしょうか?- これにより、CLI 上に追加のデバッグ・メッセージが表示され、オン/オフ・クラスター・アクティビティについて通知されます。
4. [HAL構成]タブで、「ブートローダ」ピックリストの値が「アプリケーション」に設定されていることを確認します。
それはなぜでしょうか?- ブートローダなしでのプロトタイピングは、多くの場合、開発が簡単ですが、最終的にすべてのデバイスが必要になります。そのため、ブートローダ、特に製品の使用例やアーキテクチャに適したブートローダを用意する習慣を身につけることをお勧めします。アプリケーションの開発開始時には、ターゲットチップにロードしてください。 参照 UG103.6:異なる種類のブートローダーの詳細については、ブートロードのファンダメンタルズ(https://www.silabs.com/documents/public/user-guides/UG103-06-AppDevFundamentals-Bootloading.pdf)を参照してください。
5. [プラグイン]タブから、次のプラグインを「使用する?」チェックボックスを有効にして機能を追加します:
a. 「EmberZNet Libraries」で、「コード・ライブラリーのインストール」を有効にします。
それはなぜでしょうか?- Zigbee 3.0 要件では、参加デバイスがインストール・コード・ベースの参加をサポートする必要があることが規定されています。この場合、事前にプログラムされたシード値を使用して、ネットワークに接続するための固有のデバイス固有のキーが導き出されます。参照 AN1089:この機能の詳細については、Zigbee デバイスでインストール・コードを使う(https://www.silabs.com/documents/public/application-notes/an1089-using-installation-codes-with-zigbee-devices.pdf)をご覧ください。
b. 「ネットワーク形成と参加」で、「ネットワーク検出」を無効にします。(代わりに [ネットワーク・ステアリング]のプラグインが使用されます。)
それはなぜでしょうか?- [ネットワーク検出] プラグインは、従来のホーム・オートメーション・スタイルのセキュリティ設定と利用可能なネットワークの検索を使用します。この設定は、この構成で選択した「Zigbee 3.0 セキュリティ」設定と互換性がありません。そのため、ネットワーク検索が以前の「ホーム・オートメーション・セキュリティ」のデフォルトの結果として有効にされている場合、Zigbee 3.0-スタイルプラグインとの競合を防ぐために無効にする必要があります。
c. 「ユーティリティ」から、「一般応答コマンド」を有効にします。
それはなぜでしょうか?- これにより、基本的な [ZCL 読込/書込属性応答] メッセージがフレームワークによってピックアップ、解析され、CLI にプリントされてフィードバックされます。これは、コード内のステートマシンによって駆動されるのではなく、アプリとの相互作用が主に CLI 駆動である初期段階で役に立ちます。
d. 「ZigBee 3.0」で、「イニシエーターを検索してバインド」、「ネットワーク・ステアリング」、「TC リンク・キーの更新」を有効にします。
それはなぜでしょうか?- これらのプラグインは、Zigbee 3.0 デバイスをネットワークにコミッショニングするために必要な状態マシンの実稼働準備の整った実装を提供します。これには、「ネットワーク・ステアリング」プロセスと「検索とバインド」プロセスが含まれます。詳細については、「ZigBee 3.0」の UG103.2 章を参照してください:Zigbee の基本(https://www.silabs.com/documents/public/user-guides/UG103-02-AppDevFundamentals-ZigBee.pdf)およびZigBee 基本デバイス動向の仕様の「コミッショニング」章(www.zigbee.org の文書番号13-0402)をご覧ください。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 3.9: Switch のビルド
6. ファイル > 保存 で設定を保存します。
7. 右上隅にある [生成] ボタンをクリックします。「生成が成功しました!」というメッセージが表示(数秒後に)されると完了です。
8. Simplicity Studio の [Project Explorer] ペイン([AppBuilder] ウィンドウの左側)で、プロジェクトの最上位のフォルダ(「MySwitch」などのプロジェクトと同じ名前を持つフォルダ)を右クリックし、コンテキスト・メニューから「プロジェクトの作成」を選択します。
9. エラーなしでビルドが完了したことを確認するには、ビルド・コンソールを数行上方向にスクロールして、「GBL ファイルの書き込み... 完了」を探します。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch チュートリアル: パート 3.9: Switch のビルド
パート 4: Switch アプリケーションを Zigbee 開発ボードへロードする
1. [Devices] ビューで、目的の Switch ノードのデバッグ・アダプターを右クリックし、アプリケーションのアップデートを選択します。
注:Simplicity Studio では、ターゲット・チップにファームウェアを読み込む方法はたくさんありますが、アプリケーションとブートローダ・ファームウェアを同時に選択できるのはこれが唯一の方法です。ですから、必要なブートローダがロードされている事を確認してください。
2. 「画像をアップロードする前にチップを消去する」チェックボックスを有効にすると、ノードが古い保存ネットワークデータを使用しないようにします。
それはなぜでしょうか?- EmberZNet スタックがオンラインになると、すべてのネットワーク・パラメーターは不揮発性メモリ(NVM)にコミットされ、AF はこのデータを後続のブート・シーケンスで再利用しようとします。ただし、新しいネットワークを開始しているため、このネットワークを設定する前にシステムが古いネットワークを誤って再開しないようにする必要があります。
3. 「アプリケーション・イメージ・パス」の横にあるフォルダーアイコンをクリックして、Switch アプリ用に新しく作成された GBL ファイルを参照します。
デフォルト・パスは通常、C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\ gecko_sdk_suite\{versionNumber}\app\builder\{Project Name}\IAR ARM - Debug - {ChipVariant}\{ProjectName}.gbl。
4. Gecko ブートローダがこのデバイスにロードされていない(クイックスタート・ガイドを介してロードされている可能性がある)場合:
a. 「ブートローダ・イメージ」のチェックボックスを有効にします。
b. 「ブートローダ・イメージ」の横にあるフォルダーアイコンをクリックして S37 ファイルを参照して Gecko ブートローダ・バイナリを探します。この演習は、「bootloader-storage-internal」または「bootloader-storage-spiflash」の例で機能するように設計されています。 開発キットでテスト用のビルド済みサンプル・ブートローダ・バイナリは、チップごとのフォルダ内にあります
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\ {versionNumber}\platform\bootloader\sample-apps.
注:最終的には、希望するセキュリティ機能とストレージ設定で独自の Gecko ブートローダ・バイナリを構築する必要がありますが、デジタル署名または暗号化された画像を必要としないため、ビルド済みサンプルは開発の初期段階でより使いやすくなっています。Gecko ブートローダの詳細については、UG266:Gecko ブートローダ・ユーザ・ガイド(https://www.silabs.com/documents/public/user-guides/ug266-gecko-bootloader-user-guide.pdf)をご覧ください。
5. [OK] をクリックしてアップロード処理を開始します。エラーなしで完了するように確認します。(装置アイコンは緑色に戻ります。)
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 4: Switch アプリの読込み
パート 5: Switch の AppBuilder 設定を Light の開始点として複製する
注:パート 2 とパート 3 で行ったステップに戻って、新しい Light 構成を作成することもできますが、別のプロジェクトを出発点として使うことで時間を節約して、見落としなどがないようにする便利な方法もあります。
1. Simplicity Studio で、ファイル > 保存 の順に選択して、AppBuilder Switch の設定を MySwitch.isc などの ISC ファイルとして保存します。
2. ファイル > 新規 > プロジェクト > Silicon Labs MCU プロジェクト(AppBuilder プロジェクトではなく)の順に移動して、次へ をクリックします。
a. 表示される「プロジェクト設定」ダイアログで、SDK の選択が Switch と同じバージョンの「Gecko SDK Suite」であること、そしてボード/パーツが Light のターゲット・ハードウェアと一致することを確認して、Next をクリックします。
b. 次の「プロジェクト設定」ダイアログで、「空のプログラム」が選択されていることを確認し、次へ をクリックします。
c. 「プロジェクト構成」ダイアログで、プロジェクト名を「MyLight」などの Light の名前に変更します。
d. 「デフォルト位置を使用する」のチェックボックスのチェックを外します。
e. 参照 ボタンをクリックし、現在の Gecko SDK インストール(C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v1.1 など)を参照して、app\\builder サブディレクトリに移動します。
f. 新しいフォルダを作成 をクリックして、フォルダーの名前を自分の Light プロジェクト名(例: MyLight)に合わせて変更します。
g. OK をクリックしてブラウズ ダイアログを終了し、次へ をクリックします。(「ソースへのリンク」のデフォルト選択は OK)。[構成のビルド]ウィンドウで [GNU ARM] ビルド構成のエントリーを選択解除し(この演習では IAR ARM のみを使用しているため)、終了 をクリックします。
3. 元の Switch プロジェクトの [プロジェクトの閲覧] ツリーまでスクロールし、ISC ファイル(MySwitch.isc など)を見つけます。
4. この ISC ファイルを右クリックし、「Copy(コピー)」を選択します。
5. 「Light」プロジェクトの最上位のプロジェクト入力までスクロールし、右クリックして「Paste(貼り付け)」を選択します。
6. Lightプロジェクト内で新しくコピーした ISC ファイルを右クリックし「Rename(名前の変更)」を選択します。
7. Light 構成の新しい名前(「MyLight.isc」など)を設定し、OK をクリックします。
8. 新しく名前変更された Light ISC ファイルをダブルクリックして、AppBuilder 設定の編集を開始します。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 5: Light の Switch Project のクローン
パート 6: Light アプリケーションの構成、ビルド、2 番目のノードへのロード
1. Simplicity IDE の [AppBuilder] ビューで、「General(全般)」タブの「Device name(デバイス名)」を、Light のプロジェクト名(MyLight など)と一致するように変更します。
2. 「ZCL clusters」タブで、「ZCL device type」を「HA On/Off Light」に変更します。
3. 「ZNet stack」タブで、「ZigBee Device Type(ZigBee デバイスタイプ)」を「Coordinator or Router(コーディネータかルーター)」に変更します。
4. 「Plugins(プラグイン)」タブで、注記されたセクションでプラグインに次の調整を加えます。
a. 共通クラスター:「Scenes Server Cluster」プラグインを無効にします。
それはなぜでしょうか?- 一部のバージョンの AppBuilder では、必要なプラグイン用の適切なトークン(NVM)定義に問題があります。これには、Scenes Server Cluster プラグインが含まれますが、これらのプラグインが空白のプロジェクトテンプレートの一部としてデフォルトで有効になっている場合のみ、問題が発生します。(これは、ファイルが欠落していることを明らかにします) このチュートリアルでは、Scenes クラスターは使用しません。そのため、コマンドを処理するのにプラグイン・コードは必要ありませんが、新しい空白プロジェクトに Scenes クラスターのサポートを含める場合は、無効にした後、プラグインを再度有効にしてこの問題に対処します。
b. ZigBee 3.0:「Find and Bind Target(ターゲットの検索とバインド)」、「Network Creator(ネットワーク・クリエーター)」、「Network Creator Security(ネットワーク・クリエーター・セキュリティ)」プラグインを有効にします。
それはなぜでしょうか?- 「Network Creator(ネットワーク・クリエーター)」プラグインにより、Light は他のノード(Switch や別の Light など)に参加するための独自の Zigbee 3.0 ネットワークを形成し、着信 Zigbee 3.0 とレガシー HA デバイス用のさまざまなセキュリティ・モデルをすべてサポートします。[Find and Bind Target(ターゲットの検索とバインド)] プラグインを使用すると、(Switch のような)Find and Bind Initiator(イニシエーターの検索とバインド)デバイスが、Light のサーバー側クラスタを検出してペアリングできるようになります。これは、Zigbee 3.0コミッショニング(Zigbee ベースのデバイス動向仕様の「コミッショニング」の章「Zigbee ベースのデバイス動向仕様」、「Zigbee ドキュメント 13-0402」で説明)に説明されています。
5. [Generate(生成)] ボタンをクリックします。生成が完了したら、成功したことを確認し、[OK] をクリックします。
6. 今後参照できるように、[Ctrl+S] か [File Save(ファイルの保存)] を使用して、 AppBuilder の設定を保存します。
7. Project Explorer(プロジェクト・エクスプローラー)で Light のプロジェクト・フォルダを右クリックして、[Build Project(プロジェクトのビルド)] を選択します。
8. ビルドがエラーなしで完了したことを確認します。(警告は OK です。)
9. Switch とは異なる EFR32+ WSTK ターゲット・デバイスを使用して、Light アプリケーションのセクションIV にある手順を繰り返します。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 6: Light の Switch Project のクローン
パート 7: デバッグ通信を開始する
1. Light と Switch のアップロードに成功したら、[Devices(デバイス)] ペインの各ノードを右クリックして、[Launch console(コンソールの起動)] を選択します。
2. 各ノードについて、[Serial 1] タブを選択し、Enter キーを押して、Light または Switch ノードと対話中であることを示すプロンプトが表示されることを確認します。(プロンプトにはAppBuilder の [General(全般)] タブに、設定されたアプリケーション名が表示されます。)
それはなぜでしょうか?- Simplicity Studio Console ビューの [Serial 1] タブでは、WSTK または WSTK の TCP ポート 4901 上の USB シリアル・インターフェイスを使用して、物理シリアルポート(USART0 またはボード上の VCOM_TX/RX ピンにルーティングされた UART TXD/RXD ピン)と対話できます。これは、Mini-Simplicity コネクターを介して WSTK デバッグ アダプタに接続している限り、カスタム EFR32 ベースのハードウェアにも使用できます。「Serial 0」タブは、Debug Basic Library プラグインを介して SWO と SWDIO デバッグ・ピン上でエミュレートされ、WSTK の TCP ポート 4900 を介して表示される [Virtual UART] を表します。WSTK 経由で EFR32 のデバッグ・インターフェイスにアクセスする方法の詳細については、AN958 を参照してください。デバッグとカスタム設計用プログラミング・インターフェイス(https://www.silabs.com/documents/public/application-notes/an958-mcu-stk-wstk-guide.pdf)。
3. Window > Preferences(詳細設定) > Network Analyzer(ネットワーク・アナライザー) > Decoding(デコーディング) > Stack Versions(スタックバージョン) の順に移動し、これらのアプリケーションの構築に使用した SDK に対応する EmberZNet バージョン(バージョンがリストにない場合は最新のもの)を設定して、キャプチャされたパケットが Zigbee トラフィックとして適切に解析されるようにします。設定後、OK をクリックして続行します。
それはなぜでしょうか?- 「Auto-detect(自動検出)」のデフォルト・ネットワーク・アナライザー設定では、特に 802.15.4 -ベースのトラフィックが混在している環境では、キャプチャで使用されるプロトコル・タイプを正しく推測できません。また、EmberZNet ファームウェアによって放出される非パケットのイベントの中には、その性質上、バージョン固有のものがあるため、デコードに適したスタックバージョンを取得することがより重要になります。
4. [Devices(デバイス)]ビューの Switch ノードを右クリックして、[Start Capture(キャプチャ開始)] を選択します。[Network Analyzer(ネットワーク・アナライザー)] が開きます。
それはなぜでしょうか?- これにより、Simplicity Studio は、FRC_DFRAME と FRC_DOUT ピンの EFR32 のパケット・トレース・インターフェイス(PTI)周辺機器を使用して、WSTK を介してパケット・イベントとネットワーク・トランザクションの収集を開始できます。また、Debug Basic Library またはDebug Extended Libraryプラグインが有効になっている場合、ファームウェアは EFR32の SWO ピンへの WSTK の接続を使用して、リセット、アサート、デバッグ Printfs、EZSP コマンド/レスポンスなどのソフトウェア イベント・トレースを出力できます。これらのイベントはすべて、キャプチャ中にネットワーク・アナライザーで集計され、後で使用できるように保存できます。EmberZNet スタックで利用できるデバッグ機能の詳細については、KBA @ http://community.silabs.com/t5/Proprietary-Knowledge-Base/What-are-the-different-levels-of-debug-in-the-mesh-stacks-and/ta-p/113207 を参照してください。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 7: キャプチャの開始
パート 8: ネットワークの設定
1. Light ノードの [Serial 1]コンソールのタブで、次のようなコマンドを入力します。plugin network-creator form 1 0x5432 10 12
このオプションは、次のネットワークを形成します。
(1) – 集中型
(0x5432) – この PAN ID を使用します(0x0000-0xFFFE 範囲の任意のものを選択できます。)
(10) – +10 dBm の TX 電力で開始(ハードウェアでサポートされている任意のレベルを最大 + 20まで選択できます)。
(12) – チャネル12で開始 (11-26 範囲で任意のものを選択できます。)
2. Light ノードの場合、コンソールが[Serial 1] に「EMBER_NETWORK_UP」と印刷した後、次のコマンドを入力して、254 秒間ネットワークを開いて接続します。plugin network-creator-security open-network
3. Switch ノードの[シリアル 1]コンソールタブで、254 秒以内で、以下を入力して参加を試みます。plugin network-steering start 0
それはなぜでしょうか?- これにより、ネットワーク・ステアリング・プロセスが開始されます。これは、Zigbee 3.0 ネットワークのさまざまな構成を結合するために、異なるセキュリティ・キーとチャネルの異なるマスクを試行します。「0」パラメータは、プラグインに標準動作を使用するように指示します。「1」を指定すると、結合後のトラスト・センター・リンク・キーの通常の更新は抑制されます。このプロセスでは、異なるセキュリティキーが試行されるため、正常な結合試行の前に、いくつかの結合エラー(「EMBER_JOIN_FAILED」(EMBER_JOIN_FAILED ステータスの印刷)が表示されることがあります。
4. 参加に成功すると、Switch のコンソールが[Serial 1] に「EMBER_NETWORK_UP」と印刷され、ネットワークアナライザの「トランザクション」ビューに「関連付け」と「トランスポートキー」トランザクションが表示されます(下のビデオを参照)。成功したら、次のセクションに進みます。成功しなかった場合は、手順 2 と 3 を繰り返します。教室で他のメンバーと同時にこれを行う場合は、あなたの隣にいる人のネットワークではなく、自分のネットワーク(PAN ID に基づく)に必ず参加してください。
注意: 他の 802.15.4 トラフィックは、同じチャネルに存在する可能性があります。したがって、無関係なイベント/トランザクションが、復号化キーを持たないトラフィックを含め、ネットワーク・アナライザーに表示されることがあります。復号化できないトラフィックに関する警告が表示された場合は、OK をクリックして他のトラフィックを無視して先に進みます。(後でフィルターで除外できます。)
Silicon Labs の Zigbee 3.0 DIY Light/Switch チュートリアル:パート 8: Light の Switch プロジェクトのクローン
パート 9: オン/オフ切り替え
1. Switch ノードの [Serial 1] で、次のように入力します。
zcl on-off toggle
0 1 1を送信する
2. ZCL」の送信を確認する:トグル」と 「ZCL:Default Response」の送信を確認します。(WSTK の LED は、コードが追加されていないため、まだ切り替えられませんので注意してください。)
3. ネットワーク・アナライザーの [Live capture(ライブ・キャプチャ)] タブで、「ZCL: DefaultResponse」を選択し、右側の[Event Detail(イベント詳細)] パネル「 Status(ステータス)にチェックを入れます。「Zigbeeクラスタ・ライブラリ」セクションの「SUCCESS (0x00) 」を参照してください。
4. LightのSerial 1に「トグル」メッセージが印刷されていることを確認します。次の CLI コマンドを入力して、属性テーブルを印刷し、トグルを受信したときにオン/オフ クラスタ(0x0006)の属性 00 が変化することを確認します:print attr
5. AF CLI を介して Switch と Light を制御する追加の CLI コマンドについては、Ember アプリケーション フレームワーク・コマンド・ライン・インターフェイス(CLI)のマニュアル(HTML at {GECKO_SDK_SUITE_DIR}/protocol/zigbee_X.Y/documentation/120-3023-000_AF_V2_API/index.html)を参照してください。また、CLI に「help」と入力して、サポートされているコマンドのリストを取得することもできます。未完了のコマンドがあると、それらのコマンドのヘルプ構文がトリガーされます。
ビデオを見る:Silicon Labs Zigbee 3.0 DIY Light/Switch のチュートリアル:パート 9: CLI でLight を切り替える
次は何ですか?
このチュートリアルの今後のセグメントでは、ドグルコマンドが実際にライトのWSTKの物理的LEDを切り替える方法を検討し、SwitchのCLI駆動型トグルコマンドから、Switch WSTKのプッシュボタンによって開始されるボタン駆動型コマンドに移行する方法を見ていきます。
リソース
必要なハードウェア:
EFR32MGZigbee および Thread スタータ・キット
(SLWSTK6000B)