Preparar-se
Aqui, abordamos as metas gerais do projeto e como preparar recursos para os exercícios.
Visão geral do projeto
Neste módulo, você começa criando recursos do Azure necessários para concluir este módulo, como uma instância do Serviço de Provisionamento de Dispositivos (DPS) e um hub IoT. Em seguida, você gera um Certificado de Autoridade de Certificação raiz X.509 usando OpenSSL no Azure Cloud Shell e usa o certificado raiz para configurar um registro de grupo dentro do DPS. Depois disso, você usa o certificado raiz para gerar dois certificados de dispositivo, que você usa em um código de dispositivo simulado para provisionar os dispositivos em um hub IoT. No código do dispositivo, você implementa o acesso às propriedades do dispositivo gêmeo usadas para executar a configuração inicial do dispositivo. Em seguida, você testa o dispositivo simulado. Para concluir este módulo, você desprovisiona todo o registro de grupo.
Instalação
Como parte deste módulo, serão criados os seguintes recursos:
- Um hub IoT do Azure
- Uma instância do Serviço de Provisionamento de Dispositivos do Hub IoT do Azure
- Dois dispositivos simulados em C#
Recursos de nuvem
Para concluir este projeto guiado, você precisa de um hub IoT e uma instância do Serviço de Provisionamento de Dispositivos que estejam vinculados um ao outro. A criação dessas instâncias de serviço pode levar vários minutos.
Inicie clicando no botão Ativar área restrita. A área restrita cria automaticamente um grupo de recursos do Azure para você, que será exibido nesta página da Web. Crie mais recursos para esse projeto executando as etapas a seguir. O nome do grupo de recursos será substituído automaticamente quando for usado nas etapas do código.
Observação
A área restrita do Azure Cloud Shell atingirá o tempo limite após 20 minutos de inatividade. A área restrita ainda estará disponível e o Cloud Shell poderá ser reativado, mas as variáveis de linha de comando e ambiente serão perdidas. As instâncias do Hub IoT e do Serviço de Provisionamento de Dispositivos estão funcionais e disponíveis. Copie esses valores conforme instruído no final desta página para que você ainda possa referenciar e inserir os valores nos próximos comandos do Cloud Shell, quando necessário.
Instale a extensão da Internet das Coisas do Azure para a CLI do Azure.
az extension add --name azure-iot
Crie uma variável denominada sufixo com um número aleatório que você usa para nomes de recursos que precisam ser globalmente exclusivos.
let suffix=$RANDOM*$RANDOM echo $suffix
Crie um hub IoT no nome do grupo de recursos criado pela área restrita do Azure.
az iot hub create --name hub-$suffix --resource-group <rgn>[sandbox resource group name]</rgn> --location westus
Crie uma instância do DPS no grupo de recursos criado pela área restrita do Azure.
az iot dps create --name dps-$suffix --resource-group <rgn>[sandbox resource group name]</rgn> --location westus
Obtenha a cadeia de conexão de hub do hub IoT, que você fornece à instância do DPS para vincular os dois recursos.
hubConnectionString=$(az iot hub connection-string show --hub-name hub-$suffix --key-type primary --query connectionString -o tsv) echo $hubConnectionString
Adicione o hub IoT como um hub vinculado à instância do DPS. Vincular um hub IoT significa que a instância do DPS pode provisionar dispositivos para esse hub IoT.
az iot dps linked-hub create --dps-name dps-$suffix --resource-group <rgn>[sandbox resource group name]</rgn> --connection-string $hubConnectionString
Depois que a implantação for concluída, abra uma ferramenta de editor de texto. Use o editor de texto para armazenar valores de configuração associados aos recursos do Azure no caso de sua área restrita atinja o tempo limite após 20 minutos. No editor de texto, salve os seguintes nomes e valores a serem usados nas próximas páginas de unidade.
Nome Valor Nome do grupo de recursos Listado nesta página da Web Sufixo Armazenado em $suffix
. Por exemplo, um valor para$suffix
é586732230
.Cadeia de conexão do hub IoT Armazenado em $hubConnectionString
Nome do Hub IoT hub-$suffix
. Por exemplo,hub-586732230
.Nome do DPS dps-$suffix
. Por exemplo,dps-586732230
.Escopo da ID do DPS O valor de idScope
nos dados JSON retornados do comandoaz iot dps create
que você executou na etapa 5. Por exemplo, o valor paraidScope
é0ne0000000
.
Recursos de desenvolvimento
Para simular o provisionamento de dispositivos IoT por meio do Serviço de Provisionamento de Dispositivos, execute dois aplicativos C# em seu computador de desenvolvimento. Prepare os seguintes pré-requisitos em seu computador de desenvolvimento: