Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você cria um dispositivo simulado no seu computador Windows. O dispositivo simulado está configurado para usar um mecanismo de atestação do Trusted Platform Module (TPM) para autenticação. Após configurar seu dispositivo, você vai provisioná-lo para o seu hub IoT usando o Serviço de Provisionamento de Dispositivos no Hub IoT do Azure. O código de exemplo é usado para ajudar a registrar o dispositivo com uma instância do Serviço de Provisionamento de Dispositivos.
Se você não estiver familiarizado com o processo de provisionamento, examine a visão geral de provisionamento. Além disso, conclua as etapas no Início Rápido: configure o Serviço de Provisionamento de Dispositivos do Hub IoT com o portal do Azure antes de continuar.
O Serviço de Provisionamento de Dispositivos de IoT do Azure dá suporte a dois tipos de registros:
Grupos de registro são usados para registrar vários dispositivos relacionados.
Registros individuais usados para registrar um único dispositivo.
Este artigo vai demonstrar o uso de registros individuais.
Não há suporte para atestado do TPM (Trusted Platform Module) no SDK do Python. Com o Python, você pode provisionar um dispositivo usando chaves simétricas ou certificados X.509.
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Conclua as etapas no Início Rápido: Configurar o Serviço de Provisionamento de Dispositivos do Hub IoT com o portal do Azure.
Os pré-requisitos a seguir são para um ambiente de desenvolvimento do Windows. Para Linux ou macOS, confira a seção apropriada em Preparar seu ambiente de desenvolvimento na documentação do SDK.
- Visual Studio 2019 ou posterior com a carga de trabalho ‘Desenvolvimento para desktop com C++’ habilitada. Também há suporte para o Visual Studio 2015 e o Visual Studio 2017.
Um módulo de segurança de hardware do TPM 2.0 em seu computador baseado em Windows.
Instale o SDK do .NET Core 6.0 ou posterior no computador baseado no Windows. Use o comando a seguir para verificar a versão.
dotnet --info
- Instale o Node.js v4.0+.
Instale o Java SE Development Kit 8 ou posterior no computador.
Baixe e instale o Maven.
- Instale a versão mais recente do Git. Verifique se o Git foi adicionado às variáveis de ambiente que podem ser acessadas pela janela de comando. Confira Ferramentas de cliente Git do Software Freedom Conservancy para obter a versão mais recente das ferramentas
gita serem instaladas, que inclui o Git Bash, o aplicativo de linha de comando que você pode usar para interagir com seu repositório Git local.
Preparar seu ambiente de desenvolvimento
Nesta seção, você prepara um ambiente de desenvolvimento usado para criar o SDK do Azure IoT C e o exemplo de simulador de dispositivo do TPM .
Baixe o sistema de build CMake mais recente.
Importante
Confirme que os pré-requisitos do Visual Studio (Visual Studio e a carga de trabalho de 'Desenvolvimento para Desktop com C++') estão instalados no computador antes de iniciar a instalação de
CMake. Após a instalação dos pré-requisitos e verificação do download, instale o sistema de compilação CMake. Além disso, versões mais antigas do sistema de build do CMake não geram o arquivo de solução usado neste artigo. Use a versão mais recente do CMake.Abra um navegador da Web e acesse a página de versão do SDK do Azure IoT para C.
Selecione a guia Marcas na parte superior da página.
Copie o nome da marca para a versão mais recente do SDK do Azure IoT para C.
Abra um prompt de comando ou o shell Bash do Git. Execute os seguintes comandos para clonar a última versão do repositório do GitHub do SDK do dispositivo IoT do Azure para C. Substitua
<release-tag>pela marca que você copiou na etapa anterior, por exemplo:lts_03_2025.git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --initEssa operação pode levar vários minutos para ser concluída.
Quando a operação for concluída, execute os seguintes comandos no diretório
azure-iot-sdk-c:mkdir cmake cd cmake
Abra um ambiente de linha de comando Git CMD ou Git Bash.
Clone o repositório GitHub do Azure IoT SDK para .NET usando o seguinte comando:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Abra um ambiente de linha de comando Git CMD ou Git Bash.
Clone o repositório GitHub azure-utpm-c usando o seguinte comando:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Abra um ambiente de linha de comando Git CMD ou Git Bash.
Clone o repositório GitHub Java usando o seguinte comando:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Criar e executar o simulador de dispositivo TPM
Nesta seção, você compila e executa o simulador do TPM. Esse simulador escuta em um soquete nas portas 2321 e 2322. Não fechar a janela de comandos. Você precisará manter esse simulador em execução até o término deste início rápido.
Execute o comando a seguir para criar o SDK do Azure IoT para C que inclui o código de exemplo do simulador de dispositivo TPM. Uma solução do Visual Studio para o dispositivo simulado é gerada no diretório
cmake. Este exemplo fornece um mecanismo de atestado de TPM por meio da autenticação de Token SAS (Assinatura de Acesso Compartilhado).cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..Dica
Se
cmakenão encontrar o compilador C++, você poderá receber erros de build ao executar o comando anterior. Se isso acontecer, tente executar o comando no prompt de comando do Visual Studio.Quando o build tiver êxito, as últimas linhas da saída terão aparência semelhante à seguinte saída:
$ cmake -Duse_prov_client:BOOL=ON .. -- Building for: Visual Studio 16 2019 -- The C compiler identification is MSVC 19.23.28107.0 -- The CXX compiler identification is MSVC 19.23.28107.0 ... -- Configuring done -- Generating done -- Build files have been written to: C:/code/azure-iot-sdk-c/cmakeAcesse a pasta raiz do repositório git clonado.
Execute o simulador do TPM usando o caminho mostrado no exemplo a seguir.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exeO simulador não exibe nenhuma saída. Mantenha-o em execução, pois ele simula um dispositivo TPM.
Acesse a pasta raiz do GitHub.
Execute o simulador de TPM para que ele seja o HSM para o dispositivo simulado.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exeCrie uma nova pasta vazia denominada registerdevice. Na pasta registerdevice, crie um arquivo package.json usando o seguinte comando no prompt de comando (lembre-se de responder a todas as perguntas feitas por
npmou aceite os padrões se eles forem adequados para você):npm initInstale os seguintes pacotes precursores:
npm install node-gyp -g npm install ffi-napi -gObservação
Há alguns problemas conhecidos para instalar os pacotes anteriores. Para resolver esses problemas, execute
npm install --global --production windows-build-toolsusando um prompt de comando no modo Executar como administrador , executeSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140depois de substituir o caminho pela versão instalada e execute novamente os comandos de instalação anteriores.Instale todos esses pacotes exigidos executando o seguinte comando no prompt de comando na pasta registerdevice:
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-deviceO comando instala os seguintes pacotes:
Um cliente de segurança que funciona com TPM:
azure-iot-security-tpmUm transporte para o dispositivo para se conectar ao Serviço de provisionamento de dispositivos:
azure-iot-provisioning-device-httpouazure-iot-provisioning-device-amqpUm cliente para usar o cliente de transporte e segurança:
azure-iot-provisioning-deviceO cliente do dispositivo:
azure-iot-deviceUm transporte: qualquer um entre
azure-iot-device-amqp,azure-iot-device-mqttouazure-iot-device-httpO cliente de segurança já instalado por você:
azure-iot-security-tpmObservação
Os exemplos neste guia de início rápido usam os transportes
azure-iot-provisioning-device-httpeazure-iot-device-mqtt.
Abra um editor de texto de sua escolha.
Na pasta registerdevice, crie um arquivo ExtractDevice.js.
Adicione as seguintes instruções
requireno início do arquivo ExtractDevice.js:'use strict'; var tpmSecurity = require('azure-iot-security-tpm'); var tssJs = require("tss.js"); var myTpm = new tpmSecurity.TpmSecurityClient(undefined, new tssJs.Tpm(true));Adicione a seguinte função para implementar o método:
myTpm.getEndorsementKey(function(err, endorsementKey) { if (err) { console.log('The error returned from get key is: ' + err); } else { console.log('the endorsement key is: ' + endorsementKey.toString('base64')); myTpm.getRegistrationId((getRegistrationIdError, registrationId) => { if (getRegistrationIdError) { console.log('The error returned from get registration id is: ' + getRegistrationIdError); } else { console.log('The Registration Id is: ' + registrationId); process.exit(); } }); } });Salve e feche o arquivo ExtractDevice.js.
node ExtractDevice.jsExecute o exemplo.
A janela de saída exibe a chave de verificação e a ID de inscrição necessária para a inscrição do dispositivo. Copie esses valores.
Execute o simulador de TPM para que ele seja o HSM para o dispositivo simulado.
Selecione Permitir Acesso. O simulador escuta em um soquete nas portas 2321 e 2322. Não feche essa janela Comando; você precisa manter esse simulador em execução até o término deste guia de início rápido.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
Abra um segundo prompt de comando.
Em um segundo prompt de comando, navegue até a pasta raiz crie as dependências de exemplo.
cd azure-iot-sdk-java mvn install -DskipTests=trueNavegue até a pasta de exemplo.
cd provisioning/provisioning-samples/provisioning-tpm-sample
Nesta seção, você vai criar e executar uma amostra que lê a ID do registro e a chave de endosso do simulador do TPM que você deixou em execução e ainda escuta as portas 2321 e 2322. Esses valores são usados para registro de dispositivo com sua instância do Serviço de Provisionamento de Dispositivos.
Inicie o Visual Studio.
Abra a solução gerada na pasta cmake denominada
azure_iot_sdks.sln.No menu do Visual Studio, selecione Compilar>Compilar Solução para compilar todos os projetos na solução.
Na janela Gerenciador de Soluções do Visual Studio, navegue até a pasta Provisionar_Ferramentas. Clique com botão direito do mouse no projeto tpm_device_provision e selecione Definir como Projeto de Inicialização.
No menu do Visual Studio, selecione Depurar>Iniciar sem depuração para executar a solução. O aplicativo lê e exibe uma ID de Registro e uma chave de endosso. Anote ou copie esses valores. Esses valores são usados na próxima seção para registro de dispositivo.
Entre no portal do Azure, selecione o botão Todos os recursos no menu à esquerda e abra a instância do Serviço de Provisionamento de Dispositivos. Anote os valores de Escopo da ID e o Ponto de extremidade do dispositivo global.
Edite
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.javapara incluir o Escopo da ID e o Ponto de Extremidade Global do Serviço de Provisionamento conforme anotado antes.private static final String idScope = "[Your ID scope here]"; private static final String globalEndpoint = "[Your Provisioning Service Global Endpoint here]"; private static final ProvisioningDeviceClientTransportProtocol PROVISIONING_DEVICE_CLIENT_TRANSPORT_PROTOCOL = ProvisioningDeviceClientTransportProtocol.HTTPS;Salve o arquivo.
Use os seguintes comandos para criar o projeto, navegue até a pasta de destino e execute o arquivo .jar criado (substitua
{version}por sua versão do Java):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jarQuando o programa começa a ser executado, ele exibe a chave de endosso e a ID de registro. Copie esses valores para usá-los na próxima seção. Lembre-se de deixar o programa em execução.
Nesta seção, você compila e executa um exemplo que lê a chave de endosso do módulo de segurança de hardware do TPM 2.0. Esse valor é usado para registro de dispositivo com sua instância do Serviço de Provisionamento de Dispositivos.
Em um prompt de comando, altere os diretórios para o diretório do projeto de exemplo de provisionamento do dispositivo TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Digite o seguinte comando para compilar e executar o exemplo de provisionamento de dispositivo TPM. Copie a chave de endosso retornada do módulo de segurança de hardware do TPM 2.0 para usar mais tarde no registro do dispositivo.
dotnet run -- -e
Entre no portal do Azure e navegue até instância do Serviço de Provisionamento de Dispositivos.
Selecione Gerenciar registros na seção Configurações do menu de navegação.
Selecione a guia Registros individuais e, em seguida, selecione Adicionar registro individual.
Na guia Registro + provisionamento da página Adicionar registro, forneça as seguintes informações para configurar os detalhes do registro:
Campo Descrição Atestado Selecione TPM (Trusted Platform Module) como o Mecanismo de atestado. Configurações do Trusted Platform Module (TPM) Forneça a chave de endosso usada para verificar o dispositivo para esse registro. Você pode recuperar a chave de endosso do TPM do seu dispositivo. ID de registro Forneça uma ID de registro exclusiva para o dispositivo. Você pode recuperar a ID de registro do TPM do seu dispositivo. Status do provisionamento Marque a caixa Habilitar este registro se quiser que esse registro esteja disponível para provisionar seu dispositivo. Desmarque essa caixa se quiser que o registro seja desabilitado. Você pode alterar essa configuração mais tarde. Reprovisionar política Escolha uma política de reprovisionamento que reflita como você deseja que o DPS manipule os dispositivos que solicitam o reprovisionamento. Para obter mais informações, confira Reprovisionar políticas. Selecione Próximo: hubs IoT.
Na guia Hubs IoT da página Adicionar registro, forneça as seguintes informações para determinar para quais hubs IoT o registro pode provisionar dispositivos:
Campo Descrição Hubs IoT de destino Selecione um ou mais dos hubs IoT vinculados ou adicione um novo link a um hub IoT. Para saber mais sobre como vincular hubs IoT à instância do DPS, confira Como vincular e gerenciar hubs IoT. Política de alocação Se você selecionou mais de um hub IoT vinculado, selecione como deseja atribuir dispositivos aos diferentes hubs. Para saber mais sobre políticas de alocação, confira Como usar políticas de alocação.
Se você selecionou apenas um hub IoT vinculado, recomendamos usar a política de distribuição uniformemente ponderada.Selecione Próximo: Configurações do dispositivo
Na guia Configurações do dispositivo da página Adicionar registro , forneça as seguintes informações para definir como os dispositivos provisionados recentemente são configurados:
Campo Descrição ID do Dispositivo Forneça uma ID de dispositivo atribuída ao dispositivo provisionado no Hub IoT. Se você não fornecer uma ID do dispositivo, a ID de registro será usada. IoT Edge Verifique a habilitação do IoT Edge em dispositivos provisionados se o dispositivo provisionado executar o Azure IoT Edge. Desmarque essa caixa se esse registro for para um dispositivo não habilitado para IoT Edge. Marcas de dispositivo Use esta caixa de texto para fornecer as marcas que você deseja aplicar ao dispositivo gêmeo do dispositivo provisionado. Propriedades desejadas Use esta caixa de texto para fornecer as propriedades desejadas que você quer aplicar ao dispositivo gêmeo do dispositivo provisionado. Para saber mais, veja Noções básicas e uso de dispositivos gêmeos no Hub IoT.
Selecione Avançar: Revisar + Criar.
Na guia Revisar + Criar, verifique todos os valores e, em seguida, selecione Criar.
O exemplo de TPM do C# para este início rápido não fornece uma ID de registro. Quando solicitado a adicionar um para o registro individual, forneça seu próprio valor.
Entre no portal do Azure e navegue até instância do Serviço de Provisionamento de Dispositivos.
Selecione Gerenciar registros na seção Configurações do menu de navegação.
Selecione a guia Registros individuais e, em seguida, selecione Adicionar registro individual.
Na guia Registro + provisionamento da página Adicionar registro, forneça as seguintes informações para configurar os detalhes do registro:
Campo Descrição Atestado Selecione TPM (Trusted Platform Module) como o Mecanismo de atestado. Configurações do Trusted Platform Module (TPM) Forneça a chave de endosso usada para verificar o dispositivo para esse registro. Você pode recuperar a chave de endosso do TPM do seu dispositivo. ID de registro Forneça uma ID de registro exclusiva para o dispositivo. Você pode recuperar a ID de registro do TPM do seu dispositivo. Status do provisionamento Marque a caixa Habilitar este registro se quiser que esse registro esteja disponível para provisionar seu dispositivo. Desmarque essa caixa se quiser que o registro seja desabilitado. Você pode alterar essa configuração mais tarde. Reprovisionar política Escolha uma política de reprovisionamento que reflita como você deseja que o DPS manipule os dispositivos que solicitam o reprovisionamento. Para obter mais informações, confira Reprovisionar políticas. Selecione Próximo: hubs IoT.
Na guia Hubs IoT da página Adicionar registro, forneça as seguintes informações para determinar para quais hubs IoT o registro pode provisionar dispositivos:
Campo Descrição Hubs IoT de destino Selecione um ou mais dos hubs IoT vinculados ou adicione um novo link a um hub IoT. Para saber mais sobre como vincular hubs IoT à instância do DPS, confira Como vincular e gerenciar hubs IoT. Política de alocação Se você selecionou mais de um hub IoT vinculado, selecione como deseja atribuir dispositivos aos diferentes hubs. Para saber mais sobre políticas de alocação, confira Como usar políticas de alocação.
Se você selecionou apenas um hub IoT vinculado, recomendamos usar a política de distribuição uniformemente ponderada.Selecione Próximo: Configurações do dispositivo
Na guia Configurações do dispositivo da página Adicionar registro , forneça as seguintes informações para definir como os dispositivos provisionados recentemente são configurados:
Campo Descrição ID do Dispositivo Forneça uma ID de dispositivo atribuída ao dispositivo provisionado no Hub IoT. Se você não fornecer uma ID do dispositivo, a ID de registro será usada. IoT Edge Verifique a habilitação do IoT Edge em dispositivos provisionados se o dispositivo provisionado executar o Azure IoT Edge. Desmarque essa caixa se esse registro for para um dispositivo não habilitado para IoT Edge. Marcas de dispositivo Use esta caixa de texto para fornecer as marcas que você deseja aplicar ao dispositivo gêmeo do dispositivo provisionado. Propriedades desejadas Use esta caixa de texto para fornecer as propriedades desejadas que você quer aplicar ao dispositivo gêmeo do dispositivo provisionado. Para saber mais, veja Noções básicas e uso de dispositivos gêmeos no Hub IoT.
Selecione Avançar: Revisar + Criar.
Na guia Revisar + Criar, verifique todos os valores e, em seguida, selecione Criar.
Registrar o dispositivo
Nesta seção, você configurará o código de exemplo para usar o AMQP (Advanced Message Queuing Protocol) para enviar a sequência de inicialização do dispositivo para a instância do Serviço de Provisionamento de Dispositivos. Essa sequência de inicialização fará com que o dispositivo seja registrado em um hub IoT vinculado à instância do Serviço de Provisionamento de Dispositivos.
No portal do Azure, selecione a guia Visão geral da instância do Serviço de Provisionamento de Dispositivos.
Copie o valor de Escopo da ID.
Na janela Gerenciador de Soluções do Visual Studio, navegue até a pasta Provisionar_Exemplos. Expanda o projeto de exemplo chamado prov_dev_client_sample. Expanda Arquivos de Origem e abra prov_dev_client_sample.c.
Próximo ao início do arquivo, localize as instruções
#definepara cada protocolo de dispositivo, conforme mostrado no exemplo a seguir. Remova a marca de comentário apenas deSAMPLE_AMQP.Atualmente, o protocolo MQTT não tem suporte para o Registro Individual de TPM.
// // The protocol you wish to use should be uncommented // //#define SAMPLE_MQTT //#define SAMPLE_MQTT_OVER_WEBSOCKETS #define SAMPLE_AMQP //#define SAMPLE_AMQP_OVER_WEBSOCKETS //#define SAMPLE_HTTPLocalize a constante
id_scopee substitua o valor pelo seu valor de Escopo de ID copiado anteriormente.static const char* id_scope = "0ne00002193";Encontre a definição da função
main()no mesmo arquivo. Verifique se ahsm_typevariável está definidaSECURE_DEVICE_TYPE_TPMcomo mostrada no exemplo a seguir.SECURE_DEVICE_TYPE hsm_type; hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; //hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;Clique com botão direito do mouse no projeto prov_dev_client_sample e selecione Definir como Projeto de Inicialização.
No menu do Visual Studio, selecione Depurar>Iniciar sem depuração para executar a solução. No prompt para recompilar o projeto, selecione Sim para recompilar o projeto antes da execução.
A saída a seguir é um exemplo da inicialização bem-sucedida do exemplo de cliente de dispositivo provisionamento, e da conexão com uma instância de Serviço de Provisionamento de Dispositivos para obter informações e registrar o hub IoT:
Provisioning API Version: 1.2.7 Registering... Press enter key to interrupt. Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING Registration Information received from service: test-docs-hub.azure-devices.net, deviceId: test-docs-cert-device
No portal do Azure, selecione a guia Visão geral da instância do Serviço de Provisionamento de Dispositivos.
Copie o valor de Escopo da ID.
Em um prompt de comando, altere os diretórios para o diretório do projeto de exemplo de provisionamento do dispositivo TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Execute o comando a seguir para registrar seu dispositivo. Substitua
<IdScope>pelo valor do DPS que você copiou e<RegistrationId>pelo valor que você usou ao criar o registro do dispositivo.dotnet run -- -s <IdScope> -r <RegistrationId>Se o registro do dispositivo tiver sido bem-sucedido, você verá as seguintes mensagens:
Initializing security using the local TPM... Initializing the device provisioning client... Initialized for registration Id <RegistrationId>. Registering with the device provisioning service... Registration status: Assigned. Device <RegistrationId> registered to <HubName>.azure-devices.net. Creating TPM authentication for IoT Hub... Testing the provisioned device with IoT Hub... Sending a telemetry message... Finished.
No portal do Azure, selecione a guia Visão geral da instância do Serviço de Provisionamento de Dispositivos.
Copie o valor de Escopo da ID.
Abra um editor de texto de sua escolha.
Na pasta registerdevice, crie um arquivo RegisterDevice.js.
Adicione as seguintes instruções
requireno início do arquivo RegisterDevice.js:'use strict'; var ProvisioningTransport = require('azure-iot-provisioning-device-http').Http; var iotHubTransport = require('azure-iot-device-mqtt').Mqtt; var Client = require('azure-iot-device').Client; var Message = require('azure-iot-device').Message; var tpmSecurity = require('azure-iot-security-tpm'); var ProvisioningDeviceClient = require('azure-iot-provisioning-device').ProvisioningDeviceClient;Observação
O SDK do IoT do Azure para Node.js dá suporte a outros protocolos, como AMQP, AMQP WS e MQTT WS. Para obter mais exemplos, consulte SDK do serviço de provisionamento de dispositivos para obter exemplos de Node.js.
Adicione as variáveis globalDeviceEndpoint e idScope e use-as para criar uma instância ProvisioningDeviceClient. Substitua {globalDeviceEndpoint} e {idScope} pelos valores de ponto de extremidade do dispositivo global e Escopo de ID da Etapa 1:
var provisioningHost = '{globalDeviceEndpoint}'; var idScope = '{idScope}'; var tssJs = require("tss.js"); var securityClient = new tpmSecurity.TpmSecurityClient('', new tssJs.Tpm(true)); // if using non-simulated device, replace the above line with following: //var securityClient = new tpmSecurity.TpmSecurityClient(); var provisioningClient = ProvisioningDeviceClient.create(provisioningHost, idScope, new ProvisioningTransport(), securityClient);Adicione a seguinte função para implementar o método no dispositivo:
provisioningClient.register(function(err, result) { if (err) { console.log("error registering device: " + err); } else { console.log('registration succeeded'); console.log('assigned hub=' + result.registrationState.assignedHub); console.log('deviceId=' + result.registrationState.deviceId); var tpmAuthenticationProvider = tpmSecurity.TpmAuthenticationProvider.fromTpmSecurityClient(result.registrationState.deviceId, result.registrationState.assignedHub, securityClient); var hubClient = Client.fromAuthenticationProvider(tpmAuthenticationProvider, iotHubTransport); var connectCallback = function (err) { if (err) { console.error('Could not connect: ' + err.message); } else { console.log('Client connected'); var message = new Message('Hello world'); hubClient.sendEvent(message, printResultFor('send')); } }; hubClient.open(connectCallback); function printResultFor(op) { return function printResult(err, res) { if (err) console.log(op + ' error: ' + err.toString()); if (res) console.log(op + ' status: ' + res.constructor.name); process.exit(1); }; } } });Salve e feche o arquivo RegisterDevice.js.
Execute o comando a seguir:
node RegisterDevice.jsObserve as mensagens que simulam a inicialização e a conexão do dispositivo com o Serviço de Provisionamento de Dispositivos para obter as informações do Hub IoT.
Na janela de comandos que executa o código de exemplo do Java no seu computador, pressione Enter para continuar a execução do aplicativo. Observe as mensagens que simulam a inicialização e a conexão do dispositivo com o Serviço de Provisionamento de Dispositivos para obter as informações do Hub IoT.
Confirmar o registro de provisionamento de dispositivos
Entre no portal do Azure.
No menu à esquerda ou na página do portal, selecione Todos os recursos.
Selecione o hub IoT ao qual o dispositivo foi atribuído.
Na seção Gerenciamento de dispositivos, selecione Dispositivos.
Se o dispositivo tiver sido provisionado com êxito, a ID do dispositivo deverá aparecer na lista, com o Status definido como Habilitado. Se você não vir seu dispositivo, selecione Atualizar na parte superior do painel.
Observação
Se você tiver alterado o estado de dispositivo gêmeo inicial do valor padrão na entrada de registro para o seu dispositivo, pode receber o estado desejado duas do hub e agir de acordo. Para saber mais, veja Noções básicas e uso de dispositivos gêmeos no Hub IoT.
Limpar os recursos
Se planejar continuar trabalhando e explorando o dispositivo cliente de exemplo, não limpe os recursos criados neste início rápido. Se não quiser continuar, use as etapas a seguir para excluir todos os recursos criados por este guia de início rápido.
Excluir o registro do dispositivo
Feche a janela de saída de exemplo de dispositivo cliente em seu computador.
No menu do portal no portal do Azure, selecione Todos os recursos.
Selecione sua instância do Serviço de Provisionamento de Dispositivos.
No menu de serviço, em Configurações, selecione Gerenciar registros.
No painel de trabalho, selecione a guia Registros individuais .
Marque a caixa de seleção ao lado da ID de registro do dispositivo em que você se inscreveu neste guia de início rápido.
Na parte superior do painel, selecione Excluir.
Excluir o registro do dispositivo do Hub IoT
No menu do portal no portal do Azure, selecione Todos os recursos.
Selecione seu Hub IoT.
No menu de serviço, em Gerenciamento de dispositivos, selecione Dispositivos.
Marque a caixa de seleção ao lado da ID do dispositivo do dispositivo inscrito neste guia de início rápido.
Na parte superior do painel, selecione Excluir.
Próximas etapas
Neste início rápido, você provisionou um único dispositivo para o hub IoT usando um registro individual. A seguir, aprenda como provisionar vários dispositivos IoT em vários hubs.