Cihaz Veri Modeli

Matter hizmetindeki cihazların iyi tanımlanmış bir veri modeli var (DM) adlı bir cihaz başlattı. Üstte seviyesinde bir Cihaz olması gerekir.

Cihazlar ve Uç Noktalar

Akıllı telefonlar ve ev asistanları da dahil olmak üzere tüm cihazlar düğümlerden1 oluşur. Düğüm, Google Cloud Yardım Merkezi'ndeki işlevsel olarak bütünsel olarak algılayabileceği bir ağdır. Ağ iletişimi Matter, bir Düğümde başlayıp sona eriyor.

Düğümler, Uç noktalar 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.

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

Düğüm rolleri

Düğüm rolü, ilgili davranışlardan oluşan bir kümedir. Her düğümde 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. Örnek olarak şunlar verilebilir: Google Home app (GHA), Google Assistant ve Google Nest Hub (2nd gen). Açık/Kapalı Işık Anahtarı gibi bazı cihaz türleri Denetleyici rolüne sahiptir.
  • Controlee: Bir veya daha fazla tarafından kontrol edilebilen bir düğüm Düğümler. Bazı cihaz türleri haricinde çoğu cihaz türü, Denetleyici olabilir. Örneğin, Açık/Kapalı Işığı gibi Denetleyici rolüne sahip Değiştir. Açma/kapatma düğmesi yalnızca denetleyici olabilir. Kontrol edilen bir hesap 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ı isteyebilen bir düğüm güncellemelerine göz atın.

Kümeler

Uç Nokta içinde bir Düğümün bir veya daha fazla Kümesi vardır. Bunlar başka bir adımları uygulayın. Bu özellikler; akıllı prizde açık/kapalı kümesi veya kısılabilir özellikte seviye kontrol kümesi ışık uç noktası.

Bir Düğümün, her biri aynı öğenin bir örneğini oluşturan, işlevi görür. Ö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 seçeneği sunabilir.

Özellikler

Son düzeyde, düğümün sahip olduğu durumlar olan Özellikler'i görürüz. ör. seviye kontrolü kümesinin geçerli düzey özelliği. Öznitelikler 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, niteliklerin yanı sıra Komutlar da bulunur. Bunlar, gerçekleştirilebilecek işlemlerdir. Bunlar, Matter adlı kullanıcının DM'sindeki eşdeğerdir çağrılması gerekir. Komutlar fiil benzeridir; örneğin, kilit kapı Kapı Kilidi kümesi. Komutlar yanıtlar ve sonuçlar oluşturabilir; bir listesini oluştur: Matter bu tür yanıtlar aynı zamanda Komut olarak da tanımlanır, emin olun.

Etkinlikler

Son olarak, kümelerde bir kayıt olarak düşünülebilecek Etkinlikler de bulunur. görebilirsiniz. Özellikler mevcut durumları temsil etse de geçmiş haberler ve monotonik şekilde artan bir zaman damgası ve öncelik ekleyin. Bunlar, durum geçişlerini yakalamanın yanı sıra elde etmek mümkün değildir.

Tam örnek cihaz
Şekil 3: Matter hiyerarşisi örneği Cihazların etkileşim modeli

Util 0, Yardımcı Program Kümeleri için ayrılmıştır. Yardımcı Program Kümeleri bir uç noktadaki hizmet işlevini kapsayan belirli Kümelerdir. tespit etme, ele alma, teşhis ve yazılım güncellemesi gibi aktivitelerdir. Diğer yandan Uygulama Kümeleri açık/kapalı veya açık gibi birincil işlemleri destekler. sıcaklık ölçümü.

Cihaz Türleri

Bir cihaz üreticisi yeni bir cihaz tasarlarken hangi küme kombinasyonlarının dahil edilmesi gerekir?

Matter spesifikasyonu, cihazın ya da bir veya daha fazla Cihaz Türü'nü genişletin. Cihaz türü, bir kullanıcının en üst düzey özelliklerini tanımlayan zorunlu ve isteğe bağlı Kısılabilir Işık, Kapı Kilidi veya Video Oynatıcı gibi fiziksel bir Cihaz.

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 de Uygulama Küme Kitaplığı. Bu üç belge, Connectivity Standards Alliance (Alliance) üyelerine özel web sitesi.

Bir Cihaz Türü uygulayan her Uç Nokta, zorunlu Kümeleri uygulamalıdır. özelliklerini tanımlar. Zorunlu Kümelere ek olarak Uç nokta, bir veya daha fazla Cihaz da dahil olmak üzere ek Kümeler uygulayabilir. Türün isteğe bağlı Kümeleri olabilir.

İstemciler ve sunucular

Kümeler, İstemci Kümesi veya Sunucu Kümesi olabilir. Sunucu durum bilgilidir ve Özellikleri, Etkinlikleri ve Komutları barındırır. İstemci durum bilgisiz ve sorumluluğunda olan son kullanıcı ile Etkileşimler başlatmak, uzak Sunucu Kümesine gider ve şu şekilde performans gösterir:

  • 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 değil. Matter içindeki düğümler dikey değil ya da lider/takipçi ilişkilerinde geçerlidir. Aksine, Yatay bir ilişki vardır: Herhangi bir Küme, Sunucu veya İstemci olabilir. Bu nedenle bir Düğüm, farklı Kümeler açısından hem Sunucu hem de İstemci olabilir ve işlevlerden bahsedeceğiz.

Örneğin, Düğüm A ve Düğüm B olmak üzere iki masa lambamız olabilir. Her iki düğüm Açık/Kapalı Işık Cihaz Türünü uygulayın. Bu Cihaz Türünde bir Açık/Kapalı İlgili fiziksel ışık çıkışlarını kontrol eden Sunucu Kümesi.

Ancak sıradan masa lambalarında olduğu gibi fiziksel cihazlarımızda da Açık/Kapalı Işık Anahtarı Yerel açma/kapatma anahtarları için Cihaz Türü. Bu Cihaz Tür, sunucuyu kontrol edebilmesi için bir Açık/Kapalı İstemci Kümesi uygulamalıdır Kümeler.

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

Bu örnekte, A Düğümü'ndeki Açık/Kapalı İstemci Kümesi, Düğüm A ve Düğüm B'deki Açık/Kapalı Sunucu Kümesi, B Düğümünün İstemcisi ise Küme, Sunucu Kümesini yalnızca B Düğümü'nün kendisinde değiştiriyor.

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

Açıklayıcı Kümesi

Adından da anlaşılacağı gibi Açıklayıcı Küme Sunucusu, ekleyebilirsiniz. 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ümesinin okunması, müşterinin tüm mevcut seçenekler arasından istediklerini Uç noktalar ve geçerli işlemleri gerçekleştirir.

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 İstemcilerini listeler.

Cihaz Türü Listesi

DeviceTypeList Özelliği, Uç nokta ve ilgili düzeltmeleri. En az bir tane içermelidir Cihaz Türü.

Parça Listesi

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

Uç Nokta 0'ın (Kök Düğüm) PartsList kadarı, ayrı olarak kontrol edin (Uç nokta 0).

Diğer Endpoints'in PartsList değeri genellikle boş olur. Örneğin, bir sıcaklık sensörü için sıcaklık ölçümü sunucu kümesi gerekir ve başka bir şey gerekmez.

Diğer cihaz türleri, birden fazla DeviceType örneğinin bulunduğu 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, farklı Uç nokta'ya dokunun.


  1. Matter spesifikasyonu, bir cihazın birden fazla Düğümü var. Örneğin, akıllı telefonlarda birden fazla uygulama olabilir. Bu uygulamaların her biri kullanabilirsiniz. Bu giriş kapsamında tüm cihazlar tek bir düğüm içerecektir. Çoğu fiziksel cihazın bunu takip etmesi beklenir desen.