Lo stack completo di Weave contiene molti elementi, ma la maggior parte delle funzionalità è raggruppata in costrutti logici chiamati profili. Ogni profilo corrisponde a un insieme specifico di funzionalità di Weave che comprende:
- Protocolli
- Ruoli di protocollo (publisher, abbonato)
- Tipi di messaggi
- Schemi e dati pubblicati
- Codici di stato
- Codici di errore
Non esamineremo in questo momento ciascuno di questi elementi, che variano da profilo a profilo.
Per quanto riguarda i messaggi, di solito i messaggi del profilo sono messaggi generici codificati in TLV di Weave. Tuttavia, se lo spazio è limitato o non c'è bisogno di flessibilità nel payload, il TLV non viene utilizzato. Echo e Heartbeat sono esempi di profili che non codificano i messaggi in TLV.
Esistono diversi profili integrati in Weave:
Vediamone rapidamente alcuni.
Gestione dei dati
Il profilo Gestione dei dati
gestisce tutte le richieste di caratteristiche utilizzando un modello di pubblicazione-abbonamento. Quasi tutte le funzionalità dell'ecosistema Nest per le attività quotidiane sono mappate su risorse e caratteristiche nell'ambito dello schema Weave.Più avanti esamineremo lo schema e il profilo di gestione dei dati, ma questo è il punto di riferimento di Weave.
Ad esempio, la modifica dello stato di attivazione di Nest Secure dal tuo dispositivo mobile usa la Gestione dati. Il profilo invia richieste dall'abbonato (dispositivo mobile) ad altre risorse nell'infrastruttura (Nest Secure e il servizio), che riconoscono la richiesta, modificano lo stato di attivazione nello schema e inviano le risposte che confermano la modifica.
Eco
Il profilo Echo
fornisce un meccanismo di base per testare la connettività di rete e la latenza. Si basa sul modello di richiesta echo ICMP ed è destinato a utilizzi simili. È analogo a un ping di rete, ma utilizza i messaggi e la crittografia di Weave, se specificati.Un payload Echo è costituito da dati arbitrari forniti dal nodo richiedente e si prevede che ricevano un'eco nuovamente nella risposta. Echo viene utilizzato per testare la connettività, la sicurezza e la vivacità del tessuto Weave.
Heartbeat
Il profilo Heartbeat
fornisce un mezzo per indicare l'attività di un nodo agli altri nodi della rete. Un battito cardiaco intrecciato viene solitamente inviato a intervalli regolari. Se non viene ricevuto prima della scadenza di un timeout configurato, si presume che il nodo non abbia funzionato.Un battito cardiaco consiste nel verificare se un nodo Weave è ancora connesso alla tessuto. Ad esempio, il battito cardiaco viene usato tra i Nest Detect e Nest Guard per garantire l'operatività del sistema Nest Secure.
Trasferimento collettivo dei dati
Il profilo Trasferimento collettivo di dati (BDX)
consente di trasferire file tra nodi. I file in questo contesto possono essere dati di sensori, log o immagini software per aggiornamenti over-the-air.BDX può essere eseguito su vari protocolli di trasporto affidabili, tra cui TCP e Weave Trusted Messaging.
Provisioning in corso…
Esistono diversi profili di provisioning utilizzati per le attività relative all'accoppiamento, l'autenticazione e la registrazione dei servizi delle risorse.
Provisioning di rete
Il profilo Provisioning reti
gestisce attività come la ricerca di reti e l'aggiunta e l'attivazione di risorse nel mesh.Provisioning dei servizi
Il profilo Provisioning servizi
gestisce attività come l'accoppiamento delle risorse a un account o la registrazione di tali servizi su un account.Provisioning dei tessuti
Il profilo Provisioning tessuti
gestisce attività come la creazione, la partecipazione e l'uscita da una tessuto oppure il recupero della configurazione tessuto.Recap
Che cosa hai imparato:
- Gran parte delle funzionalità di Weave sono gestite dai profili
- I profili sono protocolli di applicazioni che corrispondono a un insieme specifico di funzionalità
- Ogni profilo ha un proprio insieme di tipi di messaggi , di solito codificati tramite Weave TLV