Поделиться через


Руководство. Использование Обновления устройств для Центра Интернета вещей Azure с эталонным агентом симулятора Ubuntu (18.04 x64)

Обновление устройств для Центра Интернета вещей Azure поддерживает обновления на основе образов, пакетов и скриптов.

Обновления на основе образов позволяют с большей вероятностью получить требуемое конечное состояние устройства. Как правило, проще реплицировать результаты обновления образа между подготовительной и рабочей средами, так как это не приводит к возникновению тех же проблем, что и при использовании пакетов и их зависимостей. Из-за атомарной природы вы также можете легко внедрить модель отработки отказа A/B.

В этом руководстве описано, как выполнить полное обновление на основе образа с помощью Обновления устройств для Центра Интернета вещей.

Из этого руководства вы узнаете, как выполнять следующие задачи:

  • Скачивание и установка образа.
  • Добавление тега к устройству Интернета вещей.
  • Импорт обновлений.
  • Создание группы устройств.
  • Разверните обновление образа.
  • Мониторинг развертывания обновления.

Предварительные требования

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

Скачайте ZIP-файл с именем Tutorial_Simulator.zip из ресурсов выпуска в последнем выпуске и распакуйте его.

Добавление устройства в Центр Интернета вещей Azure

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

  1. На портале Azure запустите Обновление устройств для Центра Интернета вещей.

  2. Создайте новое устройство.

  3. В области слева выберите Устройства. Затем щелкните Создать.

  4. В разделе Идентификатор устройстваукажите имя устройства. Убедитесь, что установлен флажок Автоматически создавать ключи.

  5. Щелкните Сохранить.

  6. Снова отобразится страница Устройства. Созданное вами устройство должно быть в списке. Выберите его.

  7. В представлении устройств щелкните значок Копировать рядом со строкой Основная строка подключения.

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

    Скопированная строка и есть строка подключения устройства.

Установка агента обновления устройства для его тестирования в качестве симулятора

  1. Следуйте инструкциям из статьи Установка среды выполнения Azure IoT Edge.

    Примечание

    Агент Обновления устройств не зависит от IoT Edge. Но он использует управляющую программу службы идентификации Интернета вещей, которая устанавливается вместе с IoT Edge (версия 1.2.0 и выше) для получения удостоверения и подключения к Центру Интернета вещей.

    Хотя управляющая программа службы идентификации Интернета вещей не рассматривается в этом руководстве, ее можно установить изолированно на устройствах Интернета вещей под управлением Linux. Последовательность установки имеет большое значение. Агент пакета Обновления устройств необходимо устанавливать после службы идентификации Интернета вещей. В противном случае агент пакета не будет зарегистрирован как авторизованный компонент для установки подключения к Центру Интернета вещей.

  2. Затем установите DEB-пакеты агента Обновления устройств.

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. Введите основную строку подключения вашего модуля устройства Интернета вещей (или устройства, в зависимости от того, как вы подготовили устройство с помощью Обновления устройств) в файле конфигурации, выполнив следующую команду:

    sudo nano /etc/adu/du-config.json
    
  4. Настройте агент для запуска в качестве симулятора. Выполните следующую команду на устройстве Интернета вещей, чтобы агент Обновления устройств вызвал обработчик симулятора для обработки обновления пакета с помощью 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>

  5. Вам потребуется файл 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
    
  6. Перезапустите агент Обновления устройств, выполнив следующую команду:

     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'

Добавление тега на устройство

  1. Войдите на портал Azure и перейдите в центр Интернета вещей.

  2. В левой области Устройства найдите свое устройство Интернета вещей и перейдите к двойнику устройства или двойнику модуля.

  3. В двойнике модуля агента Обновления устройств удалите все существующие значения тегов обновления устройства, присвоив им значение NULL. Если вы используете удостоверение устройства с агентом Обновления устройств, внесите эти изменения в двойник устройства.

  4. Добавьте новое значение тега Обновления устройств:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

Импорт обновления

  1. Вам потребуются файлы TutorialImportManifest_Sim.importmanifest.json и Tutorial_Simulator.zip из загруженного файла adu-update-image-raspberrypi3.swu в предварительных требованиях. Файл обновления повторно используется в руководстве по Raspberry Pi. Так как обновление, описываемое в этом руководстве, имитируется, содержимое файла не имеет значения.

  2. Войдите на портал Azure и перейдите в свой центр Интернета вещей с Обновлением устройств. В области слева в разделе Автоматическое управление устройствами выберите Обновления.

  3. Откройте вкладку Обновления.

  4. Выберите + Импортировать новое обновление.

  5. Щелкните + Выбрать из контейнера хранилища. Выберите существующую учетную запись или создайте новую, щелкнув + Учетная запись хранения. Затем выберите существующий контейнер или создайте новый, щелкнув + Контейнер. Этот контейнер будет использоваться для размещения файлов обновления для импорта.

    Примечание

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

    Снимок экрана: учетные записи хранения и контейнеры.

  6. В контейнере щелкните Отправка и перейдите к файлам, скачанным на шаге 1. Выбрав все файлы обновления, щелкните Отправить. Затем щелкните Выбрать, чтобы вернуться на страницу Импорт обновления.

    Снимок экрана: выбор отправленных файлов.

    На этом снимке экрана показан шаг импорта. Имена файлов могут не совпадать с именами, которые используются в примере.

  7. На странице Импорт обновления проверьте импортируемые файлы. Затем щелкните Импорт обновления, чтобы начать процесс импорта.

    Снимок экрана: обновление импорта.

  8. Начнется процесс импорта, а на экране появится раздел Журнал импорта. Если столбец Состояние указывает на то, что импорт успешно выполнен, выберите заголовок Доступные обновления. Импортированное обновление должно появиться в списке.

    Снимок экрана: состояние задания.

См. дополнительные сведения об импорте обновлений.

Создание группы обновлений

  1. Откройте вкладку Группы и развертывания в верхней части страницы.

    Снимок экрана: разгруппированные устройства.

  2. Выберите Добавить группу, чтобы создать новую группу.

    Снимок экрана: добавление к группе устройств.

  3. Выберите тег Центр Интернета вещей и укажите класс устройства в списке. Затем выберите Создать группу.

    Снимок экрана: выбор тега.

  4. После создания группы будет обновлен список групп и схема соответствия обновлений. На схеме соответствия обновлений требованиям отображается количество устройств в разных состояниях соответствия: При последнем обновлении, Доступны новые обновления и Выполняющиеся обновления. Подробнее о соответствии обновлений.

    Снимок экрана: представление

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

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

Развертывание обновления

  1. После создания группы вы увидите новое обновление, доступное для группы устройств. Ссылка на обновление должна быть в разделе Лучшее обновление. Возможно, потребуется выполнить обновление один раз. См. дополнительные сведения о соответствии обновлений.

  2. Выберите целевую группу, указав ее имя. Вы будете перенаправлены в подраздел Сведения о группе в разделе Основные сведения о группе.

    Снимок экрана: сведения о группе.

  3. Чтобы начать развертывание, перейдите на вкладку Текущее развертывание. Щелкните ссылку Развернуть рядом с нужным обновлением в разделе Доступные обновления. Наилучшее доступное обновление для указанной группы обозначается как Лучшее.

    Снимок экрана: выбор обновления.

  4. Запланируйте запуск развертывания немедленно или в будущем. Щелкните Создать.

    Снимок экрана, на котором показан процесс создания развертывания.

  5. В разделе Сведения о развертывании для параметра Состояние задается значение Активно. Развернутое обновление помечается как (развертывается).

    Снимок экрана, на котором показано активное развертывание.

  6. Просмотрите схему соответствия, чтобы убедиться, что обновление выполняется.

  7. После успешного обновления устройства схема соответствия и сведения о развертывании должны измениться, отражая одну и ту же информацию.

    Снимок экрана: обновление выполнено.

Слежение за развертыванием обновления

  1. Щелкните вкладку Журнал развертываний в верхней части страницы.

    Снимок экрана: журнал развертываний.

  2. Выберите Сведения рядом с созданным развертыванием.

    Снимок экрана: сведения о развертывании.

  3. Щелкните Обновить, чтобы просмотреть последние данные о состоянии.

Вы успешно выполнили комплексное обновление с помощью Обновления устройств для Центра Интернета вещей и эталонного агента симулятора Ubuntu (18.04 x64).

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

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

Дальнейшие действия