I dispositivi in Matter hanno un modello dei dati ben definito (DM), ovvero una modellazione gerarchica delle funzionalità di un Dispositivo. In alto a livello di questa gerarchia esiste un Dispositivo.
Dispositivi ed endpoint
Tutti i dispositivi, inclusi smartphone e assistenti domestici, sono composti da Nodi1. Un nodo è una risorsa identificabile in modo univoco e indirizzabile in un che un utente possa percepire come funzionalmente completa. Comunicazione di rete in Matter ha origine e termina su un Nodo.
I nodi sono una raccolta di endpoint. Ogni endpoint include un insieme di caratteristiche. Ad esempio, un endpoint potrebbe riguardare una funzionalità di illuminazione, mentre un'altra riguarda il rilevamento del movimento e un'altra riguarda utilità come come OTA del dispositivo.
Ruoli nodo
Un ruolo nodo è un insieme di comportamenti correlati. Ogni Nodo può avere uno o più ruoli. I ruoli dei nodi includono:
- Commissioner: un nodo che esegue Messa in servizio.
- Controller: un nodo che può controllare uno o più nodi. Alcuni esempi sono Google Home app (GHA), Google Assistant e Google Nest Hub (2nd gen). Alcune tipi di dispositivi, ad esempio la spia opzione, avere il controller ruolo.
- Controllato: un nodo che può essere controllato da uno o più nodi. La maggior parte dei tipi di dispositivi può essere un gruppo di controllo, ad eccezione di alcuni tipi di dispositivi. che hanno il ruolo Controller, ad esempio la spia on/off Opzione. La spia Acceso/Spento Switch può essere solo un controller. Non può essere una persona di controllo.
- Provider OTA: un nodo in grado di fornire aggiornamenti software OTA.
- Richiedente OTA: un nodo che può richiedere software OTA aggiornamenti.
Cluster
All'interno di un endpoint, un nodo ha uno o più cluster. Questi sono altri passaggio nella gerarchia dei dispositivi, in quanto raggruppano funzionalità specifiche quali un cluster on/off su una presa smart o un cluster di controllo del livello su un dimmer un endpoint luce.
Un nodo può anche avere diversi endpoint, ognuno dei quali crea un'istanza della stessa istanza funzionalità. Ad esempio, una lampada potrebbe esporre il controllo indipendente singole luci o una ciabatta possono esporre il controllo delle singole prese.
Attributi
Nell'ultimo livello troviamo gli Attributi, ovvero gli stati trattenuti dal nodo, come l'attributo current level di un cluster di controllo del livello. Attributi può essere definito come diversi tipi di dati come uint8, stringhe o array.
Comandi
Oltre agli attributi, i cluster hanno anche i comandi, che sono le azioni che eseguire l'upgrade. Sono l'equivalente nel messaggio diretto di Matter una chiamata di procedura remota. I comandi sono simili a quelli di un verbo, ad esempio chiudi una porta su una Cluster Serratura. I comandi possono generare risposte e risultati; nel Matter, queste risposte sono definite anche comandi, nella direzione opposta.
Eventi
Infine, i cluster possono avere anche eventi, che possono essere considerati come un record. delle transizioni di stato passate. Mentre gli attributi rappresentano gli stati attuali, eventi sono un diario del passato e includono un aumento monotonico un contatore, un timestamp e una priorità. Consentono l'acquisizione delle transizioni di stato, nonché la modellazione dei dati non immediatamente ottenute con le caratteristiche.
L'Endpoint 0 è riservato ai Cluster di utilità. Cluster di utilità sono cluster specifici che racchiudono funzionalità di servizio su un endpoint, come rilevamento, indirizzamento, diagnostica e aggiornamento software. D'altra parte, I cluster di applicazioni supportano le azioni principali quali on/off o la misurazione della temperatura.
Tipi di dispositivi
Nel complesso, quali combinazioni di cluster devono essere incluse come dispositivo che il produttore progetta un nuovo dispositivo?
La specifica Matter richiede che il dispositivo implementi oppure estendi uno o più tipi di dispositivi. Un tipo di dispositivo è una raccolta obbligatori e facoltativi Cluster che definiscono gli attributi di primo livello di un Dispositivo fisico, ad esempio luce regolabile, serratura o video player.
I tipi di dispositivo non sono specificati dalla Matter specifico documento principale, ma da un documento di accompagnamento: il Raccolta. Allo stesso modo, tutti i cluster di applicazioni sono definiti nella Libreria di cluster. Questi tre documenti sono disponibili nella Sito web di Connectivity Standards Alliance (Alliance) membri.
Ogni endpoint che implementa un tipo di dispositivo deve implementare i cluster obbligatori che definiscono quel tipo di dispositivo. Oltre ai cluster obbligatori, L'endpoint può implementare Cluster aggiuntivi, tra cui uno o più del Dispositivo Cluster facoltativi del tipo o anche cluster che non fanno parte del tipo di dispositivo.
Client e server
I cluster possono essere un cluster client o un cluster server. Mentre Il server è stateful e contiene attributi, eventi e comandi, mentre un client stateless e la sua responsabilità è quella di avviare Interazioni con un cluster di server remoti, eseguendo così:
- legge e scrive nei relativi attributi remoti.
- lezioni dei suoi Eventi remoti.
- invocazione dei suoi Comandi remoti.
Mentre il messaggio diretto è gerarchico all'interno di un nodo, la relazione tra i nodi è . I nodi in Matter non hanno un verticale rapporti tra controller/periferiche o leader/follower. Al contrario, relazione orizzontale: qualsiasi cluster può essere Server o Client. Pertanto, un Nodo può essere sia Server che Client per quanto riguarda cluster diversi e funzionalità.
Ad esempio, potremmo avere due lampade da tavolo: Nodo A e Nodo B. Entrambi i nodi implementare un Tipo di dispositivo Luce accesa/spenta. Questo tipo di dispositivo include lo stato On/Off Cluster di server che controlla i rispettivi output di luce fisica.
Tuttavia, come le tipiche lampade da tavolo, i nostri dispositivi fisici includeranno anche un Interruttore della luce on/off: il tipo di dispositivo per gli interruttori on/off locali. Questo dispositivo Il tipo deve implementare un cluster client on/off in modo da poter controllare il server Cluster.
In questo esempio, il cluster di client On/Off sul nodo A modifica gli attributi del cluster del server on/off sul nodo A e sul nodo B, mentre sul client del nodo B Il cluster sta modificando il cluster di server solo sul nodo B.
Nella prossima sezione illustreremo in dettaglio come interagiscono i cluster client e server: Modello di interazione.
Cluster di descrittori
Come suggerisce il nome, Descriptor Cluster Server fornisce introspezione informazioni. Descrive l'endpoint enumerandolo:
- Cluster di server.
- Cluster di client.
- Tipi di dispositivi.
- Endpoint aggiuntivi, noti come Componenti.
Ogni tipo di dispositivo richiede l'implementazione di cluster descrittori. La radice Il tipo di dispositivo è definito sull'endpoint 0. La lettura del suo cluster di descrittori offrono al cliente la visibilità necessaria per attraversare l'intero albero delle Endpoint ed esegui le operazioni applicabili.
Il Commissario o un dispositivo di controllo come uno smartphone o un hub può utilizzare trovate nel cluster descrittore per modellare il dispositivo (luce, interruttore, pompa, termostato) e le funzionalità specifiche implementate da quella istanza del Dispositivo, mostrando all'utente la UI corretta.
Cluster di server
L'attributo ServerList
elenca i server cluster nell'endpoint.
Cluster client
L'attributo ClientList
elenca i client cluster nell'endpoint.
Elenco dei tipi di dispositivo
L'attributo DeviceTypeList
è un elenco di tipi di dispositivi supportati dal
Endpoint, insieme alle rispettive revisioni. Deve contenere almeno uno
Tipo di dispositivo.
Elenco dei pezzi di ricambio
PartsList
contiene l'elenco di endpoint utilizzati per l'implementazione di questo dispositivo
Tipo.
L'elemento PartsList
dell'endpoint 0 (nodo radice) contiene tutti gli endpoint dell'endpoint
dispositivo diverso da sé stesso (endpoint 0).
In genere, PartsList
degli altri endpoint è vuoto. Ad esempio, un
Il sensore di temperatura richiede un cluster di server di misurazione della temperatura e niente
diverso.
Altri tipi di dispositivi potrebbero essere inseriti in una struttura ad albero di più dispositivi. Digita istanza. Ad esempio, un tipo di dispositivo video player può essere composto da TV, Video player, speaker e diversi tipi di dispositivi per le app di contenuti, ciascuno su un un endpoint diverso.
-
La specifica Matter stabilisce che un Dispositivo può hanno più nodi. Ad esempio, gli smartphone possono avere più app, ciascuna delle quali un nodo diverso. Ai fini di questo manuale introduttivo, tutti i dispositivi conterranno di un singolo Nodo. Prevediamo che la maggior parte dei dispositivi fisici seguirà questo pattern. ↩