Cihaz Veri Modeli

Matter kapsamındaki cihazların, iyi tanımlanmış bir veri modeli (DM) vardır. Bu, cihaz özelliklerinin hiyerarşik modellemesidir. Bu hiyerarşinin en üst seviyesinde bir 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ıların işlevsel olarak bir bütün olarak algılayabileceği, benzersiz tanımlanabilir ve adreslenebilir bir kaynaktır. Matter bölgesindeki ağ iletişimi bir düğümde başlar ve sona erer.

Düğümler, Uç noktalar koleksiyonudur. Her Uç nokta, bir özellik kümesini kapsar. Örneğin, bir Uç nokta aydınlatma işleviyle, bir diğeri hareket algılama ile, bir başkası ise Cihaz OTA gibi yardımcı programlarla ilişkili olabilir.

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

Düğüm rolleri

Düğüm rolü, bir dizi ilgili davranıştır. Her Düğüm'ün bir veya daha fazla rolü olabilir. Düğüm rolleri şunları içerir:

  • Komisyoncu: Komisyon işlemini gerçekleştiren bir düğüm.
  • Denetleyici: Bir veya daha fazla Düğümü kontrol edebilen bir düğüm. Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen) bunlara örnek olarak gösterilebilir. Açma/Kapatma Işığı Anahtarı gibi bazı cihaz türlerinde Kumanda rolü bulunur.
  • Controlee: Bir veya daha fazla düğüm tarafından kontrol edilebilen bir düğüm. Açık/Kapalı Işık Anahtarı gibi Denetleyici rolüne sahip bazı cihaz türleri dışında çoğu cihaz türü, Denetleyici olabilir. Açma/kapatma anahtarı yalnızca bir kumanda olabilir. İlgili kişi bir Denetleyici olamaz.
  • OTA Sağlayıcısı: OTA yazılım güncellemeleri sağlayabilen bir düğüm.
  • OTA İsteği Sahibi: OTA yazılım güncellemeleri isteyebilen bir düğüm.

Kümeler

Uç Nokta içinde bir Düğümün bir veya daha fazla Kümesi vardır. Bunlar, akıllı prizdeki açma/kapatma kümesi veya kısılabilir ışık uç noktasında seviye kontrol kümesi gibi belirli işlevleri gruplandırdığı için Cihaz hiyerarşisindeki başka bir adımdır.

Bir Düğümün her biri aynı işlevin bir örneğini oluşturan birden fazla Uç Nokta da olabilir. Örneğin, bir armatür, her bir lambanın bağımsız olarak kontrol edilmesini sağlayabilir veya güç şeridi, ayrı prizlerin kontrolünü açığa çıkarabilir.

Özellikler

Son düzeyde, düğümün sahip olduğu durumları temsil eden Özellikler'i buluruz. Örneğin, bir seviye kontrolü kümesinin geçerli seviye özelliği. Özellikler uint8, dizeler veya diziler gibi farklı veri türleriyle tanımlanabilir.

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

Komutlar

Kümelerde, Özellikler'in yanı sıra gerçekleştirilebilecek işlemler olan Komutlar da bulunur. Bunlar, Matter'in uzaktan prosedür çağrısının DM'sindeki eşdeğerdir. Komutlar fiil benzeridir (ör. Kapı Kilidi kümesindeki kilit kapısı). Komutlar, yanıtlar ve sonuçlar oluşturabilir. Matter seçeneğinde bu tür yanıtlar, ters yönde giden Komutlar olarak da tanımlanır.

Etkinlikler

Son olarak, Kümeler'deki Etkinlikler de geçmiş durum geçişlerinin kaydı olarak düşünülebilir. Özellikler, geçerli durumları temsil ederken, etkinlikler geçmişin bir günlüğü olup monoton olarak artan bir sayaç, bir zaman damgası ve bir öncelik içerir. Bunlar, durum geçişlerini yakalamayı ve özelliklerle kolayca elde edilemeyen veri modellemeyi sağlar.

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

Util 0, Yardımcı Program Kümeleri için ayrılmıştır. Yardımcı Program Kümeleri, bir uç noktadaki keşif, adresleme, teşhis ve yazılım güncellemesi 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 cihaz planlarken hangi Küme kombinasyonlarının eklenmesi gerekir?

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 Kısılabilir Işık, Kapı Kilidi veya Video Oynatıcı gibi üst düzey özelliklerini tanımlayan zorunlu ve isteğe bağlı kümelerden oluşan bir koleksiyondur.

Cihaz Türleri, Matter spesifikasyonu ana dokümanda değil, beraberindeki dokümanla (Cihaz Kitaplığı) belirtilir. Benzer şekilde, tüm Uygulama Kümeleri Uygulama Kümesi Kitaplığı'nda tanımlanmıştır. Bu üç belgeyi Connectivity Standards Alliance (Alliance) üyelerinin web sitesinde bulabilirsiniz.

Bir Cihaz Türü uygulayan her Uç Nokta, söz konusu 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 bir veya daha fazlası da dahil olmak üzere ek Kümeler uygulayabilir.

İstemciler ve Sunucular

Kümeler, İstemci Kümesi veya Sunucu Kümesi olabilir. Bir Sunucu durum bilgisine sahip olup Özellikleri, Etkinlikleri ve Komutları barındırırken İstemci durum bilgisizdir ve sorumluluğu uzak Sunucu Kümesi ile Etkileşimler başlatmaktır. Bu şekilde aşağıdakilerin gerçekleşmesi gerekir:

  • okur ve özelliklerde yazma gerçekleştirir.
  • okuyarak öğrenmeye devam ediyor.
  • çağrısını sağlar.

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

Örneğin, Düğüm A ve Düğüm B olmak üzere iki masa lambamız olabilir. Her iki düğüm de bir 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 da yerel açma/kapatma anahtarları için Açık/Kapalı Işık Anahtarı Cihaz Türü bulunur. Bu Cihaz Türünün Sunucu Kümelerini kontrol edebilmesi için bir Açık/Kapalı İstemci Kümesi uygulaması gerekir.

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

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

Sonraki bölümde, İstemci ve Sunucu Kümelerinin nasıl etkileşimde bulunduğunu ayrıntılandıracağız: Etkileşim Modeli.

Tanımlayıcı Kümesi

Adından da anlaşılacağı gibi Açıklayıcı Küme Sunucusu, iç gözlem bilgileri sağlar. Uç noktayı şu şekilde numaralandıran açıklatır:

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

Her Cihaz Türü için Açıklayıcı Kümelerinin uygulanması gerekir. Kök Cihaz Türü, Uç Nokta 0'da tanımlanır. Açıklayıcı Kümesini okumak, istemciye mevcut Uç noktalar ağacının tamamını çekme ve geçerli işlemleri gerçekleştirmesi için görünürlük sağlar.

Telefon veya merkez gibi bir Yetkili veya Denetleyici cihaz, Cihazı modellemek (lamba, anahtar, pompa, termostat) ve söz konusu cihaz örneğinde uygulanan belirli özellikler için Tanımlayıcı Kümesi'nde 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.

İstemci Kümeleri

ClientList Özelliği, Uç Noktadaki Küme İstemcilerini listeler.

Cihaz Türü Listesi

DeviceTypeList Özelliği, uç nokta tarafından desteklenen Cihaz Türleri'nin 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 öğesi, cihazın kendisinden ayrı olarak tüm Uç Noktalarını (Uç Nokta 0) içerir.

Diğer Endpoints'in PartsList değeri genellikle boş olur. Örneğin, Sıcaklık Sensörü, bir Sıcaklık Ölçümü Sunucu Kümesi'ni zorunlu kılar ve başka hiçbir şey yapmaz.

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ü; TV, Video Oynatıcı, Hoparlör ve farklı İçerik Uygulaması Cihaz Türleri, her biri farklı bir Uç Noktada yer alabilir.


  1. Matter spesifikasyonu bir cihazın birden fazla Düğüm'e sahip olabileceğini belirler. Örneğin, akıllı telefonların birden fazla uygulaması olabilir. Bu uygulamalar her biri farklı bir Düğümü temsil eder. Bu primerin amaçları doğrultusunda, tüm Cihazlar tek bir Düğüm içerir. Çoğu fiziksel cihazın bu kalıbı izlemesi beklenir.