Visão geral

Componentes de tecelagem

O Weave reside em cada nó da rede de área residencial (HAN, na sigla em inglês), em cada dispositivo móvel que ajuda no pareamento ou controla um nó e no serviço que mantém os nós e os dispositivos móveis sincronizados. No sistema Weave, esses elementos (nó, dispositivo e serviço) são chamados de recursos .

O Weave pode fornecer a fonte da verdade dos dados para cada recurso, bem como os meios de se comunicar com segurança entre eles.

Existem quatro componentes principais do Weave. É útil entender cada uma delas em um alto nível antes de explorar como elas interagem umas com as outras e estão camadas no sistema.

Esquema

Esquema do Weave

O esquema é o modelo de dados para a plataforma Weave.

O esquema define três elementos:

  • Traits : uma unidade de recurso básico, como o estado de uma propriedade, uma notificação do estado ou uma solicitação para alterar o estado
  • Interfaces Um grupo de traços que representam uma função específica, como as propriedades e os eventos que compõem um bloqueio deadbolt
  • Recursos É um elemento lógico ou físico composto por características e interfaces, como um dispositivo Nest, uma estrutura ou um usuário.

Pense no esquema como um banco de dados distribuído em vários recursos, em que a cópia "master" de cada característica (fonte da verdade) não reside totalmente em um único recurso, mas é distribuída entre recursos com base em cada característica. O recurso principal de uma característica serve como o editor da característica, enquanto outros são assinantes dessa característica.

Por exemplo, você pode ter um esquema simples com duas características compartilhadas entre três recursos. O recurso 1 poderia ser o editor da característica A, enquanto a versão 3 poderia ser a do editor B. Os outros recursos são inscritos para as características:

Exemplo de esquema do Weave

Também é possível que mais de um recurso seja veiculado como um editor para o mesmo traço, dependendo das necessidades do sistema.

O serviço

O serviço no Weave é conhecido como recurso quando, na perspectiva do esquema, ele pode se apresentar como vários recursos. Em outras palavras, todos os outros recursos no sistema do Weave.

Por exemplo, talvez um sensor precise publicar e se inscrever apenas em características relevantes para a funcionalidade. Algumas delas podem ser compartilhadas com outros recursos, como um hub ou um nó. Esses recursos podem ter outras características não inscritas pelo sensor. No entanto, o serviço pode se inscrever ou publicar todos esses traços.

Perfis

Perfis do Weave

A funcionalidade do Weave é agrupada em construções lógicas chamadas perfis . Cada perfil corresponde a um conjunto específico de funcionalidades do Weave que compreende elementos como protocolos, tipos de mensagens e códigos de erro. Existem quase 20 perfis disponíveis com o OpenWeave.

Por exemplo, o perfil Gerenciamento de dados gerencia o gerenciamento de traços em tempo real em um padrão de mensagens de publicação/assinatura. Ele pode atualizar o estado de uma característica de ocupação em um recurso de casa com base na entrada de outro recurso, mudando o estado de "quot;home" para "quot;" porque seu dispositivo móvel detecta que você não está em casa, talvez.

Outro perfil é Echo . Esse perfil é parecido com um ping de rede e é usado para testar a conectividade, latência, segurança e atividade da rede.

Outro perfil é o Provisionamento de rede . Esse perfil inclui funções para procurar redes sem fio e configurar as credenciais delas para provisionar um recurso nessa rede.

Mensagens

Camada de mensagem do Weave

Para executar a funcionalidade dos perfis, os recursos em uma HAN precisam ser capazes de enviar mensagens uns aos outros. O Weave apresenta uma camada de mensagens que processa todas as mensagens entre recursos no sistema.

Há dois tipos de mensagens:

  • Mensagem geral Encapsula conteúdo geral do Weave
  • Mensagem de túnel Encapsula um pacote de IP

Cada perfil tem o próprio conjunto de tipos de mensagens usado para comunicar a funcionalidade. Por exemplo, o perfil de gerenciamento de dados pode enviar uma mensagem geral de Solicitação de atualização para mudar o estado de um traço. O perfil Echo pode enviar uma mensagem geral de Solicitação de eco a um recurso, que envia uma mensagem de Resposta de eco em resposta.

Tecido

Tecido

Para transmitir todas essas mensagens entre recursos, é preciso provisionar uma tecido do Weave . Um Fabric é um conjunto de recursos ativados pelo Weave que cooperam para fornecer serviços a outros recursos e serviços.

Todos os recursos do tecido falam a linguagem comum do Weave, independentemente da conexão ou do tipo de rede subjacente. Cada nó do tecido é atribuído a um endereço IPv6 adicional para uso seguro pelo aplicativo Weave.

O Weave usa a tecnologia de transporte subjacente (por exemplo, Wi-Fi ou Thread) para enviar mensagens entre endereços IPv6 de tecido.

Resumo

O que você aprendeu:

  • Em um sistema Weave, os nós, os dispositivos e o serviço são chamados de recursos.
  • Ele fornece a fonte da verdade dos dados e comunicações seguras para cada recurso do sistema do Weave.
  • O Weave é composto por quatro componentes principais:
    • Esquema O modelo de dados e de API
    • Perfis Protocolos de aplicativo que gerenciam um conjunto de funcionalidades
    • Messaging : processa todas as mensagens entre recursos.
    • Fabric Uma coleção de recursos ativados pelo Weave