Cihaz Veri Modeli

Matter cihazındaki cihazların iyi tanımlanmış bir veri modeli vardır (DM), bir Cihaz özelliklerinin hiyerarşik modellemesi. Bu hiyerarşinin en üst düzeyinde bir Cihaz bulunur.

Cihazlar ve Uç Noktalar

Akıllı telefonlar ve ev asistanları dahil tüm cihazlar Düğümlerden1 oluşur. Düğüm, bir ağda kullanıcının işlevsel olarak bütün olarak algılayabileceği benzersiz ve tanımlanabilir bir adres kaynağıdır. Matter bölgesindeki ağ iletişimi bir düğümden gelir ve sonlandırılır.

Düğümler, bir uç nokta koleksiyonudur. Her uç nokta, bir özellik grubunu kapsar. Örneğin bir uç nokta aydınlatma işleviyle, bir başkası ise hareket algılama ile ve başka bir özellik, cihazın OTA gibi yardımcı programlarla ilgili olabilir.

Cihazlar, Düğümler ve Uç Noktalar Hiyerarşisi
Şekil 1: Cihazlar, Düğümler ve Uç Noktalar

Düğüm rolleri

Düğüm rolü, bir dizi ilgili davranıştır. Her düğümde bir veya daha fazla rol olabilir. Düğüm rolleri şunlardır:

  • Komisyonlu: Komisyon işlemini gerçekleştiren bir düğümdür.
  • Denetleyici: Bir veya daha fazla düğümü kontrol edebilen bir düğümdür. Örneğin Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen). Açık/Kapalı Işık Anahtarı gibi bazı cihaz türlerinde Denetleyici rolü bulunur.
  • Denetleyici: Bir veya daha fazla düğüm tarafından kontrol edilebilen bir düğümdür. Açık/Kapalı Işık Anahtarı gibi Denetleyici rolüne sahip bazı cihaz türleri hariç çoğu cihaz türü Denetleyici olabilir. Açık/Kapalı Işık Anahtarı yalnızca bir Denetleyici olabilir. Denetleyici olamaz.
  • OTA Sağlayıcısı: OTA yazılım güncellemelerini sağlayabilen bir düğümdür.
  • OTA İsteği: OTA yazılım güncellemeleri isteyebilen düğüm.

Kümeler

Uç nokta içinde bir düğüm bir veya daha fazla küme içerir. Bunlar, akıllı fişteki açma/kapatma kümesi veya loş ışık uç noktasındaki seviye kontrol kümesi gibi belirli işlevleri gruplandırdıkları için Cihaz hiyerarşisindeki başka bir adımdır.

Düğümlerin her biri aynı işlev örneğini oluşturan birden fazla uç nokta da bulunabilir. Örneğin, bir teçhizat tek tek ışıkların bağımsız kontrolünü veya güç şeridi ayrı ayrı prizlerin kontrolünü açığa çıkarabilir.

Özellikler

Son seviyede, düğümün sahip olduğu eyaletler olan Özellikler'i (ör. seviye kontrolü kümesinin mevcut seviye özelliği) buluruz. Özellikler; uint8, dizeler veya diziler gibi farklı veri türleri olarak tanımlanabilir.

Düğüm, Uç Nokta, Özellik ve Komut Hiyerarşisi
Şekil 2: Düğümler, Uç Noktalar, Özellikler ve Komutlar

Komutlar

Kümeler, Özellikler'in yanı sıra Komutlar da içerir. Bunlarişlemler. Bunlar, Matter DM'indeki uzak prosedür çağrısının eşdeğeridir. Komutlar, kapı kilidi kümesindeki kilit kapısı gibi fiil benzeridir. Komutlar yanıt ve sonuç oluşturabilir. Bu tür yanıtlar Matter ürününde de, ters yönde ilerleyen komutlar olarak tanımlanır.

Etkinlikler

Son olarak, Kümeler'de geçmiş durum geçişlerinin bir kaydı olarak değerlendirilebilecek Etkinlikler de bulunabilir. Özellikler, mevcut durumları temsil etse de etkinlikler, geçmişin bir günlüğüdür ve monoton olarak artan bir sayaç, zaman damgası ve öncelik içerir. Özelliklerle kolayca gerçekleştirilemeyen veri modellemenin yanı sıra durum geçişlerinin yakalanmasını sağlar.

Tam cihaz örneği
Şekil 3: Matter Cihaz etkileşim modeli hiyerarşisinin bir örneği

Uç Nokta 0, Yardımcı Kümeler için ayrılmıştır. Yardımcı Kümeler; uç noktadaki keşif, adresleme, teşhis ve yazılım güncellemesi gibi hizmet işlevlerini içine alan belirli kümelerdir. Uygulama Kümeleri ise açma/kapatma veya sıcaklık ölçümü gibi birincil işlemleri destekler.

Cihaz Türleri

Cihaz üreticisi yeni bir cihaz planlarken hangi küme kombinasyonlarını toplu olarak eklemeniz gerekir?

Matter spesifikasyonu, cihazın bir veya daha fazla Cihaz Türü uygulamasını uygulamasını veya genişletmesini gerektirir. Cihaz Türü, fiziksel bir cihazın üst düzey özelliklerini (ör. Kaydırılabilir Işık, Kapı Kilidi veya Video Oynatıcı gibi) tanımlayan zorunlu ve isteğe bağlı Kümeler koleksiyonudur.

Cihaz Türleri, Matter teknik özelliği ana dokümanı tarafından değil, birlikte verilen bir doküman tarafından belirtilir: Cihaz Kitaplığı. Benzer şekilde, tüm uygulama kümeleri uygulama kümesi kitaplığında tanımlanır. Bu üç dokümanı Connectivity Standards Alliance (Alliance) üyelerinin web sitesinde bulabilirsiniz.

Bir Cihaz Türü uygulayan her Uç Nokta, o Cihaz Türünü tanımlayan zorunlu Kümeleri uygulamalıdır. Uç nokta, zorunlu kümelere ek olarak cihaz türünün isteğe bağlı kümelerinden en az biri, hatta cihaz türünün parçası olmayan kümeler de dahil olmak üzere ek kümeler uygulayabilir.

İstemciler ve Sunucular

Kümeler bir İstemci Kümesi veya Sunucu Kümesi olabilir. Sunucular durum bilgili olsa da; Özellikler, Etkinlikler ve Komutlar içerirken bir istemci durum bilgisizdir ve sorumluluk, uzak bir sunucu kümesiyle etkileşim başlatmaktır. Bu sayede:

  • Uzak Özellikler'den okur ve yazır.
  • Uzak Etkinlikleri'ni okur.
  • Uzak komutlarının çağrısı.

DM, bir Düğüm içinde hiyerarşik olsa da Düğümler arasındaki ilişki olmaz. Matter içindeki düğümlerin dikey denetleyici/çevre birimi veya öncü/takip ilişkisi yok. Tersine, ilişki yataydır: Herhangi bir Küme Sunucu veya İstemci olabilir. Düğümler farklı Kümeler ve işlevler açısından hem Sunucu hem de İstemci olabilir.

Örneğin, iki masa lambamız olabilir: A düğümü ve B düğümü. Her iki düğüm de Açık/Kapalı Işık Cihaz Türü uygular. Bu Cihaz Türü, ilgili fiziksel ışık çıkışlarını kontrol eden bir Açık/Kapalı Sunucu Kümesi içerir.

Ancak, normal masa lambalarında olduğu gibi, fiziksel cihazlarımızda yerel açma/kapatma anahtarları için Açık/Kapalı Işık Anahtarı Cihaz Türü de bulunur. Bu Cihaz Türü, Sunucu Kümelerini kontrol edebilmesi için Açık/Kapalı İstemci Kümesi uygulamalıdır.

Hem Açık/Kapalı Işık hem de Işık Anahtarı'nı uygulayan lambalar
Şekil 4: İstemci ve Sunucu Kümeleri

Bu örnekte, Düğüm A'daki Açık/Kapalı İstemci Kümesi, A ve Düğümlerdeki Açık/Kapalı Sunucu Kümesi özelliklerini değiştirirken, Düğüm B'nin İstemci Kümesi de yalnızca B düğümündeki Sunucu Kümesini değiştirir.

Bir sonraki bölümde, İstemci ve Sunucu Kümelerinin nasıl etkileşimde bulunduğuna değineceğiz: Etkileşim Modeli.

Açıklayıcı Küme

Adından da anlaşılabileceği gibi Descriptor Cluster Server, dahili bakış bilgileri sunar. Uç noktayı şu şekilde açıklar:

  • Sunucu Kümeleri
  • Müşteri Kümeleri.
  • Cihaz Türleri.
  • Ek Uç Noktalar (Bölüm olarak bilinir).

Her cihaz türü için açıklayıcı kümelerin uygulanması gerekir. Kök Cihaz Türü, Uç Nokta 0'da tanımlanır. Açıklayıcı Kümesini okumak, müşteriye kullanılabilir uç noktaların tüm ağacını gezdirip geçerli işlemleri gerçekleştirmesini sağlar.

Telefon ya da merkez gibi komisyon veya kontrol cihazı, cihazı (ör. ışık, anahtar, pompa, termostat) ve cihazın belirli bir örneği tarafından uygulanan belirli özellikleri modelleyerek kullanıcıya doğru kullanıcı arayüzünü göstermek için açıklayıcı kümede bulunan bilgileri kullanabilir.

Sunucu Kümeleri

ServerList özelliği, uç noktadaki küme sunucularını listeler.

Müşteri Kümeleri

ClientList özelliği, uç noktalardaki küme istemcilerini listeler.

Cihaz Türü Listesi

DeviceTypeList özelliği, uç noktanın desteklediği cihaz türlerinin ve bunlarla ilgili düzeltmelerin yer aldığı bir listedir. En az bir cihaz türü içermelidir.

Parça Listesi

PartsList, bu cihaz türünü uygulamak için kullanılan uç noktaların listesini içerir.

Uç Nokta 0'ın PartsList (Kök Düğüm), cihazın kendisinin tüm Uç Noktalarını (Uç Nokta 0) içerir.

Diğer Uç Noktalar'daki PartsList genellikle boş olur. Örneğin, bir Sıcaklık Sensörü, bir Sıcaklık Ölçüm Sunucusu Kümesini zorunlu kılarken başka hiçbir şey yapamaz.

Diğer cihaz türleri, birden fazla cihaz türü örneğinden oluşan bir ağaç yapısında oluşturulabilir. Örneğin, Video Oynatıcı Cihaz türü, her biri farklı bir Uç Noktaya bağlanan TV, Video Oynatıcı, Hoparlör ve farklı İçerik Uygulaması Cihaz Türlerinden oluşabilir.


  1. Matter spesifikasyonu, bir cihazın birden fazla düğüme sahip olabileceğini belirler. Örneğin, akıllı telefonlarda her biri farklı bir Düğüm olan birden fazla uygulama bulunabilir. Primer'ın amaçları doğrultusunda tüm cihazlar tek bir düğüm içerir. Fiziksel cihazların çoğunun bu kalıba uyması beklenir.