Model danych urządzenia

Urządzenia w Matter mają dobrze zdefiniowany model danych (DM), który jest hierarchicznym modelowaniem funkcji urządzenia. Na najwyższym poziomie tej hierarchii znajduje się Urządzenie.

Urządzenia i punkty końcowe

Wszystkie Urządzenia, w tym smartfony i domowe asystenty, składają się z tych elementów: Węzły1. Węzeł to unikalny, możliwy do zidentyfikowania i adresowania zasób które użytkownik postrzega jako całość. Komunikacja sieciowa w Matter rozpoczyna się i kończy w węźle.

Węzły stanowią kolekcję punktów końcowych. Każdy punkt końcowy obejmuje zbiór cech. Punkt końcowy może na przykład być związany z funkcją oświetlenia, a Druga wiąże się z wykrywaniem ruchu, a inna – z narzędziami, takimi jak jako aktualizacje OTA urządzenia.

Hierarchia urządzeń, węzłów i punktów końcowych
Ilustracja 1. Urządzenia, węzły i punkty końcowe

Role węzłów

Rola węzła to zestaw powiązanych zachowań. Każdy węzeł może mieć co najmniej jeden role. Role węzłów obejmują:

  • Komisarz: węzeł, który działa Rozpoczęcie realizacji usługi.
  • Kontroler: węzeł, który może sterować co najmniej jednym węzłem. Przykłady to Google Home app (GHA), Google Assistant i Google Nest Hub (2nd gen). Niektóre typów urządzeń, takich jak funkcja Przełącz, korzystaj z kontrolera rolę użytkownika.
  • Kontroler: węzeł, którym może sterować co najmniej jeden Węzły. Osobą sterowaną może być większość typów urządzeń (z wyjątkiem niektórych typów) którzy pełnią rolę kontrolera, na przykład włączania/wyłączania światła Przełącz. Włącz/wyłącz światło Przełącznik może być tylko kontrolerem. Nie może być on podmiotem kontrolowanym.
  • Dostawca OTA: węzeł, który może dostarczać aktualizacje oprogramowania OTA.
  • Zgłaszający OTA: węzeł, który może wysyłać żądania oprogramowania OTA. aktualizacje.

Klastry

W ramach punktu końcowego węzeł ma co najmniej 1 klaster. To są kolejne w hierarchii urządzeń, ponieważ grupują one określone funkcje, takie jak klaster włączony/wyłączony na inteligentnej wtyczce lub klaster kontroli poziomu na urządzeniu z możliwością przyciemnienia lekkiego punktu końcowego.

Węzeł może też mieć kilka punktów końcowych, z których każdy tworzy instancję tego samego funkcji. Na przykład oprawa oświetleniowa może umożliwiać niezależną kontrolę poszczególne punkty oświetlenia lub listw zasilający mogą utrudniać sterowanie poszczególnymi gniazdkami.

Atrybuty

Na ostatnim poziomie znajdują się atrybuty, czyli stany posiadane przez węzeł, np. atrybut current level klastra level Control. Atrybuty można zdefiniować jako różne typy danych, takie jak uint8, ciągi tekstowe lub tablice.

Hierarchia węzłów, punktów końcowych, atrybutów i komend
Rys. 2. Węzły, punkty końcowe, atrybuty i polecenia

Polecenia

Oprócz atrybutów klastry mają też polecenia, czyli działania, które co można zrobić. W czacie użytkownika Matter są takie same jak w zdalnego wywołania procedury. Polecenia przypominają czasowniki, na przykład zamknij drzwi na Klaster Door Lock. Polecenia mogą generować odpowiedzi i wyniki. cale Matter, takie odpowiedzi są również zdefiniowane jako polecenia, przechodząc w odwrotnym kierunku.

Wydarzenia

Klastry mogą też zawierać zdarzenia, które można traktować jak rekord w przeszłości. Atrybuty reprezentują bieżące stany, wydarzenia są dziennikami przeszłości i obejmują monotonicznie rosnącą licznik, sygnaturę czasową i priorytet. Umożliwiają one rejestrowanie przemian stanów i modelowanie danych, które nie są łatwe do osiągnięcia za pomocą atrybutów.

Urządzenie z pełną wersją
Rys. 3. Przykład hierarchii Matter Model interakcji z urządzeniami

Punkt końcowy 0 jest zarezerwowany dla klastrów narzędzi. Klastry usług to konkretne klastry, które obejmują funkcje obsługi punktu końcowego, takie jak wykrywanie, adresowanie, diagnostyka i aktualizacja oprogramowania. Z drugiej strony, Klastry aplikacji obsługują główne działania, takie jak włączanie/wyłączanie pomiar temperatury ciała.

Typy urządzeń

Które kombinacje klastrów powinny być uwzględnione jako urządzenie czy producent planuje nowe urządzenie?

Specyfikacja Matter wymaga, aby urządzenie implementowało co najmniej jeden z typów urządzeń lub rozszerzało ich możliwości. Typ urządzenia to zbiór klastrów obowiązkowych i opcjonalnych, które definiują atrybuty najwyższego poziomu fizycznego urządzenia, takie jak ściemniacz światła, zamek do drzwi czy odtwarzacz wideo.

Typy urządzeń nie są określone w głównym dokumencie ze specyfikacją Matter, ale w dokumencie towarzyszącym: Device Library. Podobnie wszystkie klastry aplikacji są zdefiniowane w sekcji Aplikacja Biblioteka klastrów. Te 3 dokumenty znajdziesz na stronie dla członków Connectivity Standards Alliance (Alliance).

Każdy punkt końcowy implementujący typ urządzenia musi implementować obowiązkowe klastry definiujących Typ Urządzenia. Oprócz obowiązkowych klastrów klasa klucz-wartość Punkt końcowy może implementować dodatkowe klastry, w tym jeden lub więcej urządzeń Opcjonalne klastry typu lub nawet klastry, które nie należą do typu urządzenia.

Klienci i serwery

Klastry mogą być klastrem klienta lub klastrem serwerów. Chociaż Serwer jest stanowy i przechowuje atrybuty, zdarzenia i polecenia, bezstanowy i jego obowiązkiem jest inicjowanie interakcji z parametrem zdalny klaster serwerów, dzięki czemu działa:

  • odczytuje z atrybutów zdalnych i zapisuje je.
  • odczyty zdalnych zdarzeń.
  • wywołania poleceń zdalnych.

DM to proces hierarchiczny w węźle, natomiast relacja między węzłami jest Nie. Węzły w regionie Matter nie mają orientacji pionowej między administratorem a podmiotem peryferyjnym lub między przywódcą a obserwatorem. Przeciwnie jest pozioma: dowolny klaster może być serwerem lub klientem. W związku z tym węzeł może pełnić funkcję serwera i klienta w odniesieniu do różnych klastrów i funkcji.

Możemy na przykład mieć 2 lampy stołowe: Węzeł A i Węzeł B. Oba węzły zaimplementować typ urządzeń z włączonym/wyłączonym oświetleniem. Urządzenia tego typu mają włączone/wyłączone Serwer Klaster, który kontroluje fizyczne wyjścia świetlne.

Ale, jak w przypadku standardowych lamp stołowych, nasze urządzenia fizyczne zawierają również Przełącznik światła – typ urządzenia do obsługi lokalnych przełączników do włączania i wyłączania światła. Ten typ urządzenia musi implementować klaster klienta włączania/wyłączania, aby mógł kontrolować klastry serwerów.

Lampy z włączonym/wyłączonym oświetleniem oraz przełącznikiem światła
Rys. 4. Klastry klienta i serwera

W tym przykładzie klaster klienta wł./wył. w węźle A zmienia atrybuty klastra z włączonym/wyłączonym serwerem w węźle A i węzła B, a klient węzła B Klaster zmienia tylko klaster serwera w samym węźle B.

W następnej sekcji szczegółowo omówimy interakcje między klastrami klienta i serwera: Model interakcji.

Klaster deskryptora

Jak sama nazwa wskazuje, serwer klastra deskryptorów zapewnia introspekcję i informacjami o nich. Opisuje punkt końcowy, podając następujące dane:

  • Klastry serwerów.
  • Klastry klientów.
  • Typy urządzeń.
  • Dodatkowe punkty końcowe znane jako Parts.

Każdy typ urządzenia wymaga implementacji klastrów deskryptorów. Korzeń Typ urządzenia jest zdefiniowany w punkcie końcowym 0. Odczytanie klastra opisów zapewni klientowi możliwość przejrzenia pełnego drzewa dostępnych punktów końcowych i wykonania odpowiednich operacji.

Urządzenie komisarza lub centrala, takie jak telefon czy centrala, może użyć funkcji informacje znalezione w klastrze deskryptorów w celu modelowania urządzenia (światło, przełącznik, pompa czy termostat) oraz konkretne funkcje zaimplementowane przez tę konkretną instancję urządzenia, wyświetlając użytkownikowi właściwy interfejs.

Klastry serwerów

Atrybut ServerList zawiera listę serwerów klastra w punkcie końcowym.

Klastry klienta

Atrybut ClientList zawiera listę klientów klastra w punkcie końcowym.

Lista typów urządzeń

Atrybut DeviceTypeList to lista typów urządzeń obsługiwanych przez Punkt końcowy wraz z odpowiednimi wersjami. Musi zawierać co najmniej jeden typ urządzenia.

Lista części

PartsList zawiera listę punktów końcowych używanych do implementacji tego urządzenia Typ.

PartsList punktu końcowego 0 (węzła głównego) zawiera wszystkie punkty końcowe urządzenia niezależnie od niego (punkt końcowy 0).

PartsList innych punktów końcowych jest zwykle pusty. Na przykład plik Czujnik temperatury zarząda klaster serwera do pomiaru temperatury i nic nie robi .

Inne typy urządzeń mogą znajdować się w strukturze drzewa więcej niż 1 urządzenia. Typ instancji. Na przykład typ Odtwarzacz wideo może zawierać telewizor, Odtwarzacz wideo, głośnik i różne typy urządzeń z aplikacjami do wyświetlania treści, każdy na lub w innym punkcie końcowym.


  1. Specyfikacja Matter określa, że Urządzenie może ma wiele węzłów. Na przykład smartfony mogą zawierać wiele aplikacji, a każda z nich jest w innym węźle. Na potrzeby niniejszego poradnika wszystkie Urządzenia muszą w jednym węźle. Przewiduje się, że większość urządzeń fizycznych będzie go obsługiwać. wzorcem.