Tutorial: Definir um novo tipo de dispositivo de gateway IoT em seu aplicativo do Azure IoT Central

Neste tutorial, você cria um modelo de dispositivo de gateway de Edifício Inteligente. Um dispositivo de gateway de Edifício Inteligente tem relações com outros dispositivos a jusante.

Diagrama que mostra a relação entre um dispositivo de gateway e seus dispositivos downstream.

Um dispositivo de gateway também pode:

  • Envie sua própria telemetria, como temperatura.
  • Responda a atualizações de propriedade graváveis feitas por um operador. Por exemplo, um operador pode alterar o intervalo de envio de telemetria.
  • Responda a comandos, como reiniciar o dispositivo.

Neste tutorial, irá aprender a:

  • Criar modelos de dispositivos downstream
  • Criar um modelo de dispositivo de gateway
  • Publicar o modelo de dispositivo
  • Criar os dispositivos simulados

Pré-requisitos

Para concluir as etapas neste tutorial, você precisa:

  • Uma subscrição ativa do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Um aplicativo IoT Central criado a partir do modelo de aplicativo personalizado. Para saber mais, consulte Criar um aplicativo do IoT Central e Sobre seu aplicativo.

Criar modelos de dispositivos downstream

Este tutorial usa modelos de dispositivo para um dispositivo Onset Hobo MX-100 Temp Sensor e um dispositivo RS40 Occupancy Sensor para gerar dispositivos downstream simulados.

Para criar um modelo de dispositivo para um dispositivo Onset Hobo MX-100 Temp Sensor :

  1. No painel esquerdo, selecione Modelos de dispositivo. Em seguida, selecione + Novo para começar a adicionar o modelo.

  2. Desloque-se para baixo até conseguir ver o mosaico do dispositivo Onset Hobo MX-100 Temp Sensor . Selecione o mosaico e, em seguida, selecione Seguinte: Rever.

  3. Na página Revisão, selecione Criar para adicionar o modelo de dispositivo ao seu aplicativo.

Para criar um modelo de dispositivo para um dispositivo com sensor de ocupação RS40:

  1. No painel esquerdo, selecione Modelos de dispositivo. Em seguida, selecione + Novo para começar a adicionar o modelo.

  2. Desloque-se para baixo até conseguir ver o mosaico do dispositivo Sensor de Ocupação Rigado RS40. Selecione o mosaico e, em seguida, selecione Seguinte: Rever.

  3. Na página Revisão, selecione Criar para adicionar o modelo de dispositivo ao seu aplicativo.

Agora você tem modelos de dispositivo para os dois tipos de dispositivos downstream:

Captura de tela que mostra os modelos de dispositivo downstream.

Criar um modelo de dispositivo de gateway

Neste tutorial, você cria um modelo de dispositivo para um dispositivo de gateway do zero. Use esse modelo posteriormente para criar um dispositivo de gateway simulado em seu aplicativo.

Para adicionar um novo modelo de dispositivo de gateway ao seu aplicativo:

  1. No painel esquerdo, selecione Modelos de dispositivo. Em seguida, selecione + Novo para começar a adicionar o modelo.

  2. Na página Selecionar tipo de modelo, selecione o bloco Dispositivo IoT e selecione Avançar: Personalizar.

  3. Na página Personalizar dispositivo, marque a caixa de seleção Este é um dispositivo de gateway.

  4. Introduza Dispositivo de gateway de Edifício Inteligente como o nome do modelo e, em seguida, selecione Seguinte: Rever.

  5. Na página Revisão, selecione Criar.

  6. Na página Criar um modelo, selecione o bloco Modelo personalizado.

  7. Selecione + Adicionar capacidade para adicionar uma capacidade.

  8. Insira Enviar dados como o nome para exibição e selecione Propriedade como o tipo de capacidade.

  9. Selecione Boolean como o tipo de esquema, defina Writable on e, em seguida, selecione Save.

Adicionar relações

Em seguida, você adiciona relacionamentos aos modelos para os modelos de dispositivo downstream:

  1. No modelo de dispositivo de gateway de construção inteligente, selecione Relações.

  2. Selecione + Adicionar relação. Digite Sensor ambiental como o nome de exibição e selecione Hobo MX-100 como o destino.

  3. Selecione + Adicionar relacionamento novamente. Insira Sensor de Ocupação como o nome de exibição e selecione Sensor de Ocupação RS40 como o destino.

  4. Selecione Guardar.

Captura de tela que mostra as relações de gateway.

Adicionar propriedades da cloud

Um modelo de dispositivo de gateway pode incluir propriedades de nuvem. As propriedades de nuvem só existem no aplicativo IoT Central e nunca são enviadas ou recebidas de um dispositivo.

Para adicionar propriedades de nuvem ao modelo de dispositivo de gateway de Edifício Inteligente.

  1. No modelo de dispositivo de gateway de Edifício Inteligente, selecione Modelo de dispositivo de gateway de Edifício Inteligente.

  2. Use as informações da tabela a seguir para adicionar duas propriedades de nuvem ao seu modelo de dispositivo de gateway.

    Nome a apresentar Capability type Semantic type (Tipo de semântica) Esquema
    Data da Última Assistência Propriedade na nuvem Nenhuma Date
    Nome do Cliente Propriedade na nuvem Nenhuma String
  3. Selecione Guardar.

Criar vistas

Como construtor, você pode personalizar o aplicativo para exibir informações relevantes sobre o dispositivo de sensor ambiental para um operador. Suas personalizações permitem que o operador gerencie os dispositivos de sensores ambientais conectados ao aplicativo. Você pode criar dois tipos de modos de exibição para um operador usar para interagir com dispositivos:

  • Formulários para visualizar e editar propriedades do dispositivo e da nuvem.
  • Vistas para visualizar dispositivos.

Para gerar as vistas predefinidas para o modelo de dispositivo de gateway de Edifício Inteligente:

  1. No modelo de dispositivo de gateway de Edifício Inteligente, selecione Exibições.

  2. Selecione Gerar mosaico de vistas predefinidas e certifique-se de que todas as opções estão selecionadas.

  3. Selecione Gerar visualização(ões) padrão(ões) do painel.

Publicar o modelo de dispositivo

Antes de criar um dispositivo de gateway simulado ou conectar um dispositivo de gateway real, você precisa publicar seu modelo de dispositivo.

Para publicar o modelo de dispositivo de gateway:

  1. Selecione o modelo de dispositivo Smart Building gateway na página Modelos de dispositivo.

  2. Selecione Publicar.

  3. Na caixa de diálogo Publicar um modelo de dispositivo, escolha Publicar.

Depois que um modelo de dispositivo é publicado, ele fica visível na página Dispositivos e para o operador. O operador pode usar o modelo para criar instâncias de dispositivo ou estabelecer regras e monitoramento. A edição de um modelo publicado pode afetar o comportamento em todo o aplicativo.

Para saber mais sobre como modificar um modelo de dispositivo depois de publicá-lo, consulte Editar um modelo de dispositivo existente.

Criar os dispositivos simulados

Este tutorial usa dispositivos downstream simulados e um dispositivo de gateway simulado.

Para criar um dispositivo de gateway simulado:

  1. Na página Dispositivos, selecione Dispositivo de gateway de Edifício Inteligente na lista de modelos de dispositivos.

  2. Selecione + Novo para começar a adicionar um novo dispositivo.

  3. Mantenha o ID do dispositivo gerado e o nome do dispositivo. Certifique-se de que o interruptor simulado é Sim. Selecione Criar.

Para criar dispositivos a jusante simulados:

  1. Na página Dispositivos, selecione Sensor de Ocupação RS40 na lista de modelos de dispositivos.

  2. Selecione + Novo para começar a adicionar um novo dispositivo.

  3. Mantenha o ID do dispositivo gerado e o nome do dispositivo. Certifique-se de que o interruptor simulado é Sim. Selecione Criar.

  4. Na página Dispositivos, selecione Hobo MX-100 na lista de modelos de dispositivos.

  5. Selecione + Novo para começar a adicionar um novo dispositivo.

  6. Mantenha o ID do dispositivo gerado e o nome do dispositivo. Certifique-se de que o interruptor simulado é Sim. Selecione Criar.

Captura de tela que mostra os dispositivos simulados.

Adicionar relações de dispositivo downstream a um dispositivo de gateway

Agora que você tem os dispositivos simulados em seu aplicativo, você pode criar as relações entre os dispositivos downstream e o dispositivo gateway:

  1. Na página Dispositivos, selecione Hobo MX-100 na lista de modelos de dispositivo e, em seguida, selecione seu dispositivo Hobo MX-100 simulado.

  2. Selecione Anexar ao gateway.

  3. Na caixa de diálogo Anexar a um gateway, selecione o modelo de dispositivo de gateway do Smart Building e selecione a instância simulada criada anteriormente.

  4. Selecione Anexar.

  5. Na página Dispositivos, selecione Sensor de Ocupação RS40 na lista de modelos de dispositivos e, em seguida, selecione o dispositivo Sensor de Ocupação RS40 simulado.

  6. Selecione Anexar ao gateway.

  7. Na caixa de diálogo Anexar a um gateway, selecione o modelo de dispositivo de gateway do Smart Building e selecione a instância simulada criada anteriormente.

  8. Selecione Anexar.

Ambos os seus dispositivos downstream simulados estão agora conectados ao seu dispositivo de gateway simulado. Se navegar para a vista Dispositivos a jusante do seu dispositivo de gateway, poderá ver os dispositivos a jusante relacionados:

Captura de tela que mostra os dispositivos conectados ao gateway.

Ligue dispositivos reais a jusante

No tutorial Criar e conectar um aplicativo cliente ao seu aplicativo do Azure IoT Central, o código de exemplo mostra como incluir a ID do modelo do modelo de dispositivo na carga útil de provisionamento que o dispositivo envia.

Ao conectar um dispositivo downstream, você pode modificar a carga útil de provisionamento para incluir a ID do dispositivo de gateway. O ID do modelo permite que o IoT Central atribua o dispositivo ao modelo de dispositivo downstream correto. O ID do gateway permite que o IoT Central estabeleça a relação entre o dispositivo downstream e seu gateway. Nesse caso, a carga útil de provisionamento que o dispositivo envia se parece com o seguinte JSON:

{
  "modelId": "dtmi:rigado:HoboMX100;2",
  "iotcGateway":{
    "iotcGatewayId": "gateway-device-001"
  }
}

Um gateway pode registrar e provisionar um dispositivo downstream e associar o dispositivo downstream ao gateway da seguinte maneira:

var crypto = require('crypto');


var ProvisioningTransport = require('azure-iot-provisioning-device-mqtt').Mqtt;
var SymmetricKeySecurityClient = require('azure-iot-security-symmetric-key').SymmetricKeySecurityClient;
var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;

var provisioningHost = "global.azure-devices-provisioning.net";
var idScope = "<The ID scope from your SAS group enrollment in IoT Central>";
var groupSymmetricKey = "<The primary key from the SAS group enrollment>";
var registrationId = "<The device ID for the downstream device you're creating>";
var modelId = "<The model you're downstream device should use>";
var gatewayId = "<The device ID of your gateway device>";

// Calculate the device key from the group enrollment key
function computeDerivedSymmetricKey(deviceId, masterKey) {
    return crypto.createHmac('SHA256', Buffer.from(masterKey, 'base64'))
        .update(deviceId, 'utf8')
        .digest('base64');
}

var symmetricKey = computeDerivedSymmetricKey(registrationId, groupSymmetricKey);

var provisioningSecurityClient = new SymmetricKeySecurityClient(registrationId, symmetricKey);

var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), provisioningSecurityClient);

// Use the DPS payload to:
// - specify the device capability model to use.
// - associate the device with a gateway.
var provisioningPayload = {modelId: modelId, iotcGateway: { iotcGatewayId: gatewayId}}

provisioningClient.setProvisioningPayload(provisioningPayload);

provisioningClient.register(function(err, result) {
  if (err) {
    console.log("Error registering device: " + err);
  } else {
    console.log('The registration status is: ' + result.status)
   }
});

Clean up resources (Limpar recursos)

Se você não planeja concluir mais tutoriais ou inícios rápidos do IoT Central, pode excluir seu aplicativo do IoT Central:

  1. Em seu aplicativo IoT Central, navegue até Gerenciamento de Aplicativos>.
  2. Selecione Excluir e confirme sua ação.

Próximo passo

Em seguida, você pode aprender a: