Краткое руководство. Подготовка имитированного устройства с использованием симметричных ключей

В этом кратком руководстве вы создадите имитированное устройство на компьютере с Windows. Имитированное устройство настроено для использования механизма аттестации симметричного ключа для проверки подлинности. После настройки устройства вы подготовите его к Центру Интернета вещей с помощью службы подготовки устройств Центр Интернета вещей Azure.

Если вы не знакомы с процессом подготовки, см. раздел Процесс подготовки.

В этом кратком руководстве показано решение для рабочей станции под управлением Windows. Но эти процедуры можно выполнить и в Linux. Пример Linux см. в руководстве по подготовке к географической задержке.

Необходимые компоненты

  • Установите пакет SDK для .NET 6.0 или более поздней версии на компьютере под управлением Windows. Вы можете проверить установленную версию с помощью приведенной ниже команды.

    dotnet --info
    
  • Установите Python 3.7 или более поздней версии на компьютер под управлением Windows. Вы можете проверить версию Python, выполнив команду python --version.
  • Установите последнюю версию Git. Обязательно добавьте GIT в переменные среды, доступные в командном окне. Последнюю версию средств git для установки, которая включает Git Bash (приложение командной строки для взаимодействия с локальным репозиторием GIT), можно найти на этой странице.

Подготовка среды разработки

В этом разделе описана подготовка среды разработки, которая используется для создания пакета SDK для Azure IoT C. Пример кода пытается подготовить устройство во время последовательности загрузки устройства.

  1. Скачайте последнюю версию системы сборки CMake.

    Внимание

    Перед установкой CMake важно установить на компьютер необходимые компоненты Visual Studio (Visual Studio и рабочую нагрузку "Разработка классических приложений на C++"). После установки компонентов и проверки загрузки установите систему сборки CMake. Кроме того, обратите внимание, что в предыдущих версиях системы сборки CMake нельзя создать файл решения, используемый в этой статье. Обязательно используйте последнюю версию CMake.

  2. Откройте веб-браузер и перейдите на страницу выпусков пакета SDK Интернета вещей Azure для C.

  3. Выберите вкладку Теги в верхней части страницы.

  4. Скопируйте имя тега для последнего выпуска пакета SDK Интернета вещей Azure для C.

  5. Откройте командную строку или оболочку Git Bash. Выполните следующие команды, чтобы клонировать последний выпуск пакета SDK для устройств Интернета вещей Azure для репозитория GitHub. Замените <release-tag> тегом, скопированным на предыдущем шаге, например: 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
    

    Выполнение этой операции займет несколько минут.

  6. После завершения операции выполните следующие команды в каталоге azure-iot-sdk-c:

    mkdir cmake
    cd cmake
    
  7. В примере кода для предоставления аттестации используется симметричный ключ. Выполните приведенную ниже команду, чтобы создать версию пакета SDK для используемой клиентской платформы разработки, которая включает клиент подготовки устройств.

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

    Совет

    Если cmake не может найти компилятор C++, могут возникнуть ошибки сборки во время выполнения приведенной выше команды. В этом случае попробуйте, выполнить эту команду в командной строке Visual Studio.

  8. После успешного завершения сборки последние несколько выходных строк выглядят следующим образом:

    $ 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. Откройте среду командной строки Git CMD или Git Bash.

  2. Клонируйте репозиторий Azure IoT SDK для C# GitHub с помощью следующей команды:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Откройте среду командной строки Git CMD или Git Bash.

  2. Клонируйте репозиторий GitHub пакета SDK Azure IoT для Node.js с помощью следующей команды:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Откройте среду командной строки Git CMD или Git Bash.

  2. Клонируйте репозиторий GitHub пакета SDK Интернета вещей Azure для Python с помощью следующей команды:

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

    Примечание.

    Примеры, используемые в этом руководстве, находятся в ветви версии 2 репозитория azure-iot-sdk-python. Версия 3 пакета SDK для Python доступна для использования в бета-версии.

  1. Откройте среду командной строки Git CMD или Git Bash.

  2. Клонируйте репозиторий GitHub пакета SDK Интернета вещей Azure для Java с помощью следующей команды:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Перейдите в корневой каталог azure-iot-sdk-java и создайте проект для скачивания всех необходимых пакетов. Этот шаг может занять несколько минут.

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

Создание регистрации устройств

Служба подготовки устройств Интернета вещей Azure поддерживает два типа регистрации:

В этой статье описана отдельная регистрация для одного устройства, которое нужно подготовить с помощью центра Интернета вещей.

  1. Войдите на портал Azure и перейдите к своему экземпляру службы подготовки устройств.

  2. Выберите "Управление регистрацией" в разделе Параметры меню навигации.

  3. Перейдите на вкладку "Отдельные регистрации" , а затем нажмите кнопку "Добавить отдельную регистрацию".

    Screenshot that shows the add individual enrollment option.

  4. На странице "Регистрация и подготовка" страницы "Добавление регистрации" укажите следующие сведения, чтобы настроить сведения о регистрации:

    Поле Description
    Аттестации Выберите симметричный ключ в качестве механизма аттестации.
    Параметры симметричного ключа Установите флажок "Создать симметричные ключи" автоматически, если вы хотите использовать случайные созданные ключи. Если вы хотите предоставить собственные ключи проверка это поле.
    Идентификатор регистрации. Укажите уникальный идентификатор регистрации для устройства.
    Состояние подготовки Установите флажок "Включить эту регистрацию", если вы хотите, чтобы эта регистрация была доступна для подготовки устройства. Если вы хотите отключить регистрацию проверка это поле. Этот параметр можно изменить позже.
    Политика повторной подготовки Выберите политику повторной подготовки, которая отражает способ обработки устройств, запрашивающих повторную подготовку. Дополнительные сведения см. в разделе "Политики повторной подготовки".
  5. Нажмите кнопку Далее: Центры Интернета вещей.

  6. На вкладке Центров Интернета вещей на странице "Добавление регистрации" укажите следующие сведения, чтобы определить, какие центры Интернета вещей могут подготавливать устройства для:

    Поле Description
    Целевые центры Интернета вещей Выберите один или несколько связанных центров Интернета вещей или добавьте новую ссылку на Центр Интернета вещей. Дополнительные сведения о связывании центров Интернета вещей с экземпляром DPS см. в статье "Как связать центры Интернета вещей и управлять ими".
    Политика выделения Если выбрано несколько связанных центров Интернета вещей, выберите способ назначения устройств разным центрам. Дополнительные сведения о политиках выделения см. в статье "Использование политик выделения".

    Если выбран только один связанный центр Интернета вещей, рекомендуется использовать политику равномерного распределения .
  7. Нажмите кнопку "Далее": параметры устройства

  8. На вкладке "Параметры устройства" на странице "Добавление регистрации " укажите следующие сведения, чтобы определить, как будут настроены недавно подготовленные устройства:

    Поле Description
    Идентификатор устройства Укажите идентификатор устройства, который будет назначен подготовленному устройству в Центр Интернета вещей. Если идентификатор устройства не указан, будет использоваться идентификатор регистрации.
    IoT Edge Проверьте включение IoT Edge на подготовленных устройствах, если подготовленное устройство будет запускать Azure IoT Edge. Не проверка это поле, если эта регистрация используется для устройства с поддержкой IoT Edge.
    Теги устройств Используйте это текстовое поле для предоставления тегов, которые необходимо применить к двойнику устройства подготовленного устройства.
    Требуемые свойства Используйте это текстовое поле для предоставления необходимых свойств, которые необходимо применить к двойнику устройства подготовленного устройства.

    См. общие сведения о двойниках устройств и их использовании в Центре Интернета вещей.

  9. По завершении выберите Next: Отзыв и создание.

  10. На вкладке "Просмотр и создание " проверьте все значения и нажмите кнопку "Создать".

После создания отдельной регистрации создается первичный ключ и вторичный ключ и добавляется в запись регистрации. В этом кратком руководстве вы используете первичный ключ в примере устройства.

  1. Чтобы просмотреть имитированную регистрацию устройства симметричного ключа, перейдите на вкладку "Отдельные регистрации ".

  2. Выберите идентификатор регистрации устройства в списке отдельных регистраций.

  3. Скопируйте значение созданного первичного ключа.

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

Подготовка и выполнение кода для подготовки устройства

В этом разделе вы обновите пример кода устройства, чтобы отправить последовательность загрузки устройства в экземпляр службы подготовки устройств. Эта последовательность загрузки приводит к тому, что устройство распознается, проходит проверку подлинности и назначается центру Интернета вещей, связанному с экземпляром службы подготовки устройств.

В примере кода подготовки в указанном порядке выполняются следующие задачи:

  1. Проверяется подлинность устройства с помощью ресурса подготовки устройств и следующих трех параметров:

    • область идентификатора службы Подготовки устройств;
    • идентификатор регистрации для регистрации устройства;
    • первичный симметричный ключ для регистрации устройства.
  2. Назначается устройство для центра Интернета вещей, уже связанного с экземпляром службы Подготовки устройств.

Чтобы указать в примере подготовки сведения об устройстве и выполнить его:

  1. В главном меню Службы подготовки устройств выберите элемент Обзор.

  2. Скопируйте значение параметра Область идентификатора.

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

  3. В Visual Studio откройте файл решения azure_iot_sdks.sln, который был создан в результате запуска CMake. Файл решения должен находиться в следующем расположении:

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

    Совет

    Если файл не был создан в каталоге cmake, убедитесь, что используется последняя версия системы сборки CMake.

  4. В окне Обозреватель решений Visual Studio перейдите в папку Provision_Samples. Разверните пример проекта с именем prov_dev_client_sample. Разверните исходные файлы и откройте prov_dev_client_sample.c.

  5. Найдите константу и замените id_scope значение области идентификатора, скопированное на шаге 2.

    static const char* id_scope = "0ne00002193";
    
  6. Найдите определение функции main() в том же файле. Убедитесь, hsm_type что переменная имеет SECURE_DEVICE_TYPE_SYMMETRIC_KEY значение, как показано в следующем примере:

    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. Найдите вызов prov_dev_set_symmetric_key_info() в prov_dev_client_sample.c , который закомментирован.

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

    Раскомментируйте вызов функции и замените значения заполнителей (включая угловые скобки) идентификатором регистрации устройства и значением первичного ключа, скопированным ранее.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Сохраните файл.

  9. Щелкните правой кнопкой мыши проект prov_dev_client_sample и выберите "Задать в качестве запускаемого проекта".

  10. В меню Visual Studio выберите Отладка>Запуск без отладки, чтобы запустить решение. При появлении запроса на перестройку проекта щелкните Да, чтобы перестроить его перед запуском.

    Следующий результат является примером успешного подключения устройства к экземпляру службы подготовки для назначения центру Интернета вещей.

    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:
    

В примере кода подготовки в указанном порядке выполняются следующие задачи:

  1. Проверяется подлинность устройства с помощью ресурса подготовки устройств и следующих трех параметров:

    • область идентификатора службы Подготовки устройств;
    • идентификатор регистрации для регистрации устройства;
    • первичный симметричный ключ для регистрации устройства.
  2. Назначается устройство для центра Интернета вещей, уже связанного с экземпляром службы Подготовки устройств.

  3. Отправляется тестовое сообщение телеметрии в центр Интернета вещей.

Чтобы указать в примере подготовки сведения об устройстве и выполнить его:

  1. В главном меню Службы подготовки устройств выберите элемент Обзор.

  2. Скопируйте значение параметра Область идентификатора.

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

  3. Откройте командную строку и перейдите в файл SymmetricKeySample в клонированного репозитория пакета SDK:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. В папке SymmetricKeySample откройте файл Parameters.cs в текстовом редакторе. В этом файле показаны доступные параметры для примера. При запуске примера используются только первые три обязательных параметра. Просмотрите код в этом файле. Изменения не требуются.

    Параметр Обязательное поле Описание
    --i или --IdScope Истина Область идентификатора экземпляра DPS
    --r или --RegistrationId Истина Идентификатор регистрации — это нечувствительная строка регистра (до 128 символов длиной) буквенно-цифровых символов, а также специальные символы: '-', '.', '_'. ':' Последний символ должен быть буквенно-цифровым или дефисом ('-').
    --p или --PrimaryKey Истина Первичный ключ отдельной регистрации или производный ключ устройства для регистрации группы. Сведения о создании производного ключа см. в разделе ComputeDerivedSymmetricKeySample .
    --g или --GlobalDeviceEndpoint False Глобальная конечная точка для подключения устройств. По умолчанию — global.azure-devices-provisioning.net.
    --t или --TransportType False Транспортный протокол, используемый для связи с экземпляром подготовки устройства. По умолчанию — Mqtt. Возможные значения: Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, Amqp_Tcp_only и Http1.
  5. В папке SymmetricKeySample откройте файл ProvisioningDeviceClientSample.cs в текстовом редакторе. В этом файле показано, как класс SecurityProviderSymmetricKey используется вместе с классом ProvisioningDeviceClient для подготовки имитированного устройства симметричного ключа. Просмотрите код в этом файле. Изменения не требуются.

  6. Выполните сборку и запуск примера кода с помощью следующей команды:

    • Замените <id-scope> область идентификатора, скопированную на шаге 2.
    • Замените <registration-id> идентификатором регистрации, предоставленным для регистрации устройства.
    • Замените <primarykey> первичный ключ, скопированный из регистрации устройства.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Теперь должен отобразиться результат, аналогичный приведенному ниже. Строка TestMessage отправляется в центр в качестве тестового сообщения.

    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.
    

В примере кода подготовки в указанном порядке выполняются следующие задачи:

  1. Проверяется подлинность устройства с помощью ресурса подготовки устройств и следующих четырех параметров:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Назначается устройство для центра Интернета вещей, уже связанного с экземпляром службы Подготовки устройств.

  3. Отправляется тестовое сообщение телеметрии в центр Интернета вещей.

Чтобы указать в примере подготовки сведения об устройстве и выполнить его:

  1. В главном меню Службы подготовки устройств выберите элемент Обзор.

  2. Скопируйте значения параметров Область идентификатора и Глобальная конечная точка устройства.

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

  3. Откройте командную строку для команд Node.js и перейдите в следующий каталог:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. В папке provisioning/device/samples откройте register_symkey.js и проверьте код. Обратите внимание, что пример кода задает пользовательские полезные данные:

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

    Вы можете закомментировать этот код, так как он не нужен для этого краткого руководства. Для назначения устройства центру Интернета вещей требуется пользовательский полезный объем полезных данных. Дополнительные сведения см. в руководстве . Использование пользовательских политик выделения.

    Метод provisioningClient.register() пытается зарегистрировать устройство.

    Другие изменения не требуются.

  5. В командной строке выполните следующие команды, чтобы задать переменные среды, используемые примером:

    • Замените <provisioning-global-endpoint> глобальной конечной точкой устройства, скопированной на шаге 2.
    • Замените <id-scope> область идентификатора, скопированную на шаге 2.
    • Замените <registration-id> идентификатором регистрации, предоставленным для регистрации устройства.
    • Замените <primarykey> первичный ключ, скопированный из регистрации устройства.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Выполните сборку примера кода и выполните его с помощью следующей команды:

     npm install
    
    node register_symkey.js
    
  7. Теперь должен отобразиться результат, аналогичный приведенному ниже. Строка Hello World отправляется в центр как тестовое сообщение.

    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
    

В примере кода подготовки в указанном порядке выполняются следующие задачи:

  1. Проверяется подлинность устройства с помощью ресурса подготовки устройств и следующих четырех параметров:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Назначается устройство для центра Интернета вещей, уже связанного с экземпляром службы Подготовки устройств.

  3. Отправляется тестовое сообщение телеметрии в центр Интернета вещей.

Чтобы указать в примере подготовки сведения об устройстве и выполнить его:

  1. В главном меню Службы подготовки устройств выберите элемент Обзор.

  2. Скопируйте значения параметров Область идентификатора и Глобальная конечная точка устройства.

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

  3. Откройте командную строку и перейдите в каталог, где находится пример файла, provision_symmetric_key.py.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. В командной строке выполните следующие команды, чтобы задать переменные среды, используемые примером:

    • Замените <provisioning-global-endpoint> глобальной конечной точкой устройства, скопированной на шаге 2.
    • Замените <id-scope> область идентификатора, скопированную на шаге 2.
    • Замените <registration-id> идентификатором регистрации, предоставленным для регистрации устройства.
    • Замените <primarykey> первичный ключ, скопированный из регистрации устройства.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Установите библиотеку azure-iot-device, выполнив следующую команду:

    pip install azure-iot-device
    
  6. Запустите пример кода Python в provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. Теперь должен отобразиться результат, аналогичный приведенному ниже. Также для тестирования в этот центр отправляется несколько примеров сообщений телеметрии с информацией о скорости ветра.

    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
    

В примере кода подготовки в указанном порядке выполняются следующие задачи:

  1. Проверяется подлинность устройства с помощью ресурса подготовки устройств и следующих четырех параметров:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Назначается устройство для центра Интернета вещей, уже связанного с экземпляром службы Подготовки устройств.

  3. Отправляется тестовое сообщение телеметрии в центр Интернета вещей.

Чтобы указать в примере подготовки сведения об устройстве и выполнить его:

  1. В главном меню Службы подготовки устройств выберите элемент Обзор.

  2. Скопируйте значения параметров Область идентификатора и Глобальная конечная точка устройства. Эти значения являются вашими SCOPE_ID и GLOBAL_ENDPOINT параметрами соответственно.

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

  3. Откройте пример кода для устройства Java для редактирования. Полный путь к примеру кода устройства:

    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. Задайте значение следующих переменных для регистрации DPS и устройств:

    • Замените <id-scope> область идентификатора, скопированную на шаге 2.
    • Замените <provisioning-global-endpoint> глобальной конечной точкой устройства, скопированной на шаге 2.
    • Замените <registration-id> идентификатором регистрации, предоставленным для регистрации устройства.
    • Замените <primarykey> первичный ключ, скопированный из регистрации устройства.
    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. Откройте окно командной строки для выполнения сборки. Перейдите к папке с примером подготовки проекта в репозитории с пакетом SDK для Java.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Выполните сборку примера.

    mvn clean install
    
  7. Перейдите в папку target и выполните созданный .jar файл. В команде java замените {version} заполнитель версией в .jar имени файла на компьютере.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Теперь должен отобразиться результат, аналогичный приведенному ниже.

    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
    

Проверка регистрации подготовки устройств

  1. Переход на портал Azure.

  2. В меню слева на портале нажмите Все ресурсы.

  3. Выберите центр Интернета вещей, которому назначено устройство.

  4. В меню управления устройствами выберите "Устройства".

  5. Если устройство было подготовлено успешно, идентификатор устройства должен отображаться в списке с заданным состоянием " Включено". Если устройство не отображается, выберите команду Обновить в верхней части страницы.

    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.

Примечание.

Если в записи регистрации для своего устройства вы изменили значение по умолчанию для начального состояния двойника устройства, требуемое состояние двойника будет извлечено из концентратора с последующим выполнением соответствующих действий. См. общие сведения о двойниках устройств и их использовании в Центре Интернета вещей.

Очистка ресурсов

Если вы планируете продолжить работу с примером клиентского устройства, не удаляйте ресурсы, созданные в ходе работы с этим кратким руководством. Если вы не планируете продолжать работу, следуйте инструкциям ниже, чтобы удалить все созданные ресурсы.

Удаление регистрации устройства

  1. Закройте окно выходных данных примера клиентского устройства на компьютере.

  2. На портале Azure в меню слева выберите элемент Все ресурсы.

  3. Выберите службу Подготовки устройств.

  4. В меню Параметры выберите Управление регистрациями.

  5. Перейдите на вкладку "Отдельные регистрации ".

  6. Выберите поле проверка рядом с идентификатором регистрации устройства, зарегистрированного в этом кратком руководстве.

  7. В верхней части страницы выберите команду Удалить.

Удаление регистрации устройства из Центра Интернета вещей

  1. На портале Azure в меню слева выберите элемент Все ресурсы.

  2. Выберите нужный Центр Интернета вещей.

  3. В меню Обозреватели выберите Устройства Интернета вещей.

  4. Выберите поле проверка рядом с идентификатором устройства, зарегистрированного в этом кратком руководстве.

  5. В верхней части страницы выберите команду Удалить.

Следующие шаги

В этом кратком руководстве вы подготовили одно устройство в Центре Интернета вещей с помощью отдельной регистрации. Далее вы узнаете, как подготовить несколько устройств в нескольких центрах.