Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы создадите имитированное устройство на компьютере с Windows. Имитированное устройство настроено для использования механизма аттестации доверенного платформенного модуля (TPM) для проверки подлинности. После настройки устройства вы подготовите его к центру Интернета вещей с помощью службы подготовки устройств Центр Интернета вещей Azure. Затем пример кода используется для регистрации устройства с помощью экземпляра сервиса предоставления устройств.
Если вы не знакомы с процессом подготовки, см. раздел Процесс подготовки. Кроме того, перед продолжением выполните действия, описанные в кратком руководстве. Настройте службу подготовки устройств Центра Интернета вещей с помощью портала Azure .
Служба подготовки устройств Интернета вещей Azure поддерживает два типа регистрации:
группы регистрации, которые используются для регистрации нескольких связанных устройств;
Отдельные регистрации , используемые для регистрации одного устройства.
В этой статье описана индивидуальная регистрация.
Аттестация доверенного платформенного модуля (TPM) не поддерживается в пакете SDK для Python. С помощью Python можно подготовить устройство с помощью симметричного ключа или сертификатов X.509.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Выполните шаги из руководства по быстрому началу работы: настройка службы подготовки устройств концентраторов IoT с использованием портала Azure.
Приведенные ниже предварительные требования касаются среды разработки Windows. При использовании Linux или macOS ознакомьтесь с соответствующим разделом в статье Подготовка среды разработки из документации к пакету SDK.
- Visual Studio 2019 или более новой версии с включенной рабочей нагрузкой "Разработка программ для рабочих столов с помощью C++". Visual Studio 2015 или Visual Studio 2017 также поддерживаются.
Модуль безопасности оборудования TPM 2.0 на компьютере под управлением Windows.
Установите пакет SDK для .NET Core 6.0 или более поздней версии на компьютере под управлением Windows. Вы можете проверить установленную версию с помощью приведенной ниже команды.
dotnet --info
- Установите Node.js 4.0 или более поздней версии.
Установите пакет SDK для Java SE 8 или более поздней версии.
Скачайте и установите Maven.
- Установите последнюю версию Git. Обязательно добавьте GIT в переменные среды, доступные в командном окне. Последнюю версию средств для установки, которая включает
git(приложение командной строки для взаимодействия с локальным репозиторием GIT), можно найти на этой странице.
Подготовка среды разработки
В этом разделе вы готовите среду разработки, используемую для создания Azure IoT C SDK и примера устройства симулятора TPM.
Скачайте последнюю версию системы сборки CMake.
Внимание
Перед установкой
CMakeважно установить на компьютер необходимые компоненты Visual Studio (Visual Studio и рабочую нагрузку "Разработка классических приложений на C++"). После установки компонентов и проверки загрузки установите систему сборки CMake. Кроме того, старые версии системы сборки CMake не могут создать файл решения, используемый в этой статье. Обязательно используйте последнюю версию CMake.Откройте веб-браузер и перейдите на страницу выпусков пакета SDK Интернета вещей Azure для C.
Выберите вкладку Теги в верхней части страницы.
Скопируйте имя тега для последнего выпуска пакета SDK Интернета вещей Azure для C.
Откройте командную строку или оболочку Git Bash. Выполните следующие команды, чтобы клонировать последний выпуск пакета SDK для устройств Интернета вещей Azure для репозитория GitHub. Замените
<release-tag>тегом, скопированным на предыдущем шаге, например:lts_03_2025git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git cd azure-iot-sdk-c git submodule update --initВыполнение этой операции займет несколько минут.
После завершения операции выполните следующие команды в каталоге
azure-iot-sdk-c:mkdir cmake cd cmake
Откройте среду командной строки Git CMD или Git Bash.
Клонируйте репозиторий GitHub с Azure IoT SDK для .NET с помощью следующей команды:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Откройте среду командной строки Git CMD или Git Bash.
Клонируйте репозиторий GitHub azure-utpm-c с помощью следующей команды:
git clone https://github.com/Azure/azure-utpm-c.git --recursive
Откройте среду командной строки Git CMD или Git Bash.
Клонируйте репозиторий GitHub Java с помощью следующей команды:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Создание и запуск симулятора устройства доверенного платформенного модуля
В этом разделе вы создадите и запустите симулятор TPM. Симулятор ожидает передачи данных через сокет на портах 2321 и 2322. Не закрывайте командное окно. Вы должны поддерживать работу этого симулятора до конца этого краткого руководства.
Выполните приведенную ниже команду, чтобы создать пакет SDK Интернета вещей Azure для C, включающий пример кода симулятора устройства доверенного платформенного модуля. Эта команда также создает решение Visual Studio для имитированного устройства в каталоге
cmake. Этот пример содержит механизм аттестации доверенного платформенного модуля с помощью проверки подлинности по маркерам подписанного URL-адреса (SAS).cmake -Duse_prov_client:BOOL=ON -Duse_tpm_simulator:BOOL=ON ..Совет
Если
cmakeне обнаружил ваш компилятор C++, при выполнении предыдущей команды могут возникнуть ошибки сборки. В этом случае попробуйте, выполнить эту команду в командной строке Visual Studio.После успешной сборки последние несколько строк выходных данных выглядят следующим образом.
$ 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/cmakeПерейдите в корневую папку клонированного вами репозитория GIT.
Запустите симулятор TPM , используя путь, показанный в следующем примере.
cd .. .\provisioning_client\deps\utpm\tools\tpm_simulator\Simulator.exeСимулятор не отображает никаких выходных данных. Пусть продолжает выполнять имитацию устройства доверенного платформенного модуля.
Перейдите в корневую папку GitHub.
Запустите симулятор TPM, который будет выполнять роль модуля HSM для имитированного устройства.
.\azure-utpm-c\tools\tpm_simulator\Simulator.exeСоздайте пустую папку с именем registerdevice. В папке registerdevice создайте файл package.json. Для этого введите следующую команду в командной строке (обязательно ответьте на все вопросы
npmили примите значения по умолчанию, если они вам подходят):npm initУстановите следующие основные пакеты:
npm install node-gyp -g npm install ffi-napi -gПримечание.
Существуют некоторые известные проблемы при установке предыдущих пакетов. Чтобы устранить эти проблемы, выполните команду
npm install --global --production windows-build-toolsс помощью командной строки в режиме администрирования запуска от имени администратора , выполните командуSET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140после замены пути установленной версией и повторно выполните предыдущие команды установки.Установите все необходимые пакеты, выполнив следующую команду в командной строке в папке registereddevice:
npm install --save azure-iot-device azure-iot-device-mqtt azure-iot-security-tpm azure-iot-provisioning-device-http azure-iot-provisioning-deviceКоманда позволяет установить следующие пакеты:
Клиент безопасности, работающий с TPM:
azure-iot-security-tpmТранспорт для подключения устройства к службе подготовки устройств:
azure-iot-provisioning-device-httpилиazure-iot-provisioning-device-amqpКлиент для использования клиента транспорта и безопасности:
azure-iot-provisioning-deviceКлиент устройства:
azure-iot-deviceТранспорт: любой из
azure-iot-device-amqp,azure-iot-device-mqttилиazure-iot-device-httpКлиент безопасности, который вы уже установили:
azure-iot-security-tpmПримечание.
Примеры в этом кратком руководстве используют транспортировки
azure-iot-provisioning-device-httpиazure-iot-device-mqtt.
Откройте текстовый редактор по своему усмотрению.
Создайте файл ExtractDevice.js в папке registerdevice.
Добавьте следующие инструкции
requireв начало файла 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));Добавьте следующую функцию, чтобы реализовать метод:
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(); } }); } });Сохраните файл ExtractDevice.js и закройте его.
node ExtractDevice.jsЗапустите образец.
В окне вывода отображается ключ подтверждения и идентификатор регистрации , необходимый для регистрации устройства. Скопируйте эти значения.
Запустите симулятор TPM, который будет выполнять роль модуля HSM для имитированного устройства.
Выберите команду Разрешить доступ. Симулятор ожидает передачи данных через сокет на портах 2321 и 2322. Не закрывайте это командное окно; Этот симулятор должен работать до конца этого краткого руководства.
.\azure-iot-sdk-java\provisioning\provisioning-tools\tpm-simulator\Simulator.exe
Откройте второе окно командной строки.
Во втором окне командной строки перейдите к корневой папке и создайте зависимости для примера.
cd azure-iot-sdk-java mvn install -DskipTests=trueПерейдите к папке с примерами.
cd provisioning/provisioning-samples/provisioning-tpm-sample
В этом разделе вы создадите и выполните пример, который считывает ключ подтверждения и идентификатор регистрации из симулятора TPM, который вы оставили запущенным, и по-прежнему прослушивает порты 2321 и 2322. Эти значения используются для регистрации устройств в вашем экземпляре Device Provisioning Service.
Запустите Visual Studio.
Откройте решение , созданное в папке
azure_iot_sdks.sln.В меню Visual Studio выберите Построить>Построить решение для создания всех проектов в решении.
В окне Обозреватель решений Visual Studio перейдите в папку Provision_Tools. Щелкните проект tpm_device_provision правой кнопкой мыши и выберите параметр Назначить запускаемым проектом.
В меню Visual Studio выберите Отладка>Запуск без отладки, чтобы запустить решение. Приложение считывает и отображает идентификатор регистрации и ключ подтверждения. Запишите или скопируйте эти значения. Эти значения используются в следующем разделе для регистрации устройств.
Войдите на портал Azure, нажмите кнопку Все ресурсы в меню слева и откройте ваш экземпляр службы подготовки устройств. Запишите значения области идентификатора и глобальных конечных точек устройства .
Измените
src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningTpmSample.java, добавив значения параметров Область идентификатора и Provisioning Service Global Endpoint (Глобальная конечная точка службы подготовки), как было указано ранее.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;Сохраните файл.
Выполните следующие команды, чтобы выполнить сборку проекта, перейдите в целевую папку и выполните созданный JAR-файл (замените
{version}вашей версией Java):mvn clean install cd target java -jar ./provisioning-tpm-sample-{version}-with-deps.jarПри запуске программы отображается ключ подтверждения и идентификатор регистрации. Скопируйте эти значения для следующего раздела. Оставьте программу запущенной.
В этом разделе вы создадите и выполните пример, который считывает ключ подтверждения из модуля безопасности оборудования TPM 2.0. Это значение используется для подключения устройства в экземпляре Device Provisioning Service.
В окне командной строки замените каталоги на каталог проекта в примере подготовки устройства TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Введите следующую команду, чтобы создать и запустить пример подготавливаемого устройства TPM. Скопируйте ключ подтверждения, возвращенный модулем безопасности оборудования TPM 2.0, чтобы использовать его позже при регистрации устройства.
dotnet run -- -e
Войдите на портал Azure и перейдите к своему экземпляру службы подготовки устройств.
Выберите " Управление регистрациями" в разделе "Параметры " в меню навигации.
Перейдите на вкладку "Отдельные регистрации" , а затем нажмите кнопку "Добавить отдельную регистрацию".
На странице "Регистрация и подготовка" страницы "Добавление регистрации" укажите следующие сведения, чтобы настроить сведения о регистрации:
Поле Description Свидетельство Выберите доверенный модуль платформы (TPM) в качестве механизма аттестации. Параметры доверенного платформенного модуля (TPM) Укажите ключ подтверждения, используемый для проверки устройства для этой регистрации. Ключ подтверждения можно получить из доверенного платформенного модуля устройства. Идентификатор регистрации. Укажите уникальный идентификатор регистрации для устройства. Вы можете получить идентификатор регистрации из доверенного платформенного модуля устройства. Состояние подготовки Установите флажок "Включить эту регистрацию", если вы хотите, чтобы эта регистрация была доступна для подготовки устройства. Снимите этот флажок, если требуется отключить регистрацию. При необходимости этот параметр можно изменить позже. Политика повторной подготовки Выберите политику повторной подготовки, которая отражает способ обработки устройств, запрашивающих повторную подготовку. Дополнительные сведения см. в разделе "Политики повторной подготовки". Нажмите кнопку Далее: Центры Интернета вещей.
На вкладке Центров Интернета вещей на странице "Добавление регистрации" укажите следующие сведения, чтобы определить, какие центры Интернета вещей могут подготавливать устройства для:
Поле Description Целевые центры Интернета вещей Выберите один или несколько связанных центров Интернета вещей или добавьте новую ссылку на Центр Интернета вещей. Дополнительные сведения о связывании центров Интернета вещей с экземпляром DPS см. в статье "Как связать центры Интернета вещей и управлять ими". Политика выделения Если выбрано несколько связанных центров Интернета вещей, выберите способ назначения устройств разным центрам. Дополнительные сведения о политиках выделения см. в статье "Использование политик выделения".
Если выбран только один связанный центр Интернета вещей, рекомендуется использовать политику равномерного распределения .Нажмите кнопку "Далее": параметры устройства
На вкладке "Параметры устройства " на странице "Добавление регистрации " укажите следующие сведения, чтобы определить, как настроены недавно подготовленные устройства:
Поле Description Идентификатор устройства Укажите идентификатор устройства, назначенный подготовленному устройству в Центре Интернета вещей. Если идентификатор устройства не указан, используется идентификатор регистрации. IoT Edge Проверьте включение IoT Edge на подготовленных устройствах , если подготовленное устройство запускает Azure IoT Edge. Снимите этот флажок, если эта регистрация используется для устройства с поддержкой IoT Edge. Теги устройств Используйте это текстовое поле для предоставления тегов, которые необходимо применить к двойнику устройства подготовленного устройства. Требуемые свойства Используйте это текстовое поле для предоставления необходимых свойств, которые необходимо применить к двойнику устройства подготовленного устройства. См. общие сведения о двойниках устройств и их использовании в Центре Интернета вещей.
По завершении выберите Next: Отзыв и создание.
На вкладке "Просмотр и создание " проверьте все значения и нажмите кнопку "Создать".
Пример доверенного платформенного модуля C# для этого краткого руководства не предоставляет идентификатор регистрации. При появлении запроса на добавление одного для отдельной регистрации укажите собственное значение.
Войдите на портал Azure и перейдите к своему экземпляру службы подготовки устройств.
Выберите " Управление регистрациями" в разделе "Параметры " в меню навигации.
Перейдите на вкладку "Отдельные регистрации" , а затем нажмите кнопку "Добавить отдельную регистрацию".
На странице "Регистрация и подготовка" страницы "Добавление регистрации" укажите следующие сведения, чтобы настроить сведения о регистрации:
Поле Description Свидетельство Выберите доверенный модуль платформы (TPM) в качестве механизма аттестации. Параметры доверенного платформенного модуля (TPM) Укажите ключ подтверждения, используемый для проверки устройства для этой регистрации. Ключ подтверждения можно получить из доверенного платформенного модуля устройства. Идентификатор регистрации. Укажите уникальный идентификатор регистрации для устройства. Вы можете получить идентификатор регистрации из доверенного платформенного модуля устройства. Состояние подготовки Установите флажок "Включить эту регистрацию", если вы хотите, чтобы эта регистрация была доступна для подготовки устройства. Снимите этот флажок, если требуется отключить регистрацию. При необходимости этот параметр можно изменить позже. Политика повторной подготовки Выберите политику повторной подготовки, которая отражает способ обработки устройств, запрашивающих повторную подготовку. Дополнительные сведения см. в разделе "Политики повторной подготовки". Нажмите кнопку Далее: Центры Интернета вещей.
На вкладке Центров Интернета вещей на странице "Добавление регистрации" укажите следующие сведения, чтобы определить, какие центры Интернета вещей могут подготавливать устройства для:
Поле Description Целевые центры Интернета вещей Выберите один или несколько связанных центров Интернета вещей или добавьте новую ссылку на Центр Интернета вещей. Дополнительные сведения о связывании центров Интернета вещей с экземпляром DPS см. в статье "Как связать центры Интернета вещей и управлять ими". Политика выделения Если выбрано несколько связанных центров Интернета вещей, выберите способ назначения устройств разным центрам. Дополнительные сведения о политиках выделения см. в статье "Использование политик выделения".
Если выбран только один связанный центр Интернета вещей, рекомендуется использовать политику равномерного распределения .Нажмите кнопку "Далее": параметры устройства
На вкладке "Параметры устройства " на странице "Добавление регистрации " укажите следующие сведения, чтобы определить, как настроены недавно подготовленные устройства:
Поле Description Идентификатор устройства Укажите идентификатор устройства, назначенный подготовленному устройству в Центре Интернета вещей. Если идентификатор устройства не указан, используется идентификатор регистрации. IoT Edge Проверьте включение IoT Edge на подготовленных устройствах , если подготовленное устройство запускает Azure IoT Edge. Снимите этот флажок, если эта регистрация используется для устройства с поддержкой IoT Edge. Теги устройств Используйте это текстовое поле для предоставления тегов, которые необходимо применить к двойнику устройства подготовленного устройства. Требуемые свойства Используйте это текстовое поле для предоставления необходимых свойств, которые необходимо применить к двойнику устройства подготовленного устройства. См. общие сведения о двойниках устройств и их использовании в Центре Интернета вещей.
По завершении выберите Next: Отзыв и создание.
На вкладке "Просмотр и создание " проверьте все значения и нажмите кнопку "Создать".
Регистрация устройства
В этом разделе вы настроите пример кода для использования расширенного протокола очереди сообщений (AMQP) для отправки последовательности загрузки устройства в экземпляр службы подготовки устройств. Эта последовательность загрузки обеспечит регистрацию устройства в Центре Интернета вещей, связанном с экземпляром Службы подготовки устройств.
На портале Azure перейдите на вкладку «Обзор» для экземпляра службы инициализации устройств.
Скопируйте значение параметра Область идентификатора.
В окне Обозреватель решений Visual Studio перейдите в папку Provision_Samples. Разверните пример проекта с именем prov_dev_client_sample. Разверните исходные файлы и откройте prov_dev_client_sample.c.
В верхней части файла найдите
#defineинструкции для каждого протокола устройства, как показано в следующем примере. Убедитесь, что раскомментирован только параметрSAMPLE_AMQP.В настоящее время протокол MQTT не поддерживается для индивидуальной регистрации доверенного платформенного модуля.
// // 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_HTTPНайдите константу
id_scopeи замените ее значение ранее скопированным значением области идентификатора.static const char* id_scope = "0ne00002193";Найдите определение функции
main()в том же файле. Убедитесь, что переменнаяhsm_typeустановлена вSECURE_DEVICE_TYPE_TPMзначение, как показано в следующем примере.SECURE_DEVICE_TYPE hsm_type; hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; //hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;Щелкните правой кнопкой мыши проект prov_dev_client_sample и выберите "Задать в качестве запускаемого проекта".
В меню Visual Studio выберите Отладка>Запуск без отладки, чтобы запустить решение. При появлении запроса перестроить проект щелкните Да, чтобы перестроить его перед запуском.
Следующий результат является примером успешной загрузки примера клиента устройства подготовки и подключения к экземпляру службы подготовки устройств для получения сведений о Центре Интернета вещей и регистрации:
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
На портале Azure перейдите на вкладку "Обзор" для экземпляра службы развертывания устройств.
Скопируйте значение параметра Область идентификатора.
В окне командной строки замените каталоги на каталог проекта в примере подготовки устройства TPM.
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\TpmSample\'Выполните следующую команду, чтобы зарегистрировать устройство. Замените
<IdScope>значением, скопированным DPS, и<RegistrationId>значением, которое вы использовали при создании регистрации устройства.dotnet run -- -s <IdScope> -r <RegistrationId>Если регистрация устройства прошла успешно, вы увидите следующие сообщения:
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.
На портале Azure перейдите на вкладку «Обзор» вашего экземпляра службы подготовки устройств.
Скопируйте значение параметра Область идентификатора.
Откройте текстовый редактор по своему усмотрению.
Создайте файл RegisterDevice.js в папке registerdevice.
Добавьте следующие инструкции
requireв начало файла 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;Примечание.
Пакет SDK Для Интернета вещей Azure для Node.js поддерживает другие протоколы, такие как AMQP,AMQP WS и MQTT WS. Дополнительные примеры на Node.js см. в разделе для пакета SDK службы подготовки устройств.
Добавьте переменные globalDeviceEndpoint и idScope и используйте их для создания экземпляра ProvisioningDeviceClient. Замените {globalDeviceEndpoint} и {idScope} значениями глобальной конечной точки устройства и области идентификаторов из шага 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);Добавьте следующую функцию, чтобы реализовать метод на устройстве:
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); }; } } });Сохраните файл RegisterDevice.js и закройте его.
Выполните следующую команду:
node RegisterDevice.jsОбратите внимание на сообщения, которые имитируют загрузку устройства и его подключение к службе подготовки устройств для получения информации Центра Интернета вещей.
В окне командной строки, в котором выполняется пример кода Java на компьютере, нажмите клавишу ВВОД, чтобы приложение продолжило работу. Обратите внимание на сообщения, которые имитируют загрузку устройства и его подключение к службе подготовки устройств для получения информации Центра Интернета вещей.
Проверка регистрации подготовки устройств
Войдите на портал Azure.
В меню слева на портале нажмите Все ресурсы.
Выберите центр Интернета вещей, которому назначено устройство.
В разделе "Управление устройствами" выберите "Устройства".
Если устройство успешно подготовлено, его идентификатор должен появиться в списке и параметр Состояние будет иметь значение Включено. Если устройство не отображается, выберите "Обновить " в верхней части панели.
Примечание.
Если в записи регистрации для своего устройства вы изменили значение по умолчанию для начального состояния двойника устройства, требуемое состояние двойника будет извлечено из концентратора с последующим выполнением соответствующих действий. См. общие сведения о двойниках устройств и их использовании в Центре Интернета вещей.
Очистка ресурсов
Если вы планируете продолжить работу с примером клиентского устройства, не удаляйте ресурсы, созданные в ходе работы с этим кратким руководством. Если вы не планируете продолжать работу, следуйте инструкциям ниже, чтобы удалить все созданные ресурсы.
Удаление регистрации устройства
Закройте окно выходных данных примера клиентского устройства на компьютере.
В меню портала Azure выберите все ресурсы.
Выберите экземпляр службы Device Provisioning Service.
В меню службы в разделе "Параметры" выберите "Управление регистрацией".
На рабочей панели выберите вкладку "Отдельные регистрации ".
Установите флажок рядом с идентификатором регистрации устройства, зарегистрированного в этом кратком руководстве.
В области вверху выберите Удалить.
Удаление регистрации устройства из Центра Интернета вещей
В меню портала Azure выберите все ресурсы.
Выберите нужный Центр Интернета вещей.
В меню службы в разделе "Управление устройствами" выберите "Устройства".
Установите флажок рядом с идентификатором устройства, зарегистрированного в этом кратком руководстве.
В области вверху выберите Удалить.
Следующие шаги
В этом кратком руководстве вы подготовили одно устройство в Центре Интернета вещей с помощью отдельной регистрации. Далее вы узнаете, как подготовить несколько устройств в нескольких центрах.