Cihaz Veri Modeli

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

Cihazlar ve Uç Noktalar

Akıllı telefonlar ve ev asistanları da dahil olmak üzere 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, kimliği net bir şekilde tespit edilebilir ve adreslenebilir bir kaynaktır. Matter ağ iletişimi bir düğümde başlar ve biter.

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

Cihaz, düğüm ve uç nokta hiyerarşisi
Şekil 1: Cihazlar, Düğümler ve Uç Noktalar

Düğüm rolleri

Düğüm rolü, birbiriyle ilişkili davranışlar grubudur. Her düğümün bir veya daha fazla rolü olabilir. Düğüm rolleri şunlardır:

  • Yetkilendirici: Yetkilendirme işlemini gerçekleştiren düğüm.
  • Denetleyici: Bir veya daha fazla düğümü kontrol edebilen düğümdür. Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen) bu tür araçlara örnek verilebilir. Açma/Kapama Işık Anahtarı gibi bazı cihaz türleri, denetleyici rolüne sahiptir.
  • Kontrol edilen: Bir veya daha fazla düğüm tarafından kontrol edilebilen düğüm. Açma/Kapatma Işık Anahtarı gibi Denetleyici rolüne sahip bazı cihaz türleri hariç çoğu cihaz türü Denetlenen olabilir. Açma/Kapama Işık Anahtarı yalnızca Denetleyici olabilir. Denetlenen olamaz.
  • OTA Sağlayıcı: OTA yazılım güncellemeleri sağlayabilen bir düğüm.
  • OTA İstek Sahibi: OTA yazılım güncellemeleri isteyebilen bir düğüm.

Kümeler

Bir uç noktada, bir düğümün bir veya daha fazla kümesi vardır. Bunlar, cihaz hiyerarşisindeki bir diğer adımdır. Akıllı prizdeki açma/kapatma kümesi veya kısılabilir ışık uç noktasındaki seviye kontrolü kümesi gibi belirli işlevleri gruplandırırlar.

Bir düğümün birden fazla uç noktası da olabilir. Bu uç noktaların her biri aynı işlevin bir örneğini oluşturur. Örneğin, bir aydınlatma armatürü, bağımsız ışıkların bağımsız kontrolünü sağlayabilir veya bir priz, bağımsız prizlerin kontrolünü sağlayabilir.

Özellikler

Son düzeyde, düğümün sahip olduğu durumlar olan Özellikler'i buluruz. Örneğin, seviye kontrolü kümesinin mevcut seviye özelliği. Özellikler uint8, dize veya dizi gibi farklı veri türleri olarak tanımlanabilir.

Düğümler, uç noktalar, özellikler ve komutlar hiyerarşisi
Şekil 2: Düğümler, Uç Noktalar, Özellikler ve Komutlar

Komutlar

Kümelerde, özelliklerin yanı sıra gerçekleştirilebilecek eylemler olan komutlar da bulunur. Bunlar, Matter'nin DM'sinde uzak prosedür çağrısının karşılığıdır. Komutlar, Door Lock kümesindeki lock door gibi fiil benzeridir. Komutlar yanıt ve sonuç üretebilir. Matter protokolünde bu tür yanıtlar da ters yönde giden komutlar olarak tanımlanır.

Etkinlikler

Son olarak, kümelerde geçmiş durum geçişlerinin kaydı olarak düşünülebilecek etkinlikler de olabilir. Özellikler mevcut durumları temsil ederken etkinlikler, geçmişin bir günlüğüdür ve monoton olarak artan bir sayaç, zaman damgası ve öncelik içerir. Durum geçişlerinin yakalanmasını ve özelliklerle kolayca elde edilemeyen veri modellemelerinin yapılmasını sağlarlar.

Tam örnek cihaz
Şekil 3: Matter cihaz etkileşim modelinin hiyerarşisine bir örnek

Uç nokta 0, Yardımcı Program Kümeleri için ayrılmıştır. Yardımcı Kümeler, bir uç noktada keşif, adresleme, teşhis ve yazılım güncelleme gibi hizmet işlevlerini kapsayan belirli kümelerdir. Öte yandan, Uygulama Kümeleri, 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ı dahil edilmelidir?

Matter spesifikasyonu, cihazın bir veya daha fazla cihaz türünü uygulamasını veya genişletmesini gerektirir. Cihaz Türü, fiziksel bir cihazın üst düzey özelliklerini tanımlayan zorunlu ve isteğe bağlı kümelerden oluşan bir koleksiyondur. Örneğin, Kısılabilir Işık, Kapı Kilidi veya Video Oynatıcı.

Cihaz Türleri, Matter spesifikasyonunun ana belgesinde değil, ek bir belgede belirtilir: Cihaz Kitaplığı. Benzer şekilde, tüm uygulama kümeleri Uygulama Kümesi Kitaplığı'nda tanımlanır. Bu üç belgeyi Connectivity Standards Alliance (Alliance) üye web sitesinde bulabilirsiniz.

Bir cihaz türünü uygulayan her uç nokta, o cihaz türünü tanımlayan zorunlu kümeleri uygulamalıdır. Zorunlu kümelerin yanı sıra uç nokta, cihaz türünün isteğe bağlı kümelerinden biri veya daha fazlası, hatta cihaz türünün parçası olmayan kümeler de dahil olmak üzere ek kümeler uygulayabilir.

İstemciler ve Sunucular

Kümeler, İstemci Kümesi veya Sunucu Kümesi olabilir. Sunucu durum bilgisi olan bir yapıya sahiptir ve Özellikler, Etkinlikler ve Komutlar'ı barındırır. İstemci ise durum bilgisi olmayan bir yapıya sahiptir ve uzak bir Sunucu Kümesi ile Etkileşimler başlatmakla sorumludur. Bu sayede şunları gerçekleştirir:

  • Uzak özelliklerinden okuma ve uzak özelliklerine yazma işlemlerini gerçekleştirir.
  • okuma işlemi gerçekleştirir.
  • çağrılması için kullanılabilir.

DM, bir düğüm içinde hiyerarşik olsa da düğümler arasındaki ilişki hiyerarşik değildir. Matter'deki düğümler arasında dikey denetleyici/çevre birimi veya lider/takipçi ilişkileri yoktur. Aksine, ilişki yataydır: Herhangi bir küme sunucu veya istemci olabilir. Bu nedenle bir düğüm, farklı kümeler ve işlevler açısından hem sunucu hem de istemci olabilir.

Örneğin, iki masa lambamız olabilir: Düğüm A ve Düğüm B. Her iki düğüm de Açma/Kapatma Işığı cihaz türünü uygular. Bu cihaz türü, ilgili fiziksel ışık çıkışlarını kontrol eden bir Açma/Kapatma Sunucusu kümesi içerir.

Ancak tipik masa lambalarında olduğu gibi fiziksel cihazlarımızda da yerel açma/kapatma anahtarları için Açma/Kapatma Işık Anahtarı cihaz türü bulunur. Bu cihaz türü, sunucu kümelerini kontrol edebilmesi için bir açma/kapatma istemcisi kümesi uygulamalıdır.

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

Bu örnekte, A düğümündeki açma/kapatma istemci kümesi, A ve B düğümlerindeki açma/kapatma sunucu kümesinin özelliklerini değiştirirken B düğümünün istemci kümesi yalnızca B düğümündeki sunucu kümesini değiştirir.

Bir sonraki bölümde, istemci ve sunucu kümelerinin nasıl etkileşim kurduğunu (etkileşim modeli) ayrıntılı olarak açıklayacağız.

Tanımlayıcı Kümesi

Adından da anlaşılacağı üzere Tanımlayıcı Küme Sunucusu, iç gözlem bilgileri sağlar. Uç noktayı tanımlar ve şunları listeler:

  • Sunucu kümeleri.
  • İstemci kümeleri.
  • Cihaz Türleri.
  • Parçalar olarak bilinen ek uç noktalar.

Her cihaz türü için tanımlayıcı kümelerinin uygulanması gerekir. Kök cihaz türü, 0 numaralı uç noktada tanımlanır. Tanımlayıcı kümesini okumak, istemciye mevcut uç noktaların tam ağacını inceleme ve geçerli işlemleri gerçekleştirme olanağı sağlar.

Telefon veya hub gibi yetkilendirme sorumlusu ya da kontrol cihazı, cihazı (ışık, anahtar, pompa, termostat) ve cihazın söz konusu örneği tarafından uygulanan belirli özellikleri modellemek için tanımlayıcı kümesinde bulunan bilgileri kullanarak kullanıcıya doğru kullanıcı arayüzünü gösterebilir.

Sunucu Kümeleri

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

Müşteri Kümeleri

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

Cihaz Türü Listesi

DeviceTypeList özelliği, uç nokta tarafından desteklenen cihaz türlerinin ve ilgili düzeltmelerinin listesidir. 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 (kök düğüm) PartsList, cihazın kendisi (uç nokta 0) dışındaki tüm uç noktalarını içerir.

Diğer uç noktaların PartsList değeri genellikle boş olur. Örneğin, bir sıcaklık sensörü yalnızca sıcaklık ölçüm sunucusu kümesi gerektirir.

Diğer cihaz türleri, birden fazla cihaz türü örneğinin ağaç yapısında oluşturulabilir. Örneğin, bir Video Oynatıcı Cihaz türü; TV, Video Oynatıcı, Hoparlör ve farklı İçerik Uygulaması Cihaz Türleri'nden oluşabilir. Bunların her biri farklı bir uç noktada bulunur.


  1. Matter spesifikasyonu, bir cihazın birden fazla düğüme sahip olabileceğini belirtir. Örneğin, akıllı telefonlarda birden fazla uygulama olabilir ve her uygulama farklı bir düğümdür. Bu kılavuzda, tüm cihazların tek bir düğüm içerdiği varsayılacaktır. Çoğu fiziksel cihazın bu kalıbı izlemesi beklenir. ↩