O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Esquema do Weave

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.
Esquema do Weave

O esquema descreve o modelo de dados subjacente que representa a representação e a interpretação dos dados emitidos por dispositivos físicos ou lógicos em um sistema Weave.

O esquema é:

  • Padronizado: contém definições de funcionalidade formalmente aprovadas que fornecem uma interface consistente, independentemente da implementação. Por exemplo, uma lâmpada representada no esquema sempre terá uma funcionalidade principal, como estados de ativação/desativação e ações ou níveis de escurecimento.
  • Elementos que podem ser compostos: um usuário pode criar recursos complexos compostos por bits pequenos de funcionalidades bem definidas. Por exemplo, um Nest Detect contém dois tipos de sensores: movimento e aberto/fechado. A funcionalidade desses tipos de sensores é padronizada no esquema e reutilizável em vários dispositivos.
  • Extensible: um usuário pode criar extensões personalizadas de funcionalidades padrão. Por exemplo, talvez você queira ampliar a funcionalidade padrão do sensor de movimento do esquema com outras funcionalidades para um aplicativo de segurança específico.
  • Com controle de versão: todas as alterações no esquema são controladas por compatibilidade com versões futuras e para trás.

O esquema define três elementos: traços, interfaces e recursos. Quase todas as funcionalidades do ecossistema Nest para operação diária estão definidas no esquema. Vamos analisar cada elemento em mais detalhes.

Características

Um atributo é uma unidade de funcionalidade básica. Eles podem ser estados ou recursos gerais do dispositivo ou descrever a configuração que informa o comportamento deles. Uma única característica pode ser comum a muitos dispositivos ou específica de um tipo de dispositivo.

Por exemplo, no esquema, é possível definir as seguintes características para uso em dispositivos Nest:

Características

Interfaces

É possível estender a composição de características agrupando-as, especialmente se várias características representarem uma nova função específica. Esse grupo de características é chamado de interface .

Por exemplo, uma interface de intercomunicação pode abranger as características de alto-falante e microfone:

Características e interfaces

Recursos

Um recurso representa um elemento lógico ou físico no esquema. Por exemplo, um Nest Protect é um recurso. Este é um Nest Guard. Ou um usuário ou uma estrutura, como a casa do usuário.

Os recursos compreendem um conjunto de traços que encapsulam a configuração, o estado e a capacidade.

A relação entre recursos, interfaces e traços tem esta aparência:

Recursos, interfaces e características

Como você pode ver, alguns traços, como o de movimento, são comuns a diferentes recursos. Além disso, algumas interfaces, como a interface do Intercom, também são comuns a diferentes recursos. Características, interfaces e recursos são definidos uma vez no esquema e reutilizados em diferentes recursos e dispositivos no sistema Weave.

Elementos de característica

As características são divididas em três elementos principais: propriedades, comandos e eventos. Vamos ver exemplos de cada elemento de característica.

Propriedades

As propriedades representam o estado de uma característica. As propriedades são somente leitura ou gravação.

Exemplo:

  • Versão do software é uma propriedade da característica "Identidade do dispositivo". É uma característica geral da maioria dos dispositivos. Termostatos, câmeras e proteções do Nest: todos eles têm uma versão de software própria.
  • O estado de Bolt é uma propriedade do traço de tranca, mas é específico de um dispositivo, como o Yale x Nest Lock. Por exemplo, você não encontraria uma fechadura em um termostato Nest.

Comandos

Os comandos são solicitações personalizadas para ações de uma característica, com uma resposta esperada. Elas geralmente são chamadas de comandos personalizados e podem ser estendidas para mudanças de estado específicas nas propriedades. Exemplo:

  • Alteração de trava no Bolt é um comando personalizado que altera a propriedade "Estado do Bolt" do traço de bloqueio.
  • Definir código-fonte do usuário é um comando personalizado que cria um novo ou atualiza uma propriedade do código PIN do usuário da característica de configurações do código de usuário.

Eventos

Os eventos são registros de acontecimentos de uma característica. Eles informam um inscrito sobre as mudanças nas propriedades de características ou algum outro tipo de ocorrência, como uma redefinição de sistema.

Por exemplo, o evento Alteração de estado do Bolt atuador da característica de tranca informa um assinante do estado atual de várias propriedades da fechadura, bem como o ator que fez a última alteração na propriedade de estado do Bolt. Todas essas informações são entregues como um único evento.

Linguagem de descrição do esquema do Weave

As características, as interfaces e os recursos do esquema no Weave são definidos e descritos com uma linguagem específica de domínio (DSL) que aproveita a sintaxe dos buffers de protocolo do Google v3. Essa linguagem é chamada de Linguagem de descrição do esquema do Weave (WDL) .

A WDL é executada por meio de um compilador que gera diferentes realizar e codificações específicas da plataforma. O tipo de código gerado depende do recurso:

  • Objective C, Swift, Java, Scala: apps para dispositivos móveis e serviços em nuvem
  • C++ com codificações TLV do Weave: dispositivos incorporados e apps para dispositivos móveis

Veremos mais detalhes sobre o WDL mais tarde.

Resumo

O que você aprendeu:

  • O esquema descreve o modelo de dados subjacente para um sistema Weave.
  • O esquema define três elementos:
    • Caractere uma unidade de funcionalidade básica
    • Interface : um grupo de traços que representa uma nova função específica
    • Recurso : uma coisa lógica ou física
  • As características incluem propriedades, comandos e eventos:
    • Propriedade : o estado de uma característica de recurso
    • Comandos : solicitação personalizada para a ação de um traço
    • Registro do evento de características
  • O esquema é definido usando a linguagem de descrição de esquema Weave (WDL) , que é baseada nos buffers de protocolo do Google v3

Para informações mais detalhadas, consulte estes links: