Matter cihazlarında, cihaz özelliklerinin hiyerarşik modellemesi olan iyi tanımlanmış bir veri modeli (DM) bulunur. 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ının işlevsel olarak bütün olarak algılayabileceği, benzersiz şekilde tanımlanabilen ve adreslenebilir bir kaynaktır. Matter'teki ağ iletişimi bir düğümde başlar ve sona erer.
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, başka bir uç nokta ise cihaz OTA gibi yardımcı programlarla ilgili olabilir.
Düğüm rolleri
Düğüm rolü, ilgili davranışlardan oluşan bir kümedir. Her düğümün bir veya daha fazla rolü olabilir. Düğüm rolleri şunları içerir:
- Komisyoncu: Komisyonlama işlemini gerçekleştiren bir düğüm.
- Denetleyici: Bir veya daha fazla düğümü kontrol edebilen bir düğüm. Örnekler arasında Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen) bulunur. Açık/Kapalı Işık Anahtarı gibi bazı cihaz türleri Denetleyici rolüne sahiptir.
- Denetlenen: 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 hariç çoğu cihaz türü Denetlenen olabilir. Açma/kapatma düğmesi yalnızca denetleyici olabilir. Kontrol edilen bir hesap olamaz.
- OTA Sağlayıcı: OTA yazılım güncellemeleri sağlayabilen bir Düğüm.
- OTA İstemcisi: OTA yazılım güncellemeleri isteğinde bulunabilen bir Düğüm.
Kümeler
Bir Uç Noktasında bir Düğüm, bir veya daha fazla Küme içerir. Akıllı prize ait açma/kapatma kümesi veya kısılabilir ışık uç noktasındaki seviye kontrolü kümesi gibi belirli işlevleri gruplandırdıkları için cihaz hiyerarşisindeki bir sonraki adımdır.
Bir düğümde, her biri aynı işlevin bir örneğini oluşturan birkaç uç nokta da olabilir. Örneğin, bir aydınlatma armatürü, tek tek ışıkların bağımsız kontrolünü sunabilir veya bir priz şeridi, tek tek prizleri kontrol etme imkanı sunabilir.
Özellikler
Son düzeyde, düğüm tarafından tutulan durumlar olan Özellikler'i görürüz (ör. seviye denetimi kümesinin geçerli seviye özelliği). Özellikler, uint8, dize veya dizi gibi farklı veri türleri olarak tanımlanabilir.
Komutlar
Kümelerde, niteliklerin yanı sıra Komutlar da bulunur. Bunlar, gerçekleştirilebilecek işlemlerdir. Bunlar, Matter'ın DM'sinde uzak prosedür çağrısının eşdeğeridir. Komutlar, Kapı Kilidi kümesinde kapıyı kilitle gibi fiil benzeridir. Komutlar yanıtlar ve sonuçlar oluşturabilir. Matter'te bu tür yanıtlar, ters yönde ilerleyen komutlar olarak da 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ş ile ilgili bir günlüktür ve monoton olarak artan bir sayaç, zaman damgası ve öncelik içerir. Durum geçişlerinin yanı sıra özelliklerle kolayca elde edilemeyen veri modellemeyi yakalamayı sağlarlar.
Uç Noktası 0, Yardımcı Program Kümeleri için ayrılmıştır. Yardımcı program kümeleri, bir uç noktada servis işlevlerini (ör. keşif, adresleme, teşhis ve yazılım güncelleme) 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 tasarlarken hangi küme kombinasyonlarının dahil edilmesi 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 üst düzey özelliklerini (ör. Dimmer ışık, Kapı kilidi veya Video oynatıcı) tanımlayan zorunlu ve isteğe bağlı kümelerden oluşan bir koleksiyondur.
Cihaz türleri, Matter spesifikasyonunun ana dokümanı tarafından değil, Cihaz Kitaplığı adlı tamamlayıcı bir doküman tarafından belirtilir. Benzer şekilde, tüm uygulama kümeleri uygulama kümesi kitaplığında tanımlanır. Bu üç dokümanı Connectivity Standards Alliance (Alliance) üye web sitesinde bulabilirsiniz.
Bir cihaz türünü uygulayan her uç nokta, ilgili cihaz türünü tanımlayan zorunlu kümeleri uygulamalıdır. Bitiş noktası, zorunlu kümelere ek olarak cihaz türünün isteğe bağlı kümelerinden biri veya daha fazlası ya da 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 bilgisine sahip ve Özellikler, Etkinlikler ve Komutlar barındırırken istemci durum bilgisine sahip değildir ve uzak bir sunucu kümesiyle etkileşimleri başlatmaktan sorumludur. Bu sayede aşağıdakileri gerçekleştirir:
- Uzak özelliklerini okur ve yazar.
- uzaktaki etkinliklerini okur.
- uzak komutlarının çağrılmasını sağlar.
DM bir düğüm içinde hiyerarşik olsa da düğümler arasındaki ilişki hiyerarşik değildir. Matter düğümlerinde dikey kontrolör/periferik 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 İstemci olabilir.
Örneğin, A düğümü ve B düğümü adlı iki masa lambasımız olabilir. Her iki düğüm de Açık/Kapalı Işık 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 fiziksel cihazlarımız, tipik masa lambalarında olduğu gibi yerel açma/kapatma anahtarları için bir Açma/Kapatma Işık Anahtarı cihaz türü de içerir. Bu cihaz türü, sunucu kümelerini kontrol edebilmesi için bir açma/kapatma istemcisi kümesi uygulamalıdır.
Bu örnekte, A düğümünün Açma/Kapatma İstemci Kümesi, A ve B düğümlerindeki Açma/Kapatma Sunucu Kümesi'nin özelliklerini değiştirirken B düğümünün İstemci Kümesi yalnızca B düğümünün Sunucu Kümesi'ni değiştirmektedir.
Bir sonraki bölümde, istemci ve sunucu kümelerinin nasıl etkileşime girdiğini ayrıntılı olarak açıklayacağız: Etkileşim modeli.
Açıklayıcı Kümesi
Adından da anlaşılacağı gibi, tanımlayıcı küme sunucusu iç gözlem bilgilerini sağlar. Uç noktayı aşağıdakileri listeleyerek açıklar:
- Sunucu kümeleri.
- İstemci kümeleri.
- Cihaz Türleri.
- Parça 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ümesi'ni okumak, istemciye mevcut uç noktaların tüm ağacını tarayabilecek ve geçerli işlemleri gerçekleştirebilecek bir görünürlük sağlar.
Komisyoncu veya telefon ya da merkez gibi kontrol cihazı, cihazı (ışık, anahtar, pompa, termostat) ve cihazın ilgili ö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.
İstemci 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 bir 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 kendisinden (Uç Nokta 0) hariç tüm Uç Noktalarını içerir.
Diğer uç noktaların PartsList
değeri genellikle boştur. Örneğin, bir sıcaklık sensörü için sıcaklık ölçümü sunucu kümesi gerekir ve başka bir şeye gerek yoktur.
Diğer cihaz türleri, birden fazla cihaz türü örneğinin bulunduğu bir ağaç yapısında oluşturulabilir. Örneğin, bir video oynatıcı cihaz türü; TV, video oynatıcı, hoparlör ve her biri farklı bir uç noktada bulunan farklı içerik uygulaması cihaz türlerinden oluşabilir.
-
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 olabilir. Bu giriş kapsamında tüm cihazlar tek bir düğüm içerecektir. Çoğu fiziksel cihazın bu kalıbı izlemesi beklenir. ↩