Há muitos elementos na pilha completa do Weave, mas a maior parte da funcionalidade é agrupada em construções lógicas chamadas perfis. Cada perfil corresponde a um conjunto específico de funcionalidades do Weave:
- Protocolos
- Funções de protocolo (editor, assinante)
- Tipos de mensagem
- Esquemas e dados publicados
- Códigos de status
- Códigos de erro
Não vamos entrar em cada um desses elementos agora, porque eles variam de perfil para perfil.
Para mensagens, as mensagens de perfil geralmente são mensagens gerais codificadas em TLV do Weave. No entanto, se o espaço for premium ou não houver necessidade de flexibilidade no payload, o TLV não será usado. Echo e Heartbeat são exemplos de perfis que não codificam mensagens no TLV.
Há vários perfis integrados ao Weave:
Vamos ver alguns deles.
Gerenciamento de dados
O perfil Gerenciamento de dados
gerencia todas as solicitações de características usando um modelo de publicação/assinatura. Quase todas as funcionalidades do ecossistema Nest para operação diária são mapeadas em recursos e características como parte do esquema do Weave.Vamos nos aprofundar no esquema e no perfil de gerenciamento de dados mais tarde, mas esse perfil é o cavalo de trabalho do Weave.
Por exemplo, a mudança do estado armado de um Nest Secure no dispositivo móvel usa o Gerenciamento de dados. O perfil envia solicitações do assinante (dispositivo móvel) para outros recursos no tecido (Nest Secure e o serviço), que confirmam a solicitação, alteram o estado armado no esquema e enviam respostas confirmando a alteração.
Eco
O perfil Echo
oferece um mecanismo básico para testar a conectividade e a latência da rede. Ele é modelado após a solicitação de eco ICMP e é destinado a usos semelhantes. Ela é análoga a um ping de rede, mas usando mensagens do Weave e criptografia, se especificada.Um payload Echo consiste em dados arbitrários fornecidos pelo nó solicitante e precisa retornar ecologicamente na resposta. O Echo é usado para testar a conectividade, a segurança e a atividade do tecido Weave.
Sinal de funcionamento
O perfil Heartbeat
fornece um meio de indicar a atividade de um nó para os outros nós na rede. Um batimento cardíaco cardíaco normalmente é enviado em intervalos regulares. Se não for recebido antes do tempo limite configurado expirar, presume-se que o nó falhou.O batimento cardíaco é como verificar se um nó do Weave ainda está conectado ao tecido. Por exemplo, o batimento cardíaco é usado entre o Nest Detects e o Nest Guard para garantir a vida do sistema Nest Secure.
Transferência de dados em massa
O perfil de Transferência de dados em massa (BDX)
oferece a capacidade de transferir arquivos entre nós. Os arquivos nesse contexto podem ser dados do sensor, registros ou imagens de software para atualizações OTA.O BDX pode ser executado em vários protocolos de transporte confiáveis, incluindo TCP e Weave Trusted Messaging.
Provisionando
Há vários perfis de provisionamento usados para tarefas relacionadas ao pareamento, à autenticação e ao registro de serviços de recursos.
Provisionamento de rede
O perfil de Provisionamento de rede
lida com tarefas como verificação de redes e adição e ativação delas para recursos no tecido.Provisionamento de serviços
O perfil Provisionamento de serviços
processa tarefas como parear recursos com uma conta ou registrá-las em um serviço.Provisionamento de tecidos
O perfil de Provisionamento do Fabric
lida com tarefas como criar, mesclar e sair de um tecido ou receber a configuração do Fabric.Resumo
O que você aprendeu:
- Muito da funcionalidade no Weave é gerenciada por perfis
- Os perfis são protocolos de aplicativos que correspondem a um conjunto específico de funcionalidades
- Cada perfil tem o próprio conjunto de tipos de mensagens , normalmente codificados por Weave TLV