Model Data Perangkat

Perangkat di Matter memiliki model data yang terdefinisi dengan baik (DM), yang merupakan pemodelan hierarkis fitur Perangkat. Di bagian atas hierarki lainnya adalah Device.

Perangkat dan Endpoint

Semua Perangkat, termasuk smartphone dan asisten rumah, terdiri dari Node1. Node adalah resource yang dapat diidentifikasi dan ditujukan secara unik dalam jaringan yang dapat dilihat pengguna sebagai keseluruhan secara fungsional. Komunikasi jaringan dalam Matter berawal dan berakhir di Node.

Node adalah kumpulan Endpoint. Setiap Endpoint menyertakan set fitur. Misalnya, Endpoint mungkin terkait dengan fungsi pencahayaan, sementara saran lainnya berkaitan dengan deteksi gerakan, dan aplikasi lainnya berkaitan dengan utilitas seperti seperti Device OTA.

Hierarki Perangkat, Node, dan Endpoint
Gambar 1: Perangkat, Node, dan Endpoint

Peran node

Peran Node adalah kumpulan perilaku terkait. Setiap Node dapat memiliki satu atau lebih peran. Peran node meliputi:

  • Commissioner: Node yang melakukan Commissioning.
  • Pengontrol: Node yang dapat mengontrol satu atau beberapa Node. Contohnya mencakup Google Home app (GHA), Google Assistant, dan Google Nest Hub (2nd gen). Agak besar jenis perangkat, seperti Lampu Aktif/Nonaktif Tombol, miliki Pengontrol peran.
  • Terkontrol: Node yang dapat dikontrol oleh satu atau beberapa Node. Sebagian besar jenis perangkat dapat menjadi Controlee, kecuali untuk beberapa jenis perangkat yang memiliki peran Pengontrol, seperti Lampu Aktif/Nonaktif Tombol. Lampu Aktif/Nonaktif Tombol hanya bisa menjadi Pengontrol. Mereka tidak boleh menjadi {i>Controlee<i}.
  • Penyedia OTA: Node yang dapat menyediakan update software OTA.
  • Peminta OTA: Node yang dapat meminta update software OTA.

Cluster

Dalam Endpoint, Node memiliki satu atau beberapa Cluster. Ini adalah langkah lain dalam hierarki Perangkat, karena mengelompokkan fungsi tertentu seperti cluster aktif/nonaktif pada smart plug, atau cluster kontrol level pada Endpoint lampu yang dapat diredupkan.

Sebuah {i>Node<i} juga dapat memiliki beberapa {i>End<i}, yang masing-masing membuat instance fungsionalitasnya. Misalnya, lampu mungkin mengekspos kontrol independen dari lampu atau strip individu dapat mengekspos kontrol soket individu.

Atribut

Pada tingkat terakhir, kita akan menemukan Attributes, yang statusnya dimiliki node, seperti atribut level saat ini dari cluster kontrol level. Atribut dapat didefinisikan sebagai tipe data yang berbeda seperti uint8, string atau array.

Hierarki Node, Endpoint, Atribut, dan Perintah
Gambar 2: Node, Endpoint, Atribut, dan Perintah

Perintah

Selain Atribut, Cluster juga memiliki Perintah, yang merupakan tindakan yang dapat dilakukan. Keduanya setara dengan DM Matter untuk remote procedure call. Perintah bersifat verba, misalnya kunci pintu pada Door Lock. Perintah dapat menghasilkan respons dan hasil; inci Matter, respons tersebut juga didefinisikan sebagai Perintah, yang akan ke arah sebaliknya.

Acara

Terakhir, Cluster juga memiliki Peristiwa, yang dapat dianggap sebagai kumpulan data tentang transisi status sebelumnya. Meskipun Atribut mewakili status saat ini, acara adalah jurnal masa lalu, dan menyertakan peristiwa penghitung, stempel waktu, dan prioritas. Keduanya memungkinkan pengambilan transisi status, serta pemodelan data yang tidak mudah dicapai dengan atribut.

Perangkat contoh lengkap
Gambar 3: Contoh hierarki Matter Model interaksi perangkat

Endpoint 0 dicadangkan untuk Cluster Utilitas. Cluster Utilitas adalah Cluster tertentu yang mencakup fungsi pelayanan pada Endpoint, seperti seperti penemuan, penanganan, diagnostik, dan update software. Di sisi lain, Application Clusters mendukung tindakan utama seperti aktif/nonaktif atau pengukuran suhu.

Jenis Perangkat

Secara keseluruhan, kombinasi Cluster mana yang harus disertakan sebagai perangkat produsen merencanakan Perangkat baru?

Spesifikasi Matter mengharuskan perangkat diimplementasikan atau memperluas satu atau beberapa Jenis Perangkat. Tipe Perangkat adalah kumpulan dari Cluster wajib dan opsional yang mendefinisikan atribut tingkat atas Perangkat fisik, seperti Cahaya yang Dapat Diredupkan, Kunci Pintu, atau Pemutar Video.

Jenis Perangkat tidak ditentukan oleh Matter dokumen utama spesifikasi lainnya, namun dengan dokumen pendamping: dokumen Library. Demikian pula, semua Cluster Aplikasi ditetapkan dalam dokumentasi Library Cluster. Ketiga dokumen ini dapat ditemukan di Situs anggota Connectivity Standards Alliance (Alliance).

Setiap Endpoint yang menerapkan Jenis Perangkat harus menerapkan Cluster wajib yang menentukan Jenis Perangkat tersebut. Selain Cluster wajib, Endpoint dapat menerapkan Cluster tambahan, termasuk satu atau beberapa Perangkat Cluster opsional, atau bahkan Cluster yang bukan bagian dari Jenis Perangkat.

Klien dan Server

Cluster dapat berupa Cluster Klien atau Cluster Server. Meskipun Server bersifat stateful dan memiliki Atribut, Peristiwa, dan Perintah, sementara Klien stateless dan tanggung jawabnya adalah memulai Interaksi dengan Cluster Server jarak jauh, sehingga melakukan:

  • membaca dari dan menulis ke Atribut jarak jauhnya.
  • membaca Peristiwa jarak jauhnya.
  • pemanggilan Perintah jarak jauhnya.

DM memiliki hierarki dalam {i>Node<i}, tetapi hubungan antara Node tidak. Node di Matter tidak memiliki vertikal hubungan pengontrol/periferal atau pemimpin/pengikut. Sebaliknya, hubungan horizontal: Setiap Cluster dapat berupa Server atau Client. Dengan demikian, Node dapat berupa Server dan Klien sehubungan dengan Cluster yang berbeda dan fungsionalitas.

Misalnya, kita mungkin memiliki dua lampu meja: Node A dan Node B. Kedua node terapkan Jenis Perangkat Lampu Nonaktif. Jenis Perangkat ini menyertakan tombol Aktif/Nonaktif Cluster Server yang mengontrol output cahaya fisiknya masing-masing.

Namun, seperti lampu meja biasa, perangkat fisik kami juga akan menyertakan Jenis Perangkat Tombol Lampu Aktif/Nonaktif untuk tombol aktif/nonaktif lokalnya. Perangkat Ini Jenis harus menerapkan Cluster Klien Aktif/Nonaktif sehingga dapat mengontrol Server Cluster.

Lampu yang menerapkan Lampu Aktif/Nonaktif dan Tombol Lampu
Gambar 4: Cluster Klien dan Server

Dalam contoh ini, Cluster Klien Aktif/Nonaktif di Node A mengubah atribut dari Cluster Server Aktif/Nonaktif di Node A dan Node B, sedangkan Klien Node B Cluster hanya mengubah Cluster Server di Node B itu sendiri.

Di bagian berikutnya, kita akan menjelaskan cara Cluster Klien dan Server berinteraksi: Model Interaksi.

Cluster Deskripsi

Sesuai dengan namanya, Server Cluster Deskripsi memberikan introspeksi tidak akurat atau tidak sesuai. Contoh ini menjelaskan Endpoint yang menghitung:

  • Cluster Server.
  • Cluster Klien.
  • Jenis Perangkat.
  • Endpoint Tambahan, yang dikenal sebagai Bagian.

Setiap Jenis Perangkat memerlukan penerapan Cluster Deskripsi. Akar Jenis Perangkat ditentukan di Endpoint 0. Membaca Cluster Deskripsinya akan memberikan visibilitas kepada klien untuk melintasi seluruh hierarki yang tersedia Endpoint, dan menjalankan operasi yang berlaku.

Perangkat Commissioner atau Pengendali seperti ponsel atau hub dapat menggunakan informasi yang ditemukan di Cluster Deskripsi untuk membuat model Perangkat (cahaya, tombol, pompa, termostat), dan fitur spesifik yang diterapkan oleh instance tertentu Perangkat, menampilkan UI yang benar kepada pengguna.

Cluster Server

Atribut ServerList mencantumkan Server Cluster di Endpoint.

Cluster Klien

Atribut ClientList mencantumkan Klien Cluster di Endpoint.

Daftar Jenis Perangkat

Atribut DeviceTypeList adalah daftar Jenis Perangkat yang didukung oleh Endpoint, beserta revisinya masing-masing. Harus berisi minimal satu Jenis Perangkat.

Daftar Suku Cadang

PartsList berisi daftar Endpoint yang digunakan untuk menerapkan Perangkat ini Ketik.

PartsList dari Endpoint 0 (Root Node) berisi semua Endpoint dari perangkat terpisah dari dirinya sendiri (Endpoint 0).

PartsList Endpoint lainnya biasanya akan kosong. Sebagai contoh, Sensor Suhu mewajibkan Cluster Server Pengukuran Suhu dan tidak ada lain.

Jenis perangkat lainnya mungkin disusun dalam struktur hierarki dari lebih dari satu instance Jenis Perangkat. Misalnya, jenis Perangkat Pemutar Video dapat terdiri dari TV, Pemutar Video, Speaker, dan berbagai Jenis Perangkat Aplikasi Konten, masing-masing di Endpoint yang berbeda.


  1. Spesifikasi Matter menentukan bahwa Perangkat dapat memiliki beberapa {i>Node<i}. Misalnya, ponsel cerdas mungkin memiliki beberapa aplikasi, setiap aplikasi menjadi Node.js yang berbeda. Untuk tujuan penjelasan ini, semua Perangkat akan berisi ke satu Node. Sebagian besar perangkat fisik diperkirakan akan mengikuti pola ini.