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


Руководство. Настройка среды машинного обучения в IoT Edge

Применимо к:значок IoT Edge 1.1

Это важно

Дата окончания поддержки IoT Edge 1.1 была 13 декабря 2022 г.. Чтобы получить сведения о поддержке определенного продукта, службы, технологии или API, перейдите на страницу Политика жизненного цикла поддержки Майкрософт. Дополнительные сведения об обновлении до последней версии IoT Edge см. в статье Update IoT Edge.

Эта статья поможет подготовить среду для разработки и развертывания. Во-первых, настройте компьютер разработки со всеми нужными инструментами. Затем создайте необходимые облачные ресурсы в Azure.

В этом разделе руководства вы узнаете, как:

  • Настройте виртуальную машину для разработки.
  • Настройте Центр Интернета вещей и облачное хранилище для используемой среды разработки.

Предпосылки

Эта статья является частью серии руководств по использованию Машинного обучения Azure в IoT Edge. Каждая статья в серии основана на работе, приведенной в предыдущей статье. Если вы попали непосредственно на эту статью, посетите первую статью в серии.

Настройка виртуальной машины разработки

Обычно этот шаг выполняется разработчиком облака. Некоторые из программного обеспечения также могут быть полезны для ученых по обработке и анализу данных.

Мы создали скрипт PowerShell, который создает виртуальную машину Azure с множеством уже настроенных предварительных требований. Созданная виртуальная машина должна иметь возможность обрабатывать вложенную виртуализацию, поэтому мы выбрали Standard_D8s_v3 размер компьютера.

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

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

Создание и настройка виртуальной машины занимает около 30 минут.

  1. Клонируйте или скачайте пример репозитория Машинного обучения и IoT Edge на локальный компьютер.

  2. Откройте PowerShell от имени администратора и перейдите к каталогу \IoTEdgeAndMlSample\DevVM , расположенному под корневым каталогом, где вы скачали код. Мы будем ссылаться на корневую директорию вашего исходного кода как srcdir.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

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

  3. Выполните следующую команду, чтобы разрешить выполнение скриптов. При появлении запроса выберите "Да" для всех .

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Запустите Create-AzureDevVM.ps1.

    .\Create-AzureDevVm.ps1
    

    При появлении запроса укажите следующие сведения:

    • Идентификатор подписки Azure: идентификатор подписки, который можно найти на портале подписок Azure .
    • Имя группы ресурсов: имя новой или существующей группы ресурсов в Azure.
    • Расположение. Выберите расположение Azure, в котором будет создана виртуальная машина. Например, "Западная часть США 2" или "Северная Европа". Дополнительные сведения см. в регионах Azure.
    • Имя пользователя: укажите запоминающееся имя учетной записи администратора для виртуальной машины.
    • Пароль. Задайте пароль для учетной записи администратора для виртуальной машины.

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

    1. Устанавливает модуль Azure PowerShell Az.
    2. Запрашивает вход в Azure.
    3. Подтверждает сведения о создании виртуальной машины. Нажмите клавишу Y или ВВОД , чтобы продолжить.
    4. Создает группу ресурсов, если она не существует.
    5. Развертывает виртуальную машину.
    6. Включает Hyper-V на виртуальной машине.
    7. Устанавливает программное обеспечение, необходимое для разработки и клонирования примера репозитория.
    8. Перезапускает виртуальную машину.
    9. Создает RDP-файл на рабочем столе для подключения к виртуальной машине.

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

Настройка расписания автоматического завершения работы

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

  1. На портале Azure перейдите к виртуальной машине, созданной скриптом.

  2. В меню слева в разделе "Операции" выберите "Автоматическое завершение работы".

  3. Настройте запланированное завершение работы и часовой пояс по мере необходимости и нажмите кнопку "Сохранить".

Подключение к виртуальной машине разработки

Теперь, когда мы создали виртуальную машину, необходимо завершить установку программного обеспечения, необходимого для выполнения руководства.

  1. Дважды щелкните файл RDP, созданный скриптом на рабочем столе.

  2. Появится диалоговое окно с сообщением о том, что издатель удаленного подключения неизвестен. Это допустимо, поэтому нажмите кнопку "Подключить".

  3. Укажите пароль администратора, предоставленный для создания виртуальной машины, и нажмите кнопку "ОК".

  4. Вам будет предложено принять сертификат для виртуальной машины. Выберите Да.

Установка расширений Visual Studio Code

Теперь, когда вы подключились к компьютеру разработки, добавьте некоторые полезные расширения в Visual Studio Code, чтобы упростить процесс разработки.

  1. Подключитесь к виртуальной машине разработки, откройте окно PowerShell и перейдите к каталогу C:\source\IoTEdgeAndMlSample\DevVM . Этот каталог был создан скриптом, создающим виртуальную машину.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Выполните следующую команду, чтобы разрешить выполнение скриптов. При появлении запроса выберите "Да" для всех .

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Запустите скрипт расширений Visual Studio Code.

    .\Enable-CodeExtensions.ps1
    
  4. Скрипт будет выполняться несколько минут, устанавливая расширения для VS Code.

    • Azure IoT Edge
    • Центр Интернета вещей Azure
    • Питон
    • C#
    • Докер
    • PowerShell

Настройка Центра Интернета вещей и хранилища

Обычно эти действия выполняются разработчиком облака.

Центр Интернета вещей Azure — это сердце любого приложения Интернета вещей, так как оно обрабатывает безопасное взаимодействие между устройствами Интернета вещей и облаком. Это основная точка координации для работы решения машинного обучения IoT Edge.

  • Центр Интернета вещей использует маршруты для направления входящих данных с устройств Интернета вещей в другие подчиненные службы. Мы воспользуемся преимуществами маршрутов Центра Интернета вещей для отправки данных устройства в службу хранилища Azure. В службе хранилища Azure данные устройства используются Azure Machine Learning для обучения классификатора оставшегося срока службы (РС).

  • Далее в руководстве мы будем использовать Центр Интернета вещей для настройки устройства Azure IoT Edge и управления ими.

В этом разделе описан сценарий для создания Центра Интернета вещей Azure и учетной записи хранения Azure. Затем на портале Azure вы настроите маршрут, который пересылает данные, полученные концентратором, в контейнер службы хранилища Azure. Для выполнения этих действий потребуется около 10 минут.

  1. Подключитесь к виртуальной машине разработки, откройте окно PowerShell и перейдите к каталогу IoTHub .

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Запустите скрипт создания. Используйте те же значения для идентификатора подписки, расположения и группы ресурсов, что и при создании виртуальной машины разработки.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Вам будет предложено войти в Azure.
    • Скрипт подтверждает сведения о создании учетных записей Хаба и хранилища. Нажмите клавишу Y или ВВОД , чтобы продолжить.

Выполнение скрипта занимает около двух минут. После завершения скрипт выводит имя центра Интернета вещей и учетную запись хранения.

Проверка маршрута к хранилищу в Центре Интернета вещей

В рамках создания Центра Интернета вещей скрипт, который мы запустили в предыдущем разделе, также создал пользовательскую конечную точку и маршрут. Маршруты Центра Интернета вещей состоят из выражения запроса и конечной точки. Если сообщение соответствует выражению, данные отправляются по маршруту в связанную конечную точку. Конечные точки могут быть центрами событий, очередями служебной шины и разделами. В этом случае конечная точка — это контейнер блобов в учетной записи хранения. Давайте рассмотрим маршрут, созданный нашим скриптом, с помощью портала Azure.

  1. Откройте портал Azure и перейдите в группу ресурсов, которую вы используете для работы с этим руководством.

  2. В списке ресурсов выберите Центр Интернета вещей, созданный скриптом. У него будет имя, заканчивающееся случайными символами, такими как IotEdgeAndMlHub-jrujej6de6i7w.

  3. В меню слева в разделе "Параметры концентратора" выберите "Маршрутизация сообщений".

  4. На странице маршрутизации сообщений выберите вкладку "Пользовательские конечные точки ".

  5. Разверните раздел хранилища :

    Снимок экрана: хранилище с именем turbofanDeviceStorage в списке пользовательских конечных точек на портале I o T Hub.

    Мы видим turbofanDeviceStorage в списке пользовательских конечных точек. Обратите внимание на следующие характеристики этой конечной точки:

    • Он указывает на контейнер хранилища BLOB-объектов, созданный с именем devicedata, как указано в Контейнера.
    • Его формат имени файла содержит слово "partition" в имени. Мы обнаружили, что этот формат удобнее для операций с файлами, которые мы будем делать с помощью записных книжек Azure далее в этом руководстве.
    • Его состояние должно быть исправным.
  6. Перейдите на вкладку "Маршруты ".

  7. Выберите маршрут с именем turbofanDeviceDataToStorage.

  8. На странице сведений о маршрутах обратите внимание, что конечная точка маршрута — это конечная точка turbofanDeviceStorage .

    Снимок экрана: подробные сведения о маршруте turbofanDeviceDataToStorage.

  9. Просмотрите запрос маршрутизации, для которого задано значение true. Этот параметр означает, что все сообщения телеметрии устройства будут соответствовать этому маршруту; поэтому все сообщения будут отправлены в конечную точку turbofanDeviceStorage .

  10. Так как изменения не были сделаны, просто закройте эту страницу.

Очистите ресурсы

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

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

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

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