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 個のファイルをアップロードできます。
  • 日本語
    Eng
    日本語
  • Matterクラスタとその内容

    デバイスタイプが完全で複雑な機能を表すのに対し、クラスタ単一のシンプルな機能を実装する個別の構成要素です。

    例えば、Dimmable Color Temperature Lightデバイスタイプは、複数のクラスタを組み合わせています。照明のオン/オフを制御するOn/Off、調光を行うLevel Control、照明の色を変更するColor Controlなどです。

    Matterクラスタ仕様

    デバイスタイプと同様に、Matter仕様には記述されたクラスタのリストがあります。新しいクラスタを作成し、未認証ステータスの製品で使用することも、Matter組織に貢献して認証可能なステータスを付与するよう働きかけることも可能です。

    Note

    仕様に必要なクラスタが含まれていない場合は、カスタムクラスタを作成して使用できます。ただし、カスタム機能は認証を受けることができません。つまり、Connectivity Standard Alliance(CSA)組織はユーザーに対してその品質を保証しません。認証可能なステータスを取得するには、仕様を提供し、承認を得て、少なくとも他の2社のベンダーにサポートを説得する必要があります(合計3社)。

    Matter仕様は、いくつかの部分で構成されています。

    • Matter Core Specification(クラスタ関連)
    • Matter Application Cluster Specification(クラスタ関連)
    • Matter Device Library Specification
    • Matter Standard Namespace

    Matter Core Specificationは、すべてのMatterデバイスタイプに共通し、コアプロトコル機能に関連するクラスタを記述しています。Matter Application Cluster Library Specificationは、特定のアプリケーションユースケースおよびアプリケーションデバイスタイプで使用できるクラスタを記述しています。

    クラスタの内容

    Matter Application Cluster Specificationでは、デバイスタイプと同様に、ユースケースに応じてグループ化されたさまざまなクラスタを見つけることができます。各クラスタの説明には、アプリケーションでそのクラスタをサポートするかどうかを決定する際に考慮すべきいくつかのセクションが含まれています。さらに、データモデルの観点から、クラスタは、さまざまな種類のデータ表現に使用される属性、コマンド、イベントで構成されています。

    改訂履歴

    このセクションには、特定のクラスタに使用される改訂のリストと、改訂間の変更の説明を含む表が含まれています。アプリケーションが適切な改訂をサポートしていることを確認することが重要です。そうでない場合、例えば、使用する予定だった一部の機能が利用できない可能性があります。

    クラスタID

    このセクションには、利用可能なすべてのクラスタ間で一意である必要があるクラスタ識別子と、クラスタ名が含まれています。

    機能

    このセクションには、クラスタがサポートできる機能がリストされています。クラスタが機能バリアントをサポートしていない場合、このセクションは空になることがあります。機能は、FeatureMap属性(最大32ビット長)の単一ビットとして表され、0は機能が無効、1は機能が有効であることを意味します。

    例えば、Door Lockクラスタには、PIN(PIN)、RFID(RID)、指紋(FGP)などの認証情報を挿入する方法を決定する複数の機能があります。Door Lockがこれら3つの機能のみを持ち、PINがビット0、RIDがビット1、FGPがビット2に割り当てられていると仮定します。指紋とRFIDをサポートする構成では、フィーチャーマップの値は0x6(0b110)になります。

    1 1 0

    FPG RID PIN

    各機能には、ビット、コード、および適合性が割り当てられており、必須(M)、オプション(O)、または他の機能値に依存するかどうかを示します。これは、一部の機能が別の機能も有効になっている場合にのみ有効にできる場合や、逆に同時に使用できない相互排他的な機能がある場合があるためです。

    特定の機能をサポートすると、追加の属性、コマンド、イベントをサポートできる可能性があります。追加要素は、この機能に対してオプション(角括弧で示される: [FEATURE_CODE])または必須(角括弧なしで示される:FEATURE_CODE)の場合があります。

    例えば、Door LockクラスタのDoor Position Sensor(DPS)機能を使用すると、OpenPeriod属性をオプションで([DPS])有効にできますが、DoorState属性の必須(DPS)サポートも必要です。

    属性

    属性は、クラスタの現在の状態に関する情報を提供します。一部の属性は定数であり、その目的はデバイス機能に関する読み取りと情報提供を可能にすることです。

    例えば、Door Lockクラスタには、サポートされるユーザー数の属性があります。

    属性のもう1つのユースケースは、時間の経過とともに変化する可能性のある値の現在の状態を保持することです。例えば、Door LockクラスタのLockState属性は、物理的なロック状態に基づいて値を変更します。

    すべての属性の最も重要な要素は次のとおりです。

    • ID – クラスタのスコープ内で一意の識別子
    • Name – クラスタのスコープ内で一意の名前
    • Type – bool、string、integer、またはカスタムデータ構造などのデータ型
    • Constraint – 数値型の最小値と最大値などの値の制限
    • Access – クライアントデバイスが属性に対して実行できること – 読み取り(R)または書き込み(W)、および必要なアクセスレベル – 表示(V)または変更(M)。例えば、読み取りアクションには表示権限が必要で、書き込みには変更権限が必要です。
    • Conformance – 属性がオプション(O)、必須(M)、または選択された機能に依存するかどうかを示します

    次の表は、Door Lockクラスタの属性の例をいくつか示しています。

    IDNameTypeConstraintAccessConformance
    0x0000LockStateLockStateEnumR VM
    0x0012NumberOfPINUsersSupporteduint16allR VPIN
    0x0021Languagestringmax 3R[W] VMO

    イベント

    イベントは、時間の経過に伴う変化に関する情報を提供するために使用される履歴記録です。属性と比較して、デバイスの現在の状態に関する情報を取得するために使用することはできませんが、その状態がどのように変化しているかを監視するために使用されます。

    例えば、Thread Network DiagnosticsクラスタにはConnectionStatusイベントがあり、デバイスが接続状態と切断状態の間で接続状態を変更するたびに送信されます。これにより、ネットワークが安定しているかどうかがわかります。これは、現在の接続状態のみに基づいて判断するのは困難です。

    すべての属性の最も重要な要素は次のとおりです。

    • ID – クラスタのスコープ内で一意の識別子
    • Name – クラスタのスコープ内で一意の名前
    • Priority – 他のイベントと比較した情報の優先度。使用可能な値は、DEBUG、INFO、CRITICALです。デバイスのイベントバッファリング機能には制限があるため、バッファがいっぱいになった場合、優先度はどのイベントを保持または破棄するかを決定する要因になります。
    • Access – それと対話するために必要なアクセスレベル。通常はViewのみです。
    • Conformance – 属性がオプション(O)、必須(M)、または選択された機能に依存するかどうかを示します

    次の表は、Thread Network Diagnosticsクラスタのイベントの例を示しています。

    IDNamePriorityAccessConformance
    0x00ConnectionStatusINFOVO

    コマンド

    コマンドは、クライアントデバイスがサーバーデバイスに特定のアクションを要求するために送信するトリガーです。コマンド受信に応じて実行されるアクションは、コマンド仕様に応じて、非常にシンプルな場合も、複雑な操作のシーケンスの場合もあります。

    構造を考慮すると、最もシンプルなコマンドには追加データが含まれず、受信するだけで何らかの動作をトリガーし、応答として適用されたことの確認以外の追加データを必要としません。例えば、On/OffクラスタのOnコマンドは、OnOff属性の状態を変更します。

    追加データを含むコマンドの例は、DoorLockクラスタのSetPINCodeコマンドです。これには、受信デバイスによって設定される特定のユーザーとPINコードに関する情報が含まれています。

    一方、DoorLockクラスタのGetPINCodeコマンドは、リクエストとレスポンスの両方で追加データを使用するコマンドの完璧な例です。リクエストでは、クライアントデバイスがユーザーIDを含むデータを提供し、レスポンスでは、サーバーデバイスがユーザーデータとPINコードを提供します。

    すべての属性の最も重要な要素は次のとおりです。

    • ID – クラスタのスコープ内で一意の識別子
    • Name – クラスタのスコープ内で一意の名前
    • Direction – コマンドがクライアントからサーバーに送信されるか、逆方向に送信されるかを示します
    • Response – レスポンスがデフォルトの確認か、名前で指定されたより複雑なレスポンスコマンドかを示します
    • Access – それと対話するために必要なアクセスレベル。Operate(O)、Timed(T)、Administer(A)など
    • Conformance – 属性がオプション(O)、必須(M)、または選択された機能に依存するかどうかを示します

    次の表は、Door Lockクラスタのイベントの例を示しています。

    IDNameDirectionResponseAccessConformance
    0x00LockDoorclient->serverYO TM
    0x05SetPINCodeclient->serverYA T!USR & PIN
    0x06GetPINCodeclient->serverGetPINCodeResponseA!USR & PIN
    0x06GetPINCodeResponseclientN !USR & PIN

    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.

    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.