Руководство. Использование Обновления устройств для Центра Интернета вещей Azure с эталонным агентом симулятора Ubuntu (18.04 x64)
Обновление устройств для Центра Интернета вещей Azure поддерживает обновления на основе образов, пакетов и скриптов.
Обновления на основе образов позволяют с большей вероятностью получить требуемое конечное состояние устройства. Как правило, проще реплицировать результаты обновления образа между подготовительной и рабочей средами, так как это не приводит к возникновению тех же проблем, что и при использовании пакетов и их зависимостей. Из-за атомарной природы вы также можете легко внедрить модель отработки отказа A/B.
В этом руководстве описано, как выполнить полное обновление на основе образа с помощью Обновления устройств для Центра Интернета вещей.
Из этого руководства вы узнаете, как выполнять следующие задачи:
- Скачивание и установка образа.
- Добавление тега к устройству Интернета вещей.
- Импорт обновлений.
- Создание группы устройств.
- Разверните обновление образа.
- Мониторинг развертывания обновления.
Предварительные требования
Если вы еще это не сделали, создайте учетную запись и экземпляр Обновления устройств и настройте центр Интернета вещей.
Скачайте ZIP-файл с именем Tutorial_Simulator.zip
из ресурсов выпуска в последнем выпуске и распакуйте его.
Добавление устройства в Центр Интернета вещей Azure
После запуска агента Обновления устройства на устройстве Интернета вещей необходимо добавить устройство в Центр Интернета вещей. Строку подключения для указанного устройства генерирует Центр Интернета вещей.
На портале Azure запустите Обновление устройств для Центра Интернета вещей.
Создайте новое устройство.
В области слева выберите Устройства. Затем щелкните Создать.
В разделе Идентификатор устройстваукажите имя устройства. Убедитесь, что установлен флажок Автоматически создавать ключи.
Щелкните Сохранить.
Снова отобразится страница Устройства. Созданное вами устройство должно быть в списке. Выберите его.
В представлении устройств щелкните значок Копировать рядом со строкой Основная строка подключения.
Вставьте скопированные символы куда-нибудь для последующего использования:
Скопированная строка и есть строка подключения устройства.
Установка агента обновления устройства для его тестирования в качестве симулятора
Следуйте инструкциям из статьи Установка среды выполнения Azure IoT Edge.
Примечание
Агент Обновления устройств не зависит от IoT Edge. Но он использует управляющую программу службы идентификации Интернета вещей, которая устанавливается вместе с IoT Edge (версия 1.2.0 и выше) для получения удостоверения и подключения к Центру Интернета вещей.
Хотя управляющая программа службы идентификации Интернета вещей не рассматривается в этом руководстве, ее можно установить изолированно на устройствах Интернета вещей под управлением Linux. Последовательность установки имеет большое значение. Агент пакета Обновления устройств необходимо устанавливать после службы идентификации Интернета вещей. В противном случае агент пакета не будет зарегистрирован как авторизованный компонент для установки подключения к Центру Интернета вещей.
Затем установите DEB-пакеты агента Обновления устройств.
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt
Введите основную строку подключения вашего модуля устройства Интернета вещей (или устройства, в зависимости от того, как вы подготовили устройство с помощью Обновления устройств) в файле конфигурации, выполнив следующую команду:
sudo nano /etc/adu/du-config.json
Настройте агент для запуска в качестве симулятора. Выполните следующую команду на устройстве Интернета вещей, чтобы агент Обновления устройств вызвал обработчик симулятора для обработки обновления пакета с помощью APT (microsoft/apt:1):
sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
Чтобы зарегистрировать и вызвать обработчик симулятора, используйте следующий формат, заполнив заполнители:
sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>
Вам потребуется файл
sample-du-simulator-data.json
из загруженного файлаTutorial_Simulator.zip
в предварительных требованиях.Откройте файл
sample-du-simulator-data.json
и скопируйте содержимое в буфер обмена:nano sample-du-simulator-data.json
Выберите содержимое файла и нажмите CTRL+C. Нажмите CTRL+X, чтобы закрыть файл, и не сохраняйте изменения.
Выполните следующую команду, чтобы создать и изменить файл
du-simulator-data.json
в папке tmp:sudo nano /tmp/du-simulator-data.json
Нажмите CTRL+V, чтобы вставить содержимое в редактор. Нажмите CTRL+X, чтобы сохранить изменения, а затем Y.
Измените разрешения.
sudo chown adu:adu /tmp/du-simulator-data.json sudo chmod 664 /tmp/du-simulator-data.json
Если папки /tmp не существует:
sudo mkdir/tmp sudo chown root:root/tmp sudo chmod 1777/tmp
Перезапустите агент Обновления устройств, выполнив следующую команду:
sudo systemctl restart adu-agent
На программу “Обновление устройств для Центра Интернета вещей Azure” распространяются условия следующих лицензий:
- Лицензия на Обновление устройств для Центра Интернета вещей
- Клиентская лицензия на оптимизацию доставки
Перед использованием агента ознакомьтесь с условиями лицензии. Установка и использование агента означают, что вы принимаете эти условия. Если вы не согласны с условиями лицензии, не используйте агент Обновления устройств для Центра Интернета вещей.
Примечание
После тестирования с помощью симулятора выполните следующую команду, чтобы вызвать обработчик APT и развернуть обновления пакетов по беспроводной связи:
# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'
Добавление тега на устройство
Войдите на портал Azure и перейдите в центр Интернета вещей.
В левой области Устройства найдите свое устройство Интернета вещей и перейдите к двойнику устройства или двойнику модуля.
В двойнике модуля агента Обновления устройств удалите все существующие значения тегов обновления устройства, присвоив им значение NULL. Если вы используете удостоверение устройства с агентом Обновления устройств, внесите эти изменения в двойник устройства.
Добавьте новое значение тега Обновления устройств:
"tags": { "ADUGroup": "<CustomTagValue>" }
Импорт обновления
Вам потребуются файлы
TutorialImportManifest_Sim.importmanifest.json
иTutorial_Simulator.zip
из загруженного файлаadu-update-image-raspberrypi3.swu
в предварительных требованиях. Файл обновления повторно используется в руководстве по Raspberry Pi. Так как обновление, описываемое в этом руководстве, имитируется, содержимое файла не имеет значения.Войдите на портал Azure и перейдите в свой центр Интернета вещей с Обновлением устройств. В области слева в разделе Автоматическое управление устройствами выберите Обновления.
Откройте вкладку Обновления.
Выберите + Импортировать новое обновление.
Щелкните + Выбрать из контейнера хранилища. Выберите существующую учетную запись или создайте новую, щелкнув + Учетная запись хранения. Затем выберите существующий контейнер или создайте новый, щелкнув + Контейнер. Этот контейнер будет использоваться для размещения файлов обновления для импорта.
Примечание
Мы рекомендуем использовать новый контейнер каждый раз при импорте обновления, чтобы избежать случайного импорта файлов из предыдущих обновлений. Если вы не будете использовать новый контейнер, обязательно удалите все файлы из существующего контейнера, прежде чем завершить этот шаг.
В контейнере щелкните Отправка и перейдите к файлам, скачанным на шаге 1. Выбрав все файлы обновления, щелкните Отправить. Затем щелкните Выбрать, чтобы вернуться на страницу Импорт обновления.
На этом снимке экрана показан шаг импорта. Имена файлов могут не совпадать с именами, которые используются в примере.
На странице Импорт обновления проверьте импортируемые файлы. Затем щелкните Импорт обновления, чтобы начать процесс импорта.
Начнется процесс импорта, а на экране появится раздел Журнал импорта. Если столбец Состояние указывает на то, что импорт успешно выполнен, выберите заголовок Доступные обновления. Импортированное обновление должно появиться в списке.
См. дополнительные сведения об импорте обновлений.
Создание группы обновлений
Откройте вкладку Группы и развертывания в верхней части страницы.
Выберите Добавить группу, чтобы создать новую группу.
Выберите тег Центр Интернета вещей и укажите класс устройства в списке. Затем выберите Создать группу.
После создания группы будет обновлен список групп и схема соответствия обновлений. На схеме соответствия обновлений требованиям отображается количество устройств в разных состояниях соответствия: При последнем обновлении, Доступны новые обновления и Выполняющиеся обновления. Подробнее о соответствии обновлений.
Вы должны увидеть только что созданную группу и все доступные обновления для устройств в новой группе. Если есть устройства, которые не соответствуют требованиям к классу устройств в группе, они отобразятся в соответствующей группе недопустимых устройств. Чтобы развернуть наилучшее доступное обновление в новой определяемой пользователем группе из этого представления, выберите Развернуть рядом с группой.
См. дополнительные сведения о добавлении тегов и создании групп обновлений.
Развертывание обновления
После создания группы вы увидите новое обновление, доступное для группы устройств. Ссылка на обновление должна быть в разделе Лучшее обновление. Возможно, потребуется выполнить обновление один раз. См. дополнительные сведения о соответствии обновлений.
Выберите целевую группу, указав ее имя. Вы будете перенаправлены в подраздел Сведения о группе в разделе Основные сведения о группе.
Чтобы начать развертывание, перейдите на вкладку Текущее развертывание. Щелкните ссылку Развернуть рядом с нужным обновлением в разделе Доступные обновления. Наилучшее доступное обновление для указанной группы обозначается как Лучшее.
Запланируйте запуск развертывания немедленно или в будущем. Щелкните Создать.
В разделе Сведения о развертывании для параметра Состояние задается значение Активно. Развернутое обновление помечается как (развертывается).
Просмотрите схему соответствия, чтобы убедиться, что обновление выполняется.
После успешного обновления устройства схема соответствия и сведения о развертывании должны измениться, отражая одну и ту же информацию.
Слежение за развертыванием обновления
Щелкните вкладку Журнал развертываний в верхней части страницы.
Выберите Сведения рядом с созданным развертыванием.
Щелкните Обновить, чтобы просмотреть последние данные о состоянии.
Вы успешно выполнили комплексное обновление с помощью Обновления устройств для Центра Интернета вещей и эталонного агента симулятора Ubuntu (18.04 x64).
Очистка ресурсов
Очистите учетную запись и экземпляр Обновления устройств, а также центр Интернета вещей и устройство Интернета вещей, если они больше не нужны.