본문 바로가기

개발자/IOT-m2m

Matter: 클러스터, 속성, 명령

반응형

 

 

이전 기사에서 우리는 Matter가 여러분에게 어떤 의미인지 살펴보았습니다. 오늘은 Matter의 중요한 부분인 데이터 모델에 대해 이야기해 보겠습니다. Matter의 데이터 모델은 일반적인 Matter 노드를 만드는 데 사용되는 일반적인 요소를 정의합니다. 장치 개발자는 일반적으로 이 데이터 모델을 통해 장치의 기능을 표현합니다.

 

다음 아래 기사 목록에서 Matter에 대해 설명합니다.

 

 

 

단순한 데이터 모델 트리

 

 

 

더 나은 이해를 위해, 밝기를 조절할 수 있는 조명과 간단히 켜고 끌 수 있는 조명의 두 가지 조명이 있는 조명기구를 만든다고 가정해 보겠습니다.

 

Matter의 요소

 

다음 다이어그램은 Matter의 데이터 모델에서 이를 표현하는 방법에 대한 단순한 관점을 보여줍니다.

 

Matter 데이터 모델의 단순한 표현

 

 

노드: 우리의 경우 조명기구는 노드입니다. 이것은 일부 기능을 노출하는 고유한 네트워크 주소 지정 가능 엔터티입니다. 이것은 일반적으로 사용자가 전체 장치로 인식할 수 있는 물리적 장치입니다.

 

엔드포인트: 각 노드에는 여러 개의 엔드포인트가 있습니다. 엔드포인트는 논리적으로 그룹화할 수 있는 서비스를 제공하는 가상 장치와 유사하다고 생각할 수 있습니다. 위의 예에서 조명기구에는 2개의 별도 조명이 있는데, 하나는 조광 가능, 하나는 켜짐/꺼짐입니다. 각 조명에는 고유한 엔드포인트가 있습니다.

 

엔드포인트 0은 예약되어 있습니다. 여기에는 전체 노드에 적용할 수 있는 특정 서비스가 포함되어 있습니다. 이 섹션의 후반부에서 여기에 포함된 내용을 살펴보겠습니다.

 

Matter 사양은 특정 공통 장치 유형을 정의합니다. 예를 들어 엔드포인트 1과 2에서 볼 수 있는 켜짐/꺼짐 조명과 조광 가능 조명은 Matter에서 정의한 표준 장치 유형입니다. 장치 유형은 일반적으로 사용 가능한 기능 집합을 나타내는 데 사용됩니다.

 

클러스터: 클러스터는 재사용 가능한 구성 요소에서 일반적으로 사용되는 기능을 그룹화합니다.

 

다이어그램에서 첫 번째 조명(엔드포인트 1)은 켜짐/꺼짐 클러스터와 레벨 제어 클러스터라는 2개의 표준 클러스터로 표시됩니다. 켜짐/꺼짐 클러스터는 특정 항목을 켜거나 끄는 서비스를 제공합니다. 레벨 제어 클러스터는 특정 항목의 레벨을 구성할 수 있는 서비스를 제공합니다. 우리의 경우, On/Off 클러스터는 조명을 켜거나 끄는 데 도움이 되고 Level Control 클러스터는 조명의 밝기를 구성하는 데 도움이 됩니다.

 

조명이 색상 제어를 지원했다면 Color Control 클러스터라는 또 다른 표준 클러스터가 있었을 것입니다.

 

두 번째 조명(엔드포인트 2)은 켜기/끄기 조명일 뿐이므로 On/Off 클러스터만 포함합니다.

 

다이어그램에서 알 수 있듯이 클러스터에는 속성과 명령이 포함되어 있습니다.

 

속성: 속성은 읽거나 쓸 수 있는 것을 나타냅니다. 우리의 예에서 OnOff 클러스터에는 장치의 실제 상태에 매핑되는 OnOff 속성이 있습니다. 마찬가지로 Level Control 클러스터에는 설정된 현재 수준에 매핑되는 Current Level 속성이 있습니다.

 

속성은 지속적이거나 휘발성(재부팅 시 손실됨)일 수 있으며 읽기 전용 또는 읽기-쓰기일 수도 있습니다.

 

Matter 사양에는 속성에 가능할 수 있는 데이터 유형 목록이 포함되어 있습니다. 여기에는 일반적인 부울, 정수(부호 있음/부호 없음), 부동 소수점, 열거형, 문자열 또는 컬렉션(목록 또는 구조)이 포함됩니다.

 

명령: 클러스터 명령은 클러스터에서 특정 동작을 호출하는 기능을 제공합니다. 명령에는 연관된 매개변수가 있을 수 있습니다. 위의 다이어그램에서 On/Off 클러스터에는 클러스터의 현재 On/Off 속성을 토글하는 Toggle 명령이 있습니다. Level Control 클러스터에는 지정된 방식으로 클러스터의 현재 레벨을 이동하는 MoveToLevel, Move, Step과 같은 명령이 있습니다.

 

이것들은 Matter 데이터 모델의 일반적인 요소입니다. Matter 사양은 표준 클러스터와 해당 속성 및 명령 목록을 제공합니다. 이것을 살펴보고 장치의 기능과 어떻게 일치하는지 확인할 수 있습니다.

 

이제 Matter의 데이터 모델에서 공통적인 요소를 살펴보았으므로 클러스터 서버와 클라이언트라는 또 다른 개념을 이해해 보겠습니다. 

 

클러스터 서버와 클라이언트

 

모든 Matter 클러스터에는 클러스터 서버와 클러스터 클라이언트가 있습니다. 위의 다이어그램에서 우리 기기에는 서비스를 제공하는 클러스터 서버가 포함되었습니다. 이것들과의 상호작용은 클러스터 클라이언트를 통해 이루어집니다.

 

다음 다이어그램은 이를 잘 보여줍니다.

 

 

 

 

  • 여기서 Matter Dimmer Switch는 OnOff 및 Level Control 클러스터 클라이언트를 구현합니다. 이러한 클라이언트는 조명의 해당 서버와 통신하여 제어합니다.
  • 또한 OnOff 클러스터 클라이언트만 구현하는 Matter Simple Switch도 있습니다.
  • 마지막으로 동일한 조명을 제어하는 ​​전화 앱도 조명을 제어하기 위한 관련 클러스터 클라이언트를 구현합니다.
  • 여기서 Dimmer Switch, Simple Switch, Light와 전화 앱은 모두 Matter 노드입니다.

 

요점을 강조하는 다른 예를 살펴보겠습니다.

 

전원 스위치와 전원 콘센트

 

 

전원 스위치와 전원 콘센트

 

 

 

엔드포인트 0

 

마지막으로, 앞서 엔드포인트 0에 대해 이야기했습니다. 이것은 "루트 노드" 장치 유형이 있는 엔드포인트입니다. 이것은 이 전체 Matter 노드에 특정한 클러스터가 있는 특수 엔드포인트입니다. 이 엔드포인트의 일부인 일반적인 클러스터는 다음과 같습니다.

 

  • 기본 정보 클러스터 서버: 펌웨어 버전, 제조업체 등과 같은 노드에 대한 기본 정보를 제공합니다.
  • ACL 클러스터 서버: 이 노드에 대한 액세스 제어 목록을 구성할 수 있습니다.
  • 네트워크 커미셔닝 클러스터 서버: 노드에서 네트워크(Wi-Fi, 이더넷, 스레드)를 구성할 수 있습니다.

 

[Matter 사양은 모든 엔드포인트의 일부가 되어야 하는 특정 필수 클러스터를 정의합니다. 마찬가지로 모든 클러스터는 사양에 정의된 대로 특정 필수 속성과 명령을 가질 수 있습니다. 간결함을 위해 여기에서는 모든 것을 나열하지 않았습니다.]

 

이것은 Matter 데이터 모델의 일반적으로 사용되는 요소에 대한 간략한 개요였습니다. 장치의 기능이 Matter 데이터 모델과 어떻게 일치하는지 상상하는 데 도움이 되기를 바랍니다.

 

이 문서는 Espressif Matter 시리즈의 일련의 문서 중 일부입니다. Matter: 장치 간 자동화에 대해 설명하는 다음 문서를 읽어보세요. 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^