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

Neste tutorial, você criará um modelo de dispositivo de gateway de Compilação Inteligente. Um dispositivo de gateway de Compilação inteligente tem relações com outros dispositivos downstream.

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

Um dispositivo de gateway também pode:

  • Enviar sua telemetria, como a temperatura.
  • Responder a atualizações de propriedade gravável feitas por um operador. Por exemplo, um operador pode alterar o intervalo de envio de telemetria.
  • Responder a comandos, como reinicialização do dispositivo.

Neste tutorial, você aprenderá como:

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

Pré-requisitos

Para concluir as etapas deste tutorial, você precisará do seguinte:

Criar modelos de dispositivo downstream

Este tutorial usa modelos de dispositivo para um dispositivo Sensor de temperatura Onset Hobo MX-100 e um dispositivo Sensor de ocupação RS40 para gerar dispositivos downstream simulados.

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

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

  2. Role a página para baixo até ver o bloco do dispositivo de Sensor de temperatura Onset Hobo MX-100. Selecione o bloco e, em seguida, Avançar: Revisão.

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

Para criar um modelo de dispositivo para um dispositivo 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. Role a página para baixo até ver o bloco do dispositivo Sensor de ocupação Rigado RS40. Selecione o bloco e, em seguida, Avançar: Revisão.

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

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

Captura de tela que mostra os modelos de dispositivo downstream.

Criar um modelo de dispositivo de gateway

Neste tutorial, você criará um modelo de dispositivo para um dispositivo de gateway do zero. Você usará 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 o dispositivo, marque a caixa de seleção Este é um dispositivo de gateway.

  4. Insira Dispositivo de gateway de Edifício Inteligente como o nome do modelo e selecione Avançar: Examinar.

  5. Na página Examinar, selecione Criar.

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

  7. Escolha + Adicionar capacidade para adicionar uma capacidade.

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

  9. Selecione Booleano como o tipo de esquema, selecione Gravável e, em seguida, selecione Salvar.

Adicionar relações

Em seguida, adicione relações aos modelos para os modelos de dispositivo downstream:

  1. No modelo de Dispositivo de gateway de Compilação Inteligente, selecione Relações.

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

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

  4. Clique em Salvar.

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

Adicionar propriedades da nuvem

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

Para adicionar propriedades de nuvem ao modelo de Dispositivo de gateway de Compilação Inteligente.

  1. No modelo de dispositivo de gateway do Smart Building, selecione o modelo de Dispositivo de gateway de Criação Inteligente.

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

    Nome de exibição Tipo de funcionalidade Tipo semântico Esquema
    Data do Último Serviço Propriedade de nuvem Nenhum Data
    Nome do Cliente Propriedade de nuvem Nenhum String
  3. Clique em Salvar.

Criar exibições

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

  • Formulários para exibir e editar propriedades de dispositivo e de nuvem.
  • Exibições para visualizar dispositivos.

Para gerar as exibições padrão do modelo de Dispositivo de gateway de Compilação Inteligente:

  1. No modelo de Dispositivo de gateway de Compilação Inteligente, selecione Exibições.

  2. Selecione o bloco Gerar exibições padrão e confira se todas as opções estão selecionadas.

  3. Selecione Gerar exibições padrão 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 o modelo do dispositivo.

Para publicar o modelo de dispositivo de gateway:

  1. Selecione o modelo Dispositivo de gateway de Compilação Inteligente 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. Editar um modelo publicado pode afetar o comportamento em todo o aplicativo.

Para saber mais sobre como modificar um modelo de dispositivo após sua publicação, confira 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 Compilação Inteligente na lista de modelos de dispositivo.

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

  3. Mantenha a ID do dispositivo e o Nome do dispositivo gerados. A opção Simulado deve estar Ativada. Selecione Criar.

Para criar dispositivos downstream simulados:

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

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

  3. Mantenha a ID do dispositivo e o Nome do dispositivo gerados. A opção Simulado deve estar Ativada. Selecione Criar.

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

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

  6. Mantenha a ID do dispositivo e o Nome do dispositivo gerados. A opção Simulado deve estar Ativada. 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, pode criar as relações entre os dispositivos downstream e o dispositivo de gateway:

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

  2. Selecione Anexar ao gateway.

  3. Na caixa de diálogo Anexar a um gateway, selecione o modelo de Dispositivo de gateway de Edifício Inteligente e escolha a instância simulada criada anteriormente.

  4. Selecionar Anexar.

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

  6. Selecione Anexar ao gateway.

  7. Na caixa de diálogo Anexar a um gateway, selecione o modelo de Dispositivo de gateway de Edifício Inteligente e escolha a instância simulada criada anteriormente.

  8. Selecionar Anexar.

Agora, os dois dispositivos downstream simulados estão conectados ao dispositivo de gateway simulado. Se você navegar até a exibição Dispositivos downstream para seu dispositivo de gateway, poderá ver os dispositivos downstream relacionados:

Captura de tela que mostra os dispositivos anexados ao gateway.

Conectar dispositivos downstream reais

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 de dispositivo no conteúdo de provisionamento enviado pelo dispositivo.

Ao conectar um dispositivo downstream, você pode modificar o conteúdo de provisionamento para incluir a ID do dispositivo de gateway. A ID de modelo permite que o IoT Central atribua o dispositivo ao modelo de dispositivo downstream correto. A ID do gateway permite que o IoT Central estabeleça a relação entre o dispositivo downstream e o respectivo gateway. Nesse caso, o conteúdo de provisionamento enviado pelo dispositivo é parecido 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 forma:

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)
   }
});

Limpar os recursos

Se você não pretende concluir outros guias de início rápido nem tutoriais do IoT Central, pode excluir seu aplicativo do IoT Central:

  1. No aplicativo IoT Central, navegue até Aplicativo > Gerenciamento.
  2. Selecione Excluir e confirme a sua ação.

Próxima etapa

Depois você pode aprender a: