Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
IoT Edge 1.5
Внимание
IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.
Попробуйте Azure IoT Edge в этом кратком руководстве, развернув контейнерный код на виртуальном устройстве IoT Edge Linux. IoT Edge позволяет удаленно управлять кодом на ваших устройствах, чтобы вы могли передавать больше рабочих процессов на периферию. В этом быстром старте используйте виртуальную машину Azure для устройства IoT Edge. Он позволяет быстро создать тестовую машину и удалить ее после завершения.
Из этого краткого руководства вы узнаете, как:
- Создайте IoT Hub.
- Зарегистрируйте устройство IoT Edge в Центре Интернета вещей.
- Установите и запустите среду выполнения IoT Edge на виртуальном устройстве.
- Удаленное развертывание модуля на устройстве IoT Edge.
В этом кратком руководстве вы научитесь шаг за шагом создавать виртуальную машину Linux, специально настроенную в качестве устройства IoT Edge. Затем вы развернете модуль с портала Azure на устройстве. В этом быстром старте используется симулированный модуль датчика, который генерирует данные о температуре, влажности и давлении. Другие Azure IoT Edge учебники опираются на работу, которую вы делаете здесь, развернув дополнительные модули, которые анализируют имитированные данные для бизнес-аналитики.
Если у вас нет активной подписки Azure, создайте учетную запись free перед началом работы.
Предварительные условия
Настройте среду для Azure CLI.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье Начало работы с Azure Cloud Shell.
Если вы предпочитаете локально запускать команды справки CLI, установите Azure CLI. Если вы работаете на Windows или macOS, попробуйте запустить Azure CLI в контейнере Docker. Дополнительные сведения см. в разделе Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Дополнительные параметры входа см. в разделе Аутентификация в Azure с использованием Azure CLI.
При появлении запроса установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в разделе Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Группа ресурсов для управления всеми ресурсами, которые вы используете в этом кратком руководстве. В этом кратком руководстве и следующих руководствах используется пример имени группы ресурсов IoTEdgeResources.
az group create --name IoTEdgeResources --location westus2
Создание IoT Hub
Начните краткое руководство, создав IoT Hub с помощью Azure CLI.
Бесплатный уровень IoT Hub подходит для этого быстрого старта. Если вы использовали IoT Hub в прошлом и уже создали концентратор, можно использовать этот IoT hub.
При помощи следующего кода создается бесплатный центр F1 в группе ресурсов IoTEdgeResources. Замените <hub-name> уникальным именем для IoT Hub. Создание IoT Hub может занять несколько минут.
az iot hub create --resource-group IoTEdgeResources --name <hub-name> --sku F1 --partition-count 2
Если вы получите ошибку из-за того, что в вашей подписке уже есть один бесплатный IoT Hub, измените SKU на S1. В подписке может быть только один бесплатный Центр Интернета вещей. Если вы получите сообщение об ошибке о том, что имя IoT Hub недоступно, это означает, что другой пользователь уже имеет концентратор с таким именем. Выберите другое имя.
Регистрация устройства IoT Edge
Зарегистрируйте устройство IoT Edge в только что созданном центре Интернета вещей.
Создайте удостоверение устройства для устройства IoT Edge, чтобы он смог взаимодействовать с Центром Интернета вещей. Удостоверение устройства находится в облаке, и вы используете уникальную строку подключения устройства для связывания физического устройства с идентификатором устройства.
Поскольку устройства IoT Edge ведут себя и управляются иначе, чем обычные устройства Интернета вещей, объявите это удостоверение устройством IoT Edge с помощью флага --edge-enabled.
Введите следующую команду в Azure Cloud Shell, чтобы создать устройство с именем myEdgeDevice в центре.
az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name <hub-name>Если вы получаете сообщение об ошибке, связанное с ключами политики iothubowner, убедитесь, что ваша Cloud Shell запущена с последней версией расширения azure-iot.
Проверьте connection string для вашего устройства, который связывает физическое устройство с его идентификацией в IoT Hub. Он содержит имя IoT Hub, имя устройства и общий ключ, который проверяет подлинность подключений между ними. Эта строка подключения снова используется в следующем разделе, чтобы настроить устройство IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>Например, строка подключения должна выглядеть примерно так, как
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.
Настройка устройства IoT Edge
Создайте виртуальную машину с помощью среды выполнения Azure IoT Edge.
Среда выполнения IoT Edge развертывается на всех IoT Edge устройствах и содержит три компонента. Демон безопасности IoT Edge запускается каждый раз при включении устройства IoT Edge и инициализирует устройство, запуская агент IoT Edge. Агент IoT Edge упрощает развертывание и мониторинг модулей на устройстве IoT Edge, включая центр IoT Edge. Концентратор IoT Edge управляет взаимодействием между модулями на устройстве IoT Edge и между устройством и IoT Hub.
Во время конфигурации среды выполнения укажите строку подключения устройства. Эта строка извлекается из Azure CLI. Эта строка связывает физическое устройство с удостоверением устройства IoT Edge в Azure.
Развертывание устройства IoT Edge
В этом разделе используется шаблон Azure Resource Manager для создания новой виртуальной машины и установки среды выполнения IoT Edge на ней. Если вы хотите использовать собственное устройство Linux, можно выполнить действия по установке в Вручную подготовьте одно устройство Linux IoT Edge, а затем вернитесь к этому быстрому руководству.
Используйте команду Deploy для Azure или команд CLI для создания устройства IoT Edge на основе предварительно созданного шаблона iotedge-vm-deploy.
Развертывание с помощью шаблона IoT Edge Azure Resource Manager.
Для пользователей bash или Cloud Shell скопируйте следующую команду в текстовый редактор, замените текст заполнителя вашими сведениями, а затем скопируйте его в окно bash или Cloud Shell:
az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \ --parameters adminUsername='azureUser' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"Пользователям PowerShell нужно скопировать следующую команду в окно PowerShell, а затем заменить текст заполнителя своими данными:
az deployment group create ` --resource-group IoTEdgeResources ` --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" ` --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' ` --parameters adminUsername='azureUser' ` --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) ` --parameters authenticationType='password' ` --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
Этот шаблон принимает следующие параметры:
| Параметр | Описание |
|---|---|
| resource-group | Группа ресурсов, в которой создаются ресурсы. Используйте имя по умолчанию IoTEdgeResources, которое применяется в этой статье, или укажите имя существующей группы ресурсов в подписке. |
| template-uri | Указатель на шаблон Resource Manager, который мы используем. |
| dnsLabelPrefix | Строка, используемая для создания имени узла виртуальной машины. Замените текст-заполнитель именем вашей виртуальной машины. |
| adminUsername | Имя пользователя для учетной записи администратора виртуальной машины. Используйте пример azureUser или укажите новое имя пользователя. |
| deviceConnectionString | Строка подключения из устройства удостоверения в IoT Hub, которая используется для настройки среды выполнения IoT Edge на виртуальной машине. В этом параметре команда CLI извлекает строку подключения для вас. Замените текст заполнителя именем центра Интернета вещей. |
| тип аутентификации | Метод аутентификации для учетной записи администратора. В этом кратком руководстве используется аутентификация на основе пароля, но для этого параметра также можно задать значение sshPublicKey. |
| adminPasswordOrKey | Пароль или значение ключа SSH для учетной записи администратора. Замените текст заполнителя надежным паролем. Пароль должен содержать не менее 12 символов и содержать три из четырех типов следующих символов: строчные буквы, прописные буквы, цифры и специальные символы. |
После завершения развертывания выходные данные в формате JSON в ИНТЕРФЕЙСе командной строки содержат сведения SSH для подключения к виртуальной машине. Скопируйте значение записи SSH для общедоступного раздела выходных данных. Например, команда SSH должна выглядеть примерно так ssh azureUser@edge-vm.westus2.cloudapp.azure.com:
Просмотр состояния среды выполнения IoT Edge
Оставшиеся команды в этом кратком руководстве выполняются непосредственно на вашем устройстве IoT Edge, чтобы вы могли увидеть, что происходит на устройстве. Если вы используете виртуальную машину, подключитесь к ней, используя настроенное имя пользователя администратора и DNS-имя, возвращенное командой развертывания. Вы также можете найти DNS-имя на странице обзора виртуальной машины на портале Azure. Подключитесь к виртуальной машине, используя приведенную ниже команду. Замените <admin-username> и <DNS-name> собственными значениями.
ssh <admin-username>@<DNS-name>
После подключения к виртуальной машине убедитесь, что среда выполнения была успешно установлена и настроена на устройстве IoT Edge.
Проверьте, запущен ли IoT Edge. Следующая команда возвращает статус Ok, если IoT Edge запущен, или предоставляет информацию об ошибках службы.
sudo iotedge system statusСовет
Для запуска команд
iotedgeтребуется более высокий уровень привилегий. После выхода из компьютера и входа в первый раз после установки среды выполнения IoT Edge ваши разрешения обновляются автоматически. До этого момента используйте перед командой префиксsudo.Если нужно устранить неполадки со службой, извлеките журналы службы.
sudo iotedge system logsПросмотрите все модули, работающие на устройстве IoT Edge. Так как служба запущена первый раз, отобразится только запущенный модуль edgeAgent. Модуль edgeAgent запускается по умолчанию и позволяет установить и запустить любые дополнительные модули, развертываемые на устройстве.
sudo iotedge list
Теперь настроено устройство IoT Edge. Оно готово для запуска модулей, развернутых в облаке.
Развертывание модуля
Управление устройством Azure IoT Edge из облака для развертывания модуля, отправляющего данные телеметрии устройства в IoT Hub.
Ключевая возможность Azure IoT Edge — развертывание кода на IoT Edge устройствах из облака. модули IoT Edge — это исполняемые пакеты, реализованные в виде контейнеров. В этом разделе описано, как развернуть предварительно созданный модуль из раздела модулей IoT Edge реестра артефактов Майкрософт.
Модуль, который будет развернут в этом разделе, имитирует поведение датчика и отправляет сгенерированные данные. Этот модуль является полезным фрагментом кода при начале работы с IoT Edge, так как можно использовать имитированные данные для разработки и тестирования. Если вы хотите точно увидеть, что делает этот модуль, можно просмотреть исходный код датчика температуры симулированный датчик температуры.
Чтобы развернуть первый модуль, выполните следующие действия.
Войдите на портал Azure и перейдите к IoT Hub.
В меню слева в разделе Device Management выберите Devices.
Выберите идентификатор устройства целевого IoT Edge устройства из списка.
При создании нового устройства IoT Edge отображается код состояния
417 -- The device's deployment configuration is not setна портале Azure. Это состояние является нормальным и означает, что устройство готово к развертыванию модуля.На верхней панели выберите Настройка модулей.
Выберите модули, которые нужно запустить на устройстве. Вы можете выбрать модули, которые вы создали самостоятельно или образы в реестре контейнеров. В этом кратком руководстве вы развернёте модуль из реестра контейнеров Microsoft.
В разделе IoT Edge modules выберите Добавить, затем выберите IoT Edge Module.
Обновите следующие параметры модуля:
Настройка Значение Имя модуля Интернета вещей SimulatedTemperatureSensorURI изображения mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestПолитика перезапуска всегда Требуемое состояние бег Нажмите кнопку "Далее": маршруты для продолжения настройки маршрутов.
Добавьте маршрут, который отправляет все сообщения из имитированного модуля температуры в IoT Hub.
Настройка Значение Имя. SimulatedTemperatureSensorToIoTHubЗначение FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamНажмите кнопку "Далее": проверка и создание.
Просмотрите файл JSON, а затем щелкните Создать. JSON-файл определяет все модули, развернутые на устройстве IoT Edge.
Примечание.
При отправке нового развертывания на устройство IoT Edge ничего не отправляется на устройство. Вместо этого устройство регулярно запрашивает IoT Hub для любых новых инструкций. Если устройство обнаруживает обновленный манифест развертывания, оно использует информацию о новом развертывании для получения образов модуля с облака с последующим локальным запуском модулей. Этот процесс может занять несколько минут.
Когда вы укажете сведения о развертывании модуля, мастер вернет вас на страницу с подробными сведениями об устройстве. Проверьте состояние развертывания на вкладке Модули.
Вы должны видеть три модуля: $edgeAgent, $edgeHub и SimulatedTemperatureSensor. Если один или несколько модулей имеют Yes в разделе Указано в развертывании, но не в Сообщено устройством, устройство IoT Edge все равно запускает их. Подождите несколько минут и обновите страницу.
Если у вас возникли проблемы с развертыванием модулей, см. дополнительные сведения в разделе Troubleshoot IoT Edge устройств на портале Azure.
просмотр сформированных данных.
В этом кратком руководстве вы создадите новое устройство IoT Edge и установите на него среду выполнения IoT Edge. Затем вы используете портал Azure для развертывания модуля IoT Edge для запуска на устройстве без внесения изменений в само устройство.
В этом примере отправленный модуль создает примеры данных среды, которые можно использовать для последующего тестирования. Имитируемый датчик выполняет мониторинг оборудования и окружающей среды. Например, этот датчик может находиться в серверной комнате, на заводской площадке или в ветровой турбине. В сообщении отображаются данные о температуре и влажности окружающей среды, температуре и давлении оборудования, а также метка времени. В IoT Edge руководствах используются данные, созданные этим модулем, в качестве тестовых данных для аналитики.
Откройте командную строку на устройстве IoT Edge или используйте подключение SSH из Azure CLI. Убедитесь, что модуль, развернутый из облака, запущен на устройстве IoT Edge:
sudo iotedge list
Просмотрите сообщения, отправленные из модуля датчика температуры:
sudo iotedge logs SimulatedTemperatureSensor -f
Совет
IoT Edge команды чувствительны к регистру при обращении к именам модулей.
Очистка ресурсов
Чтобы продолжить работу с руководствами по IoT Edge, используйте устройство, которое вы зарегистрировали и настроили в этом быстром начале. В противном случае удалите созданные ресурсы Azure, чтобы избежать расходов.
Если вы создали виртуальную машину и Центр Интернета вещей в новой группе ресурсов, можно удалить эту группу и все связанные с ней ресурсы. Дважды проверьте содержимое группы ресурсов, чтобы убедиться, что нет ничего, что вы хотите сохранить. Если вы не хотите удалять всю группу, можно удалить отдельные ресурсы.
Внимание
Удаление группы ресурсов — процесс необратимый.
Удалите группу IoTEdgeResources . Удаление группы ресурсов может занять несколько минут.
az group delete --name IoTEdgeResources --yes
Убедитесь, что группа ресурсов удаляется, просматривая список групп ресурсов.
az group list
Следующие шаги
В этом кратком руководстве вы создали устройство IoT Edge и использовали облачный интерфейс Azure IoT Edge для развертывания кода на этом устройстве. Теперь вы используете тестовое устройство, которое создает необработанные данные о своей среде.
В следующем руководстве вы узнаете, как отслеживать активность и работоспособность устройства на портале Azure.