Matter基礎

Changing the version will not affect your certificate
レッスン1 – Matterの概要
5 トピックス | 1 テスト
Matterとは?
Matterアーキテクチャ
Matterにおけるトランスポート層
Matterのセキュリティモデル
演習 1 – Matterアプリケーションのテスト
レッスン1 クイズ
レッスン2 – Matterを使用した開発
5 トピックス | 1 テスト
nRF Connect SDK における Matter の統合
Matter API
Matterのサンプルとアプリケーション
Threadネットワーキング
演習1:Matterデバイスの実行と制御
レッスン2 クイズ
レッスン 3 – Matterのエンドポイント、クラスター、および属性
6 トピックス | 1 テスト
Matterデバイスタイプ
Matterクラスタとその内容
Matterアプリケーションにおけるクラスタの制御
演習1 – アプリケーションでMatterデバイスタイプをサポートする
演習 2 – 独自のクラスターの作成
演習3 – カスタム機能によるクラスタの拡張
レッスン3 クイズ
レッスン4 – Matterにおける電力最適化
4 トピックス | 1 テスト
Matterにおける消費電力の削減
間欠接続デバイス(ICD)
Matter over Thread用オンライン・パワー・プロファイラー
演習1 – Matter ICDの有効化と消費電力の測定
レッスン4 クイズ
レッスン5 – Matter Over-The-Air
4 トピックス | 1 テスト
Matter Over-The-Air ソフトウェアアップデート
Bluetooth LE経由のデバイスファームウェアアップグレード
演習1 – Matter OTA を使用したファームウェアのアップグレード
演習 2 – Bluetooth LEを使用したファームウェアのアップグレード
レッスン5 クイズ
修了証を受け取ろう!
Feedback
Feedback

If you are having issues with the exercises, please create a ticket on DevZone: devzone.nordicsemi.com
Drag & Drop Files, Choose Files to Upload 最大 2 個のファイルをアップロードできます。
読み込み中
RegisterLog in
  • 日本語
    Eng
    日本語
  • 演習1 – Matter OTA を使用したファームウェアのアップグレード

    Matter OTA のソフトウェア更新には、OTA Requestor と OTA Provider の2種類のノードが関与することを思い出してください。

    この演習では、OTA Requestor の役割は Matter サンプルアプリケーションを実行する Nordic デバイス上で動作させ、OTA Provider の役割は Linux 用の OTA Provider ツールを使用して実行します。

    目標は、Matter OTA の仕組みを用いて Matter デバイスのソフトウェア更新を実行することです。

    演習の手順

    1. この演習のベースコードを開きます。

    Visual Studio Code の WELCOME パネルでOpen an existing applicationを選択し、コースの GitHub リポジトリに移動してl5/l5_e1ディレクトリを開きます。アプリケーションはAPPLICATIONSパネルに表示されるはずです。

    このアプリケーションは Matter Lock サンプルのコピーであり、この演習のコードスニペットをどこに入力するかの指示が追加されています。

    注:nRF Connect SDK のすべての Matter サンプルはデフォルトで OTA Requestor の役割をサポートしているため、任意の Matter サンプルを使用できます。

    2. アプリケーションをビルドして DK に書き込みます。

    アプリケーションをビルドして DK に書き込みます。

    3. Matter Lock サンプルを少し変更します。

    ソフトウェア更新が動作することを確認するには、アプリケーションに変更を加え、バイナリを再度ビルドする必要があります。

    3.1 ソフトウェア更新を容易に確認できるよう、ログ行を追加します。

    src/app_task.cppファイルのStartApp()メソッドに、ソフトウェア更新が成功したことを容易に確認できるよう、新しいログ行を追加します。

    次のログ行を追加します

    Copy
    LOG_INF("================ NEW SOFTWARE IMAGE IS WORKING!!! ==============="); 
    C++

    3.2 VERSIONファイルを変更し、PATCHLEVELの値を0以外の任意の値に変更します(例:4)。

    変更後、ファイルは次のようになります

    Copy
    VERSION_MAJOR = 3
    VERSION_MINOR = 2
    PATCHLEVEL = 4
    VERSION_TWEAK = 0
    EXTRAVERSION =
    C++

    3.3 サンプルを再度ビルドしますが、DK には書き込まないでください。

    3.4 デバイスのシリアルポートを開き、ログが表示されていることを確認してください。ソフトウェア更新の成功を確認するために必要になります。

    CONNECTED DEVICESパネルのVCOMを使用してボードのシリアルポートを開きます。VCOM の右側にある「Connect to Serial Port」アイコンをクリックします。

    デバイスからのログが表示されない場合は、nRF54L Series DK の RESET ボタンを押してください。

    Note

    nRF54L Series DK は2つのシリアルポートとして認識され、番号は PC によって異なる場合があります。番号が大きい方の VCOM を選択してください。例えば VCOM0 と VCOM1 がある場合は VCOM1 を使用します。

    4. CHIP Tool を使用して Matter デバイスをコミッショニングします。

    CHIP Tool を使用して Matter デバイスをコミッショニングします。

    • Matter over Thread
    • Matter over Wi-FI

    4.1 Thread Border Router が引き続き動作していることを確認します。動作していない場合:

    4.1.1 新しいコマンドライン端末を開き、次のコマンドを実行して OpenThread Border Router を起動します:

    /dev/ttyACM0を、Thread コプロセッサで使用しているシリアルポート番号に置き換えてください。

    Copy
    sudo docker run -it --rm --privileged --name otbr --network otbr -p 8080:80 \
    --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
    --volume /dev/ttyACM0:/dev/radio nrfconnect/otbr:fbde28a --radio-url spinel+hdlc+uart:///dev/radio?uart-baudrate=1000000
    Terminal command

    Important

    「コンテナ名 “/otbr” はすでにコンテナ…で使用されています」のようなエラーが出た場合は、次のコマンドを実行してください

      • sudo docker kill otbr

      • sudo ip -6 route del "fd11:22::/64" dev otbr0 via "fd11:db8:1::2"

      • sudo ip link set dev otbr0 down

      • sudo docker network rm otbr

    4.1.2 Web ブラウザでhttp://localhost:8080/アドレスを開き、OpenThread Border Router のグラフィカルユーザーインターフェースにアクセスします。

    4.1.3 サイドパネルからFormタブに移動し、入力したデータが次の画像と同じであることを確認します。次にFORMボタンを押して、OpenThread Border Router に Thread ネットワークの形成と Thread リーダーになることを要求します。

    4.1.4 新しいコマンドライン端末を開き、Docker 内で動作している Thread ノードのステータスを確認します:

    Copy
    sudo docker exec -it otbr sh -c "sudo ot-ctl state"
    Terminal command

    出力は次のようになるはずです:

    leader
    Done
    Terminal

    4.2 CHIP Tool が引き続き動作していることを確認します。動作していない場合:

    4.2.1 新しいコマンドライン端末を開き、次のコマンドで前の演習で取得したダウンロード済みバイナリファイルを実行します:

    PC の場合:

    ./chip-tool_x64 interactive start

    Raspberry Pi の場合:

    ./chip-tool_arm64 interactive start

    4.3 デバイスをネットワークにコミッショニングします。

    4.3.1 Bluetooth LE 経由の Matter アドバタイズが動作していることを確認します。

    デバイスのシリアルポートに次のログが表示されるはずです:

    I: 730208 [DL]CHIPoBLE advertising started
    I: 730212 [DL]NFC Tag emulation started
    Terminal

    Matter Template サンプルでは Bluetooth LE 経由の Matter アドバタイズは自動的に開始されますが、1時間でタイムアウトします。アドバタイズがタイムアウトした場合は、Matter デバイスの BUTTON0 を押して再度開始してください。

    4.3.2 CHIP Tool アプリケーションを実行している端末ウィンドウに戻ります。

    次のコマンドを実行してコミッショニングを開始し、<thread dataset>引数に、レッスン2 演習1で取得してコンピュータに保存した Thread dataset を指定します。<your_selected_node_id>は、他の演習で使用していないランダムなノード ID(例:7)に置き換えてください。この同じ番号は、CHIP Tool 経由でデバイスにコマンドを送信する際にも使用します。

    Copy
    pairing ble-thread <your_selected_node_id> hex:<thread dataset> 20202021 3840
    Terminal command

    その結果、Matter デバイスと CHIP Tool アプリケーションのログには、コミッショニングのフローを示す詳細なメッセージが多数出力され始めます。これらは、ペアリングに問題がある場合に特に有用で、トラブルシューティングに役立ちます。

    4.1 CHIP Tool が引き続き動作していることを確認します。動作していない場合:

    4.1.1 新しいコマンドライン端末を開き、次のコマンドで前の演習で取得したダウンロード済みバイナリファイルを実行します:

    PC の場合:

    ./chip-tool_x64 interactive start

    Raspberry Pi の場合:

    ./chip-tool_arm64 interactive start

    4.2 デバイスをネットワークにコミッショニングします。

    4.2.1 Matter デバイスの BUTTON0 を押して、Bluetooth LE 経由の Matter アドバタイズを開始します。

    デバイスのシリアルポートに次のログが表示されるはずです:

    I: 730208 [DL]CHIPoBLE advertising started
    I: 730212 [DL]NFC Tag emulation started
    Terminal

    4.2.2 CHIP Tool アプリケーションを実行している端末ウィンドウに戻ります。

    次のコマンドを実行し、<wifi_ssid>および<wifi_password>引数に Wi-Fi ネットワーク情報を入力します。

    <your_selected_node_id>は、他の演習で使用していないランダムなノード ID(例:7)に置き換えてください。この同じ番号は、CHIP Tool 経由でデバイスにコマンドを送信する際にも使用します。

    Copy
    pairing ble-wifi <your_selected_node_id> <wifi_ssid> <wifi_password> 20202021 3840
    Terminal command

    その結果、Matter デバイスと CHIP Tool アプリケーションのログには、コミッショニングのフローを示す詳細なメッセージが多数出力され始めます。これらは、ペアリングに問題がある場合に特に有用で、トラブルシューティングに役立ちます。

    5. OTA Provider のセットアップ

    5.1 Matter nRF Connect releases の GitHub ページにアクセスして、OTA Provider の実行ファイルをダウンロードします。使用している nRF Connect SDK バージョンに対応するリリース成果物を見つけてください:

    Linux PC でセットアップしている場合は、chip-ota-provider-app_x64ファイルをダウンロードします。

    Raspberry Pi でセットアップしている場合は、chip-ota-provider-app_arm64ファイルをダウンロードします。

    5.2 ダウンロードしたバイナリを実行します。<path_to_matter.ota>は、Matter デバイスに提供したい Matter OTA イメージへのパスに置き換えてください。

    このケースでは<path_to_sample>/build/matter.otaになります。

    なお、Matter OTA イメージはデフォルトでサンプルのビルドディレクトリに生成されます:

    PC の場合:

    ./chip-ota-provider-app_x64 -f <path_to_matter.ota>

    Raspberry Pi の場合:

    ./chip-ota-provider-app_arm64 -f <path_to_matter.ota>

    6. CHIP Tool を使用して OTA Provider デバイスをコミッショニングします

    Matter ファブリックの観点では、OTA Provider デバイスは Nordic DK と大きくは変わらず、Matter コミッショナーによって同様にコミッショニングされる必要があります。

    Matter Lock にはノード ID 1 が割り当てられているため、OTA Provider にはノード ID 2 が割り当てられます。

    6.1 CHIP Tool アプリケーションを実行している端末ウィンドウを使用して、コミッショニングプロセスを開始します。

    次のコマンドを実行して OTA Provider をコミッショニングし、ノード ID 2 を割り当てます:

    Copy
    pairing onnetwork 2 20202021
    Terminal command

    7. OTA Provider と OTA Requestor 間の接続を設定し、ソフトウェア更新を実行します。

    すべてのコマンドは CHIP Tool の端末ウィンドウで実行してください。

    7.1 次のコマンドを実行して、Matter デバイスにデフォルトの OTA Provider を設定します。

    最後の2つの引数は、それぞれ Requestor Node ID と Requestor Endpoint ID です。

    Copy
    otasoftwareupdaterequestor write default-otaproviders '[{"fabricIndex": 1, "providerNodeID": 2, "endpoint": 0}]' 1 0
    Terminal command

    7.2 ファブリック内のすべてのノードにOperate権限を付与するアクセス制御リスト(ACL)を OTA Provider に設定します。

    これは、ノードが OTA Provider に対してクラスターコマンドを送信できるようにするために必要です:

    Copy
    accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null}]' 2 0
    Terminal command

    7.3 Matter Door Lock サンプルを実行している nRF DKに対して、Announce OTA Provider コマンドを送信します。

    数値の引数は順に、Provider Node ID、Provider Vendor ID、Announcement Reason、Provider Endpoint ID、Requestor Node ID、Requestor Endpoint ID です。

    Copy
    otasoftwareupdaterequestor announce-otaprovider 2 0 0 0 1 0
    Terminal command

    デバイスが OTA Provider ノードを認識すると、自動的に OTA Provider に新しいファームウェアイメージを問い合わせます。ファームウェアイメージのダウンロードが完了すると、更新を適用するためにデバイスは自動的に再起動します。

    7.4 Nordic DK のログを確認し、ソフトウェアイメージが更新されたかどうかを確認します。ログには次のメッセージが含まれるはずです:

    I: 168 [SVR]Server Listening...
    I: 171 [DL]Device Configuration:
    I: 174 [DL]  Serial Number: 11223344556677889900
    I: 178 [DL]  Vendor Id: 65521 (0xFFF1)
    I: 182 [DL]  Product Id: 32774 (0x8006)
    I: 185 [DL]  Product Name: Matter Door Lock
    I: 189 [DL]  Hardware Version: 0
    I: 192 [DL]  Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
    I: 197 [DL]  Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
    I: 204 [DL]  Manufacturing Date: 2022-01-01
    I: 208 [DL]  Device Type: 65535 (0xFFFF)
    I: 211 [SVR]SetupQRCode: [MT:8IXS142C00KA0648G00]
    I: 216 [SVR]Copy/paste the below URL in a browser to see the QR Code:
    I: 222 [SVR]https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A8IXS142C00KA0648G00 
    I: 230 [SVR]Manual pairing code: [34970112332]
    I: ================ NEW SOFTWARE IMAGE IS WORKING!!! ===============
    E: 241 [DL]Long dispatch time: 187 ms, for event type 2
    Terminal

    ログから、Matter OTA を使用したソフトウェア更新が成功したことが確認できます。

    Make sure to Log in or Register to save your progress

    Back
    Next

    Switch language?

    Progress is tracked separately for each language. Switching will continue from your progress in that language or start fresh if you haven't begun.

    Your current progress is saved, and you can switch back anytime.

    Log in
    Don’t have an account? Register an account

    Forgot your password?
    Register an account
    Already have an account? Log in
    (All fields are required unless specified optional)

    • 8 or more characters
    • Upper and lower case letters
    • At least one number or special character

    Forgot your password?
    Enter the email associated with your account, and we will send you a link to reset your password.

    Back to Log in

    リンクの挿入/編集

    リンク先 URL を入力してください

    または既存のコンテンツにリンク

      検索キーワードが指定されていません。最近の項目を表示しています。 検索または上下矢印キーを使って項目を選択してください。

        Change summary

        What's new in the latest version

        Matter

        Matter

        •Matter over Thread support for nRF54LM20A and nRF54LM20B SoCs.
        •Matter over Wi-Fi® support for nRF54LM20A combined with the nRF7002-EB II shield.
        •Released the Matter Cluster Editor app v1.0.1 and Matter Quick Start app v1.1.0.