Guia de início rápido: provisionar um dispositivo de chave simétrica simulada

Neste início rápido, você cria um dispositivo simulado em sua máquina Windows. O dispositivo simulado é configurado para usar o mecanismo de atestado de chave simétrica para autenticação. Depois de configurar o dispositivo, provisione-o para o hub IoT usando o Serviço de Provisionamento de Dispositivo do Hub IoT do Azure.

Se você não estiver familiarizado com o processo de provisionamento, revise a visão geral do provisionamento .

Este guia de início rápido demonstra uma solução para uma estação de trabalho baseada no Windows. No entanto, você também pode executar os procedimentos no Linux. Para obter um exemplo de Linux, consulte Tutorial: provisão para latência geográfica.

Pré-requisitos

  • Instale o .NET SDK 6.0 ou posterior em sua máquina baseada no Windows. Você pode usar o seguinte comando para verificar sua versão.

    dotnet --info
    
  • Instale o Python 3.7 ou posterior instalado em sua máquina baseada no Windows. Você pode verificar sua versão do Python executando python --version.
  • Instale a versão mais recente do Git. Certifique-se de que o Git é adicionado às variáveis de ambiente acessíveis à janela de comando. Consulte as ferramentas de cliente Git da Software Freedom Conservancy para obter a versão mais recente das ferramentas a serem instaladas, que inclui o Git Bash, o aplicativo de linha de git comando que você pode usar para interagir com seu repositório Git local.

Preparar o ambiente de desenvolvimento

Nesta seção, você prepara um ambiente de desenvolvimento usado para criar o SDK do Azure IoT C. O código de exemplo tenta provisionar o dispositivo, durante a sequência de inicialização do dispositivo.

  1. Faça o download do mais recente sistema de compilação CMake.

    Importante

    Confirme se os pré-requisitos do Visual Studio (Visual Studio e a carga de trabalho 'Desenvolvimento de área de trabalho com C++') estão instalados em sua máquina, antes de iniciar a CMake instalação. Depois de os pré-requisitos estarem assegurados e a transferência verificada, instale o sistema de compilação CMake. Além disso, esteja ciente de que versões mais antigas do sistema de compilação CMake não conseguem gerar o arquivo de solução usado neste artigo. Certifique-se de usar a versão mais recente do CMake.

  2. Abra um navegador da Web e vá para a página Lançamento do SDK do Azure IoT C.

  3. Selecione a guia Tags na parte superior da página.

  4. Copie o nome da marca para a versão mais recente do Azure IoT C SDK.

  5. Abra uma linha de comandos ou a shell do Git Bash. Execute os comandos a seguir para clonar a versão mais recente do SDK do Dispositivo IoT do Azure para o repositório C GitHub. Substitua <release-tag> pela tag copiada na etapa anterior, por exemplo: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    Esta operação pode levar vários minutos para ser concluída.

  6. Quando a operação estiver concluída, execute os seguintes comandos a azure-iot-sdk-c partir do diretório:

    mkdir cmake
    cd cmake
    
  7. O exemplo de código usa uma chave simétrica para fornecer atestado. Execute o seguinte comando para criar uma versão do SDK específica para sua plataforma de cliente de desenvolvimento que inclua o cliente de provisionamento de dispositivo:

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    Gorjeta

    Se cmake não encontrar seu compilador C++, você pode obter erros de compilação ao executar o comando acima. Se isso acontecer, tente executar o comando no prompt de comando do Visual Studio.

  8. Quando a compilação é concluída com êxito, as últimas linhas de saída são semelhantes à seguinte saída:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. Abra um ambiente de linha de comando Git CMD ou Git Bash.

  2. Clone o SDK do Azure IoT para repositório GitHub C# usando o seguinte comando:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Abra um ambiente de linha de comando Git CMD ou Git Bash.

  2. Clone o SDK do Azure IoT para Node.js repositório GitHub usando o seguinte comando:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Abra um ambiente de linha de comando Git CMD ou Git Bash.

  2. Clone o repositório GitHub do SDK do Azure IoT para Python usando o seguinte comando:

    git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
    

    Nota

    Os exemplos usados neste tutorial estão na ramificação v2 do repositório azure-iot-sdk-python. V3 do Python SDK está disponível para uso em beta.

  1. Abra um ambiente de linha de comando Git CMD ou Git Bash.

  2. Clone o repositório do SDK do Azure IoT para Java GitHub usando o seguinte comando:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Vá para o diretório raiz azure-iot-sdk-java e construa o projeto para baixar todos os pacotes necessários. Esta etapa pode levar vários minutos para ser concluída.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

Criar um registro de dispositivo

O Serviço Aprovisionamento de Dispositivos no IoT do Azure suporta dois tipos de inscrição:

Este artigo demonstra um registro individual para um único dispositivo a ser provisionado com um hub IoT.

  1. Entre no portal do Azure e navegue até sua instância do Serviço de Provisionamento de Dispositivo.

  2. Selecione Gerenciar inscrições na seção Configurações do menu de navegação.

  3. Selecione a guia Inscrições individuais e, em seguida, selecione Adicionar inscrição individual.

    Screenshot that shows the add individual enrollment option.

  4. Na página Registro + provisionamento da página Adicionar registro, forneça as seguintes informações para configurar os detalhes do registro:

    Campo Descrição
    Atestado Selecione Chave simétrica como o mecanismo de atestado.
    Configurações de chave simétrica Marque a caixa Gerar chaves simétricas automaticamente se quiser usar chaves geradas aleatoriamente. Desmarque esta caixa se quiser fornecer as suas próprias chaves.
    ID de registo Forneça um ID de registro exclusivo para o dispositivo.
    Status de provisionamento Marque a caixa Habilitar este registro se quiser que esse registro esteja disponível para provisionar seu dispositivo. Desmarque esta caixa se quiser que a inscrição seja desativada. Você pode alterar essa configuração mais tarde.
    Política de reaprovisionamento Escolha uma política de reprovisionamento que reflita como você deseja que o DPS manipule dispositivos que solicitam reprovisionamento. Para obter mais informações, consulte Políticas de reprovisionamento.
  5. Selecione Next: Hubs IoT.

  6. 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 hubs IoT vinculados ou adicione um novo link a um hub IoT. Para saber mais sobre como vincular hubs IoT à sua instância DPS, consulte Como vincular e gerenciar hubs IoT.
    Política de afetaçã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, consulte Como usar políticas de alocação.

    Se você selecionou apenas um hub IoT vinculado, recomendamos usar a política de distribuição ponderada uniformemente.
  7. Selecione Next: Configurações do dispositivo

  8. Na guia Configurações do dispositivo da página Adicionar registro, forneça as seguintes informações para definir como os dispositivos recém-provisionados serão configurados:

    Campo Descrição
    ID do Dispositivo Forneça um ID de dispositivo que será atribuído ao dispositivo provisionado no Hub IoT. Se não fornecer um ID de dispositivo, o ID de registo será utilizado.
    IoT Edge Verifique a opção Habilitar o IoT Edge em dispositivos provisionados se o dispositivo provisionado executará o Azure IoT Edge. Desmarque esta caixa se este registro for para um dispositivo não habilitado para IoT Edge.
    Tags de dispositivo Use esta caixa de texto para fornecer as tags que você deseja aplicar ao gêmeo de dispositivo do dispositivo provisionado.
    Propriedades desejadas Use esta caixa de texto para fornecer as propriedades desejadas que você deseja aplicar ao gêmeo de dispositivo do dispositivo provisionado.

    Para obter mais informações, veja Understand and use device twins in IoT Hub (Compreender e utilizar dispositivos duplos no Hub IoT).

  9. Selecione Seguinte: Rever + criar.

  10. No separador Rever + criar, verifique todos os seus valores e, em seguida, selecione Criar.

Depois de criar o registro individual, uma chave primária e uma chave secundária são geradas e adicionadas à entrada de registro. Use a chave primária no exemplo de dispositivo posteriormente neste início rápido.

  1. Para visualizar o registro simulado do dispositivo de chave simétrica, selecione a guia Inscrições individuais.

  2. Selecione o ID de registro do seu dispositivo na lista de inscrições individuais.

  3. Copie o valor da chave primária gerada.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

Preparar e executar o código de provisionamento do dispositivo

Nesta seção, você atualiza o código de exemplo do dispositivo para enviar a sequência de inicialização do dispositivo para sua instância do Serviço de Provisionamento de Dispositivo. Essa sequência de inicialização faz com que o dispositivo seja reconhecido, autenticado e atribuído a um hub IoT vinculado à instância do Serviço de Provisionamento de Dispositivo.

O código de provisionamento de exemplo realiza as seguintes tarefas, na ordem:

  1. Autentica seu dispositivo com seu recurso de provisionamento de dispositivo usando os três parâmetros a seguir:

    • O escopo de ID do seu Serviço de Provisionamento de Dispositivo
    • O ID de registo para a inscrição do dispositivo.
    • A chave simétrica principal para o registro do dispositivo.
  2. Atribui o dispositivo ao hub IoT já vinculado à sua instância do Serviço de Provisionamento de Dispositivo.

Para atualizar e executar o exemplo de provisionamento com as informações do dispositivo:

  1. No menu principal do seu Serviço de Provisionamento de Dispositivo, selecione Visão geral.

  2. Copie o valor ID Scope .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. No Visual Studio, abra o ficheiro de solução azure_iot_sdks.sln gerado ao executar o CMake. O ficheiro de solução deve estar na seguinte localização:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    Gorjeta

    Se o arquivo não foi gerado em seu diretório cmake, certifique-se de usar uma versão recente do sistema de compilação CMake.

  4. Na janela Gerenciador de Soluções do Visual Studio, vá para a pasta Provision_Samples. Expanda o projeto de exemplo chamado prov_dev_client_sample. Expanda Arquivos de origem e abra prov_dev_client_sample.c.

  5. Localize a id_scope constante e substitua o valor pelo valor ID Scope que você copiou na etapa 2.

    static const char* id_scope = "0ne00002193";
    
  6. Localize a definição da função main() no mesmo ficheiro. Verifique se a hsm_type variável está definida como SECURE_DEVICE_TYPE_SYMMETRIC_KEY 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;
    
  7. Encontre a chamada para prov_dev_set_symmetric_key_info() em prov_dev_client_sample.c que é comentada.

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

    Descomente a chamada de função e substitua os valores de espaço reservado (incluindo os colchetes angulares) pela ID de registro do dispositivo e pelo valor da chave primária copiada anteriormente.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Guarde o ficheiro.

  9. Clique com o botão direito do mouse no projeto prov_dev_client_sample e selecione Definir como projeto de inicialização.

  10. No menu do Visual Studio, selecione Debug (Depurar) >Start without debugging (Iniciar sem depuração) para executar a solução. No prompt de reconstrução do projeto, selecione Sim para reconstruir o projeto antes de ser executado.

    A saída a seguir é um exemplo do dispositivo que se conecta com êxito à instância do Serviço de provisionamento a ser atribuída a um hub IoT:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

O código de provisionamento de exemplo realiza as seguintes tarefas:

  1. Autentica seu dispositivo com seu recurso de provisionamento de dispositivo usando os três parâmetros a seguir:

    • O escopo de ID do seu Serviço de Provisionamento de Dispositivo
    • O ID de registo para a inscrição do dispositivo.
    • A chave simétrica principal para o registro do dispositivo.
  2. Atribui o dispositivo ao hub IoT já vinculado à sua instância do Serviço de Provisionamento de Dispositivo.

  3. Envia uma mensagem de telemetria de teste para o hub IoT.

Para atualizar e executar o exemplo de provisionamento com as informações do dispositivo:

  1. No menu principal do seu Serviço de Provisionamento de Dispositivo, selecione Visão geral.

  2. Copie o valor ID Scope .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Abra um prompt de comando e vá para o SymmetricKeySample no repositório sdk clonado:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. Na pasta SymmetricKeySample, abra Parameters.cs em um editor de texto. Este arquivo mostra os parâmetros disponíveis para o exemplo. Somente os três primeiros parâmetros necessários são usados neste artigo ao executar o exemplo. Revise o código neste arquivo. Não são necessárias alterações.

    Parâmetro Necessário Description
    --i ou --IdScope True O escopo de ID da instância do DPS
    --r ou --RegistrationId True O ID de registo é uma cadeia de caracteres que não diferencia maiúsculas de minúsculas (até 128 caracteres) de carateres alfanuméricos mais os carateres especiais: '-', '.', '_', ':'. O último caractere deve ser alfanumérico ou traço ('-').
    --p ou --PrimaryKey True A chave primária do registro individual ou a chave de dispositivo derivada do registro do grupo. Consulte ComputeDerivedSymmetricKeySample para saber como gerar a chave derivada.
    --g ou --GlobalDeviceEndpoint False O ponto de extremidade global ao qual os dispositivos devem se conectar. O padrão é global.azure-devices-provisioning.net
    --t ou --TransportType False O transporte a ser usado para se comunicar com a instância de provisionamento de dispositivo. O padrão é Mqtt. Os valores possíveis incluem Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, Amqp_Tcp_onlye Http1.
  5. Na pasta SymmetricKeySample, abra ProvisioningDeviceClientSample.cs em um editor de texto. Este arquivo mostra como a classe SecurityProviderSymmetricKey é usada junto com a classe ProvisioningDeviceClient para provisionar seu dispositivo de chave simétrica simulada. Revise o código neste arquivo. Não são necessárias alterações.

  6. Crie e execute o código de exemplo usando o seguinte comando:

    • Substitua <id-scope> pelo escopo de ID que você copiou na etapa 2.
    • Substitua <registration-id> pela ID de Registro fornecida para o registro do dispositivo.
    • Substitua <primarykey>pela Chave Primária copiada do registro do dispositivo.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Agora você deve ver algo semelhante à saída a seguir. Uma cadeia de caracteres "TestMessage" é enviada para o hub como uma mensagem de teste.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

O código de provisionamento de exemplo realiza as seguintes tarefas, na ordem:

  1. Autentica seu dispositivo com seu recurso de provisionamento de dispositivo usando os quatro parâmetros a seguir:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Atribui o dispositivo ao hub IoT já vinculado à sua instância do Serviço de Provisionamento de Dispositivo.

  3. Envia uma mensagem de telemetria de teste para o hub IoT.

Para atualizar e executar o exemplo de provisionamento com as informações do dispositivo:

  1. No menu principal do seu Serviço de Provisionamento de Dispositivo, selecione Visão geral.

  2. Copie os valores de ID Scope e Global device endpoint .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Abra um prompt de comando para executar comandos Node.js e vá para o seguinte diretório:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. Na pasta provisionamento/dispositivo/exemplos, abra register_symkey.js e revise o código. Observe que o código de exemplo define uma carga útil personalizada:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

    Você pode comentar este código, pois ele não é necessário para este início rápido. Uma carga personalizada seria necessária para usar uma função de alocação personalizada para atribuir seu dispositivo a um hub IoT. Para obter mais informações, consulte Tutorial: Usar políticas de alocação personalizadas.

    O provisioningClient.register() método tenta o registo do seu dispositivo.

    Não são necessárias mais alterações.

  5. No prompt de comando, execute os seguintes comandos para definir as variáveis de ambiente usadas pelo exemplo:

    • Substitua <provisioning-global-endpoint>pelo ponto de extremidade de dispositivo global que você copiou na etapa 2.
    • Substitua <id-scope> pelo escopo de ID que você copiou na etapa 2.
    • Substitua <registration-id> pela ID de Registro fornecida para o registro do dispositivo.
    • Substitua <primarykey>pela Chave Primária copiada do registro do dispositivo.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Crie e execute o código de exemplo usando os seguintes comandos:

     npm install
    
    node register_symkey.js
    
  7. Agora você deve ver algo semelhante à saída a seguir. Uma cadeia de caracteres "Hello World" é enviada para o hub como uma mensagem de teste.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

O código de provisionamento de exemplo realiza as seguintes tarefas, na ordem:

  1. Autentica seu dispositivo com seu recurso de provisionamento de dispositivo usando os quatro parâmetros a seguir:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Atribui o dispositivo ao hub IoT já vinculado à sua instância do Serviço de Provisionamento de Dispositivo.

  3. Envia uma mensagem de telemetria de teste para o hub IoT.

Para atualizar e executar o exemplo de provisionamento com as informações do dispositivo:

  1. No menu principal do seu Serviço de Provisionamento de Dispositivo, selecione Visão geral.

  2. Copie os valores de ID Scope e Global device endpoint .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Abra um prompt de comando e vá para o diretório onde o arquivo de exemplo, provision_symmetric_key.py, está localizado.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. No prompt de comando, execute os seguintes comandos para definir as variáveis de ambiente usadas pelo exemplo:

    • Substitua <provisioning-global-endpoint>pelo ponto de extremidade de dispositivo global que você copiou na etapa 2.
    • Substitua <id-scope> pelo escopo de ID que você copiou na etapa 2.
    • Substitua <registration-id> pela ID de Registro fornecida para o registro do dispositivo.
    • Substitua <primarykey>pela Chave Primária copiada do registro do dispositivo.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Instale a biblioteca azure-iot-device executando o seguinte comando.

    pip install azure-iot-device
    
  6. Execute o código de exemplo Python no provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. Agora você deve ver algo semelhante à saída a seguir. Alguns exemplos de mensagens de telemetria de velocidade do vento também são enviadas para o hub como um teste.

    D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    python-device-008
    docs-test-iot-hub.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #8
    sending message #9
    sending message #3
    sending message #10
    sending message #4
    sending message #2
    sending message #6
    sending message #7
    sending message #1
    sending message #5
    done sending message #8
    done sending message #9
    done sending message #3
    done sending message #10
    done sending message #4
    done sending message #2
    done sending message #6
    done sending message #7
    done sending message #1
    done sending message #5
    

O código de provisionamento de exemplo realiza as seguintes tarefas, na ordem:

  1. Autentica seu dispositivo com seu recurso de provisionamento de dispositivo usando os quatro parâmetros a seguir:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Atribui o dispositivo ao hub IoT já vinculado à sua instância do Serviço de Provisionamento de Dispositivo.

  3. Envia uma mensagem de telemetria de teste para o hub IoT.

Para atualizar e executar o exemplo de provisionamento com as informações do dispositivo:

  1. No menu principal do seu Serviço de Provisionamento de Dispositivo, selecione Visão geral.

  2. Copie os valores de ID Scope e Global device endpoint . Esses valores são seus SCOPE_ID e GLOBAL_ENDPOINT parâmetros, respectivamente.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Abra o código de exemplo do dispositivo Java para edição. O caminho completo para o código de exemplo do dispositivo é:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. Defina o valor das seguintes variáveis para seu DPS e registro de dispositivo:

    • Substitua <id-scope> pelo escopo de ID que você copiou na etapa 2.
    • Substitua <provisioning-global-endpoint>pelo ponto de extremidade de dispositivo global que você copiou na etapa 2.
    • Substitua <registration-id> pela ID de Registro fornecida para o registro do dispositivo.
    • Substitua <primarykey>pela Chave Primária copiada do registro do dispositivo.
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. Abra um prompt de comando para a construção. Vá para a pasta de projeto de exemplo de provisionamento do repositório Java SDK.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Compile o exemplo.

    mvn clean install
    
  7. Vá para a target pasta e execute o arquivo criado .jar . No comando, substitua java o espaço reservado {version} pela versão no nome do .jar arquivo em sua máquina.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Agora você deve ver algo semelhante à saída a seguir.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

Confirme o registro de provisionamento do dispositivo

  1. Aceda ao portal do Azure.

  2. No menu à esquerda ou na página do portal, selecione Todos os recursos.

  3. Selecione o hub IoT ao qual seu dispositivo foi atribuído.

  4. No menu Gerenciamento de dispositivos, selecione Dispositivos.

  5. Se o dispositivo tiver sido provisionado com êxito, o ID do dispositivo deverá aparecer na lista, com Status definido como Habilitado. Se não vir o dispositivo, selecione Atualizar na parte superior da página.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

Nota

Se tiver alterado o estado inicial do dispositivo duplo face ao valor predefinido na entrada de inscrição do seu dispositivo, este pode extrair o estado pretendido do dispositivo duplo a partir do hub e agir em conformidade. Para obter mais informações, veja Understand and use device twins in IoT Hub (Compreender e utilizar dispositivos duplos no Hub IoT).

Clean up resources (Limpar recursos)

Se você planeja continuar trabalhando e explorando o exemplo de cliente de dispositivo, não limpe os recursos criados neste início rápido. Se você não planeja continuar, use as etapas a seguir para excluir todos os recursos criados por este início rápido.

Excluir o registro do dispositivo

  1. Feche a janela da saída do exemplo de dispositivo cliente no seu computador.

  2. No menu à esquerda no portal do Azure, selecione Todos os recursos.

  3. Selecione o Serviço de Provisionamento de Dispositivo.

  4. No menu Configurações, selecione Gerenciar inscrições.

  5. Selecione a guia Inscrições individuais.

  6. Marque a caixa de seleção ao lado da ID de registro do dispositivo que você inscreveu neste início rápido.

  7. Na parte superior da página, selecione Eliminar.

Excluir o registro do dispositivo do Hub IoT

  1. No menu à esquerda no portal do Azure, selecione Todos os recursos.

  2. Selecione seu hub IoT.

  3. No menu Explorers, selecione dispositivos IoT.

  4. Marque a caixa de seleção ao lado da ID do dispositivo que você registrou neste início rápido.

  5. Na parte superior da página, selecione Eliminar.

Próximos passos

Neste início rápido, você provisionou um único dispositivo para seu hub IoT usando um registro individual. Em seguida, saiba como provisionar vários dispositivos em vários hubs.