Examinar a seção de modelo de dispositivo de um modelo de dispositivo

Concluído

Um modelo de dispositivo define como um dispositivo interage com seu aplicativo IoT Central. O desenvolvedor do dispositivo deve certificar-se de que o dispositivo implementa os comportamentos definidos no modelo de dispositivo para que o IoT Central possa monitorar e gerenciar o dispositivo. Um modelo de dispositivo é composto por uma ou mais interfaces, e cada interface pode definir uma coleção de tipos de telemetria, propriedades de dispositivo e comandos. Um desenvolvedor de solução pode importar um arquivo JSON que define o modelo de dispositivo para um modelo de dispositivo ou usar a interface do usuário da Web no IoT Central para criar ou editar um modelo de dispositivo.

Um desenvolvedor de soluções também pode exportar um arquivo JSON que contém o modelo do dispositivo. Um desenvolvedor de dispositivo pode usar este documento JSON para entender como o dispositivo deve se comunicar com o aplicativo IoT Central.

O arquivo JSON que define o modelo de dispositivo usa a Digital Twin Definition Language (DTDL) V2. O IoT Central espera que o arquivo JSON contenha o modelo de dispositivo com as interfaces definidas em linha, em vez de em arquivos separados. Para saber mais, consulte o guia de modelagem IoT Plug and Play: guia de modelagem IoT Plug and Play

Um dispositivo IoT típico é composto por:

  • Peças personalizadas, que são as coisas que tornam o seu dispositivo único.
  • Peças padrão, que são coisas comuns a todos os dispositivos.

Essas partes são chamadas de interfaces em um modelo de dispositivo. As interfaces definem os detalhes de cada parte que o dispositivo implementa. As interfaces são reutilizáveis em todos os modelos de dispositivos. Em DTDL, um componente refere-se a outra interface, que pode ser definida em um arquivo DTDL separado ou em uma seção separada do arquivo.

Abordagens para criar um modelo de dispositivo

Para criar um modelo de dispositivo, você pode:

  • Use o IoT Central para criar um modelo personalizado do zero.
  • Importe um modelo de um arquivo JSON. Um construtor de dispositivos pode ter usado o Visual Studio Code para criar um modelo de capacidade de dispositivo para seu aplicativo.
  • Selecione um dos dispositivos no Catálogo de dispositivos. Esta opção importa o modelo de capacidade do dispositivo que o fabricante publicou para este dispositivo. Um modelo de capacidade de dispositivo importado como este é publicado automaticamente.

Gerenciar um modelo de dispositivo

Depois de criar um modelo de dispositivo, você pode:

  • Adicione recursos e interfaces herdadas ao modelo. Um modelo deve ter pelo menos uma interface.
  • Edite metadados do modelo, como seu ID, namespace e nome.
  • Exclua o modelo.

Interfaces e componentes

Para visualizar e gerir as interfaces no modelo do seu dispositivo:

  1. Vá para a página Modelos de dispositivo e selecione o modelo de dispositivo que você criou. As interfaces são listadas na seção Modelo do modelo de dispositivo.
  2. Selecione as reticências para adicionar uma interface ou componente herdado à interface raiz.
  3. Para exportar um modelo ou interface, selecione Exportar.
  4. Para exibir ou editar a DTDL de uma interface ou recurso, selecione Editar DTDL.

Screenshot that shows the interfaces and components in a device template.

Capacidades

Selecione + Adicionar capacidade para adicionar capacidade a uma interface ou componente. Por exemplo, você pode adicionar o recurso Temperatura alvo a um componente SensorTemp .

Telemetria

Telemetria é um fluxo de valores enviados do dispositivo, normalmente de um sensor. Por exemplo, um sensor pode informar a temperatura ambiente.

A tabela a seguir mostra as definições de configuração para um recurso de telemetria:

Campo

Descrição

Display name

O nome para exibição do valor de telemetria usado em modos de exibição e formulários.

Nome

O nome do campo na mensagem de telemetria. O IoT Central gera um valor para esse campo a partir do nome para exibição, mas você pode escolher seu próprio valor, se necessário.

Capability type

Telemetria

Semantic type (Tipo de semântica)

O tipo semântico da telemetria, como temperatura, estado ou evento. A escolha do tipo semântico determina qual dos seguintes campos está disponível.

Esquema

O tipo de dados de telemetria, como double, string ou vetor. As opções disponíveis são determinadas pelo tipo semântico. O esquema não está disponível para os tipos semânticos de evento e estado.

Gravidade

Disponível apenas para o tipo semântico de evento. As gravidades são Erro, Informação ou Aviso.

State values

Disponível apenas para o tipo semântico de estado. Defina os valores de estado possíveis, cada um dos quais tem nome para exibição, nome, tipo de enumeração e valor.

Unidade

Uma unidade para o valor de telemetria, como mph, %ou °C.

Display unit

Uma unidade de exibição para uso em modos de exibição e formulários.

Comentário

Quaisquer comentários sobre a capacidade de telemetria.

Descrição

Uma descrição da capacidade de telemetria.

Personalizações adicionais estão disponíveis dependendo do valor do esquema. Por exemplo, se o esquema for String, você poderá especificar o comprimento mínimo e máximo da string.

Propriedades

As propriedades representam valores point-in-time. Você pode definir propriedades graváveis a partir do IoT Central. Por exemplo, um dispositivo pode usar uma propriedade gravável para permitir que um operador defina a temperatura alvo.

A tabela a seguir mostra as definições de configuração para um recurso de propriedade:

Campo

Descrição

Display name

O nome para exibição do valor da propriedade usada em modos de exibição e formulários.

Nome

O nome da propriedade. O IoT Central gera um valor para esse campo a partir do nome para exibição, mas você pode escolher seu próprio valor, se necessário.

Capability type

Imóvel.

Semantic type (Tipo de semântica)

O tipo semântico da propriedade, como temperatura, estado ou evento. A escolha do tipo semântico determina qual dos seguintes campos está disponível.

Esquema

O tipo de dados da propriedade, como double, string ou vetor. As opções disponíveis são determinadas pelo tipo semântico. O esquema não está disponível para os tipos semânticos de evento e estado.

gravável

Se a propriedade não for gravável, o dispositivo poderá relatar valores de propriedade para o IoT Central. Se a propriedade for gravável, o dispositivo poderá relatar valores de propriedade para o IoT Central e o IoT Central poderá enviar atualizações de propriedade para o dispositivo.

Gravidade

Disponível apenas para o tipo semântico de evento. As gravidades são Erro, Informação ou Aviso.

State values

Disponível apenas para o tipo semântico de estado. Defina os valores de estado possíveis, cada um dos quais tem nome para exibição, nome, tipo de enumeração e valor.

Unidade

Uma unidade para o valor da propriedade, como mph, %, ou °C.

Display unit

Uma unidade de exibição para uso em modos de exibição e formulários.

Comentário

Quaisquer comentários sobre a capacidade da propriedade.

Descrição

Uma descrição da capacidade da propriedade.

Comandos

Você pode chamar comandos de dispositivo a partir do IoT Central. Opcionalmente, os comandos passam parâmetros para o dispositivo e recebem uma resposta do dispositivo. Por exemplo, você pode chamar um comando para reiniciar um dispositivo em 10 segundos.

A tabela a seguir mostra as definições de configuração para um recurso de comando:

Campo

Descrição

Display name

O nome para exibição do comando usado em modos de exibição e formulários.

Nome

O nome do comando. O IoT Central gera um valor para esse campo a partir do nome para exibição, mas você pode escolher seu próprio valor, se necessário.

Capability type

Comandos

Fila se estiver offline

Se ativado, você pode chamar o comando mesmo se o dispositivo estiver offline. Se não estiver ativado, só pode chamar o comando quando o dispositivo estiver online.

Comentário

Quaisquer comentários sobre a capacidade de comando.

Descrição

Uma descrição da capacidade de comando.

Pedido

Se habilitado, uma definição do parâmetro request, incluindo: nome, nome de exibição, esquema, unidade e unidade de exibição.

Response

Se habilitado, uma definição da resposta do comando, incluindo: nome, nome para exibição, esquema, unidade e unidade de exibição.