Panoramica

Componenti per telaio

Weave vive su ogni nodo nella Home Area Network (HAN), su ogni dispositivo mobile che favorisce l'accoppiamento o il controllo di un nodo e sul servizio che mantiene sincronizzati nodi e dispositivi mobili. Nel sistema Weave questi elementi (nodo, dispositivo o servizio) sono chiamati risorse .

Weave può fornire la fonte dei dati reali per ogni risorsa, nonché i metodi sicuri per comunicare in modo sicuro tra le risorse.

Esistono quattro componenti principali di Weave. È utile comprendersi a livello generale prima di provare come interagiscono e si integrano nel sistema.

Schema

Schema di Weave

Lo schema è il modello di dati per la piattaforma Weave.

Lo schema definisce tre elementi:

  • Tratti Un'unità di funzionalità di base, come lo stato di una proprietà, una notifica dello stato o una richiesta di modifica dello stato
  • Interfacce Un gruppo di tratti che rappresentano una funzione specifica, come le proprietà e gli eventi che compongono una serratura di sicurezza
  • Risorse Un elemento logico o fisico composto da caratteristiche e interfacce, ad esempio un dispositivo Nest, una struttura o un utente

Pensa allo schema come a un database distribuito su più risorse, in cui la copia "master" di ogni tratto (fonte di verità) non si trova interamente su un'unica risorsa, ma è distribuita tra le risorse singolarmente. La risorsa principale di un tratto serve come editore del tratto, mentre le altre risorse sono abbonati a quel tratto.

Ad esempio, potresti avere uno schema semplice composto da due tratti condivisi in tre risorse. La risorsa 1 potrebbe essere il publisher del tratto A, mentre la risorsa 3 potrebbe essere il publisher del tratto B. Le altre risorse sono abbonati per queste caratteristiche:

Esempio di schema Weave

È inoltre possibile che più di una risorsa venga pubblicata come editore per la stessa caratteristica, a seconda delle esigenze del sistema.

Il servizio

Il servizio in Weave è spesso indicato come risorsa, dal momento che, dal punto di vista dello schema, può essere presentato come più risorse. In altre parole, tutte le altre risorse nel sistema Weave.

Ad esempio, un sensore potrebbe dover solo pubblicare e iscriversi a caratteristiche pertinenti alla sua funzionalità, alcune delle quali potrebbero essere condivise con altre risorse, come un hub o un nodo. Queste risorse potrebbero avere altre caratteristiche a cui il sensore non ha sottoscritto l'abbonamento. Il servizio, tuttavia, può sottoscrivere o pubblicare tutte queste caratteristiche.

Profili

Profili di tessuto

Le funzionalità di Weave sono raggruppate in costrutti logici denominati profili . Ogni profilo corrisponde a un insieme specifico di funzionalità di Weave che include elementi come protocolli, tipi di messaggi e codici di errore. Sono disponibili quasi venti profili con OpenWeave.

Ad esempio, il profilo Gestione dati gestisce la gestione dei tratti in tempo reale in un modello di messaggistica di pubblicazione-iscrizione. Potrebbe aggiornare lo stato di un tratto di occupazione di una risorsa casa in base all'input di un'altra risorsa (cambiando lo stato da "Casa" a "Fuori" perché il tuo dispositivo mobile potrebbe rilevare che non sei a casa, forse).

Un altro profilo è Echo . Questo profilo è simile a un ping di rete e viene utilizzato per testare connettività di rete, latenza, sicurezza e attività.

Un altro profilo è Network Provisioning . Questo profilo include funzioni per la ricerca di reti wireless e l'impostazione delle relative credenziali per il provisioning di una risorsa sulla rete in questione.

Messaggistica

Livello messaggio Weave

Per svolgere la funzionalità dei profili, le risorse in un HAN devono potersi scambiare messaggi. Weave include un livello messaggio che gestisce tutti i messaggi tra le risorse del sistema.

Esistono due tipi di messaggi:

  • Messaggio generale Include contenuti generici in Weave
  • Messaggio tunnel Incapsula un pacchetto IP

Ogni profilo dispone di un insieme specifico di tipi di messaggi utilizzati per comunicare le proprie funzionalità. Ad esempio, il profilo Gestione dati potrebbe inviare un messaggio generale Richiesta di aggiornamento per modificare lo stato di un tratto. Il profilo Echo potrebbe inviare un messaggio generale Richiesta di eco a una risorsa, inviando un messaggio Echo Response in risposta.

Tessuti

Tessuto a trama

Per passare tutti questi messaggi tra le risorse, è necessario eseguire il provisioning di un tessuto di Weave . Un tessuto è una raccolta di risorse abilitate per Weave che collaborano per fornire servizi ad altre risorse e servizi.

Tutte le risorse nel tessuto pronunciano il linguaggio comune di Weave, indipendentemente dalla connessione sottostante o dal tipo di rete. A ogni nodo nell'infrastruttura, viene assegnato un indirizzo IPv6 aggiuntivo per l'utilizzo sicuro da parte dell'applicazione Weave.

Weave utilizza la tecnologia di trasporto sottostante (ad esempio, Wi-Fi o Thread) per inviare messaggi tra indirizzi IPv6 tessuti.

Riepilogo

Che cosa hai imparato:

  • In un sistema Weave, i nodi, i dispositivi e il servizio sono chiamati risorse
  • Weave fornisce la fonte dei dati reali e comunicazioni sicure per ogni risorsa nel sistema Weave
  • Weave comprende quattro componenti principali:
    • Schema Il modello dati e API
    • Profili Protocolli di applicazione che gestiscono un insieme di funzionalità
    • Messaggistica gestisce tutti i messaggi tra le risorse
    • Fabric Una raccolta di risorse abilitate per Weave