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


Создание и подготовка устройства IoT Edge в Windows с помощью симметричного ключа

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

Это важно

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

В этой статье приведены комплексные инструкции по регистрации и подготовке устройства Windows IoT Edge.

Примечание.

Azure IoT Edge с контейнерами Windows не поддерживается начиная с версии 1.2 Azure IoT Edge.

Рассмотрите возможность использования нового метода для запуска IoT Edge на устройствах Windows, Azure IoT Edge для Linux в Windows.

Если вы хотите использовать Azure IoT Edge для Linux в Windows, выполните действия, описанные в эквивалентном руководстве.

Каждое устройство, которое подключается к Центру Интернета вещей, имеет идентификатор устройства, который используется для отслеживания передачи данных из облака на устройство и с устройства в облако. Вы настраиваете устройство, используя сведения о его подключении, включая имя узла Центра Интернета вещей, идентификатор устройства и сведения, используемые устройством для проверки подлинности в Центре Интернета вещей.

Действия, описанные в этой статье, посвящены процессу, который называется подготовкой вручную, в ходе которого вы подключаете одно устройство к Центру Интернета вещей. Для ручного управления у вас есть два варианта аутентификации устройств IoT Edge:

  • Симметричные ключи: При создании нового удостоверения устройства в Центре Интернета вещей служба создает два ключа. Вы помещаете один ключ на устройство и предоставляете ключ Центру Интернета вещей при проверке подлинности.

    Этот метод аутентификации позволяет быстрее приступить к работе, но он не настолько безопасен.

  • Самозаверяющий сертификат X.509. Вы создаете два сертификата удостоверения X.509 и размещаете их на устройстве. При создании нового удостоверения устройства в Центре Интернета вещей вы предоставляете отпечатки обоих сертификатов. Когда устройство проходит проверку подлинности в Центре Интернета вещей, оно предоставляет один сертификат, и Центр Интернета вещей проверяет, соответствует ли сертификат своему отпечатку.

    Этот метод проверки подлинности является более безопасным и рекомендуется для рабочих сценариев.

В этой статье рассматривается использование симметричных ключей в качестве метода проверки подлинности. Если вы хотите использовать сертификаты X.509, см. создание и подготовка устройства IoT Edge в Windows с помощью сертификатов X.509.

Примечание.

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

Предпосылки

В этой статье описывается регистрация устройства IoT Edge и установка IoT Edge на нем. Эти задачи имеют различные предварительные требования и служебные программы, используемые для их выполнения. Перед продолжением убедитесь, что у вас выполнены все необходимые условия.

Средства управления устройствами

Для регистрации устройства можно использовать портал Azure, Visual Studio Code или Azure CLI. Каждая программа имеет собственные предварительные требования:

Бесплатный или Стандартный Центр Интернета вещей в вашей подписке Azure.

Требования к устройствам

Устройство с Windows.

Для IoT Edge с контейнерами Windows требуется версия Windows 1809/build 17763, которая является последней долго поддерживаемой версией Windows. Обязательно просмотрите список поддерживаемых систем , чтобы узнать поддерживаемые артикулы SKU.

Обратите внимание, что версии Windows в контейнере и узле должны соответствовать. Дополнительные сведения см. в разделе Не удалось запустить модуль из-за несоответствия ос.

Зарегистрировать устройство

Вы можете использовать портал Azure, Visual Studio Code или Azure CLI для регистрации устройства в зависимости от вашего предпочтения.

В Центре Интернета вещей на портале Azure устройства IoT Edge создаются и администрируются независимо от других устройств Интернета вещей, не поддерживающих IoT Edge.

  1. Войдите на портал Azure и перейдите к своему Центру Интернета вещей.

  2. В левой области выберите "Устройства " в меню, а затем выберите " Добавить устройство".

  3. На странице Создание устройства введите приведенные ниже сведения:

    • Создайте описательный идентификатор устройства. Запишите этот идентификатор устройства, так как вы будете использовать его позже.
    • Установите флажок IoT Edge Device.
    • В качестве типа проверки подлинности выберите Симметричный ключ.
    • Используйте параметры по умолчанию для автоматического создания ключей проверки подлинности и подключения нового устройства к центру.
  4. Выберите Сохранить.

Теперь, когда устройство зарегистрировано в Центр Интернета вещей, получите сведения, используемые для завершения установки и подготовки среды выполнения IoT Edge.

Просмотр зарегистрированных устройств и восстановление сведений о конфигурации

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

На странице Устройства перечислены устройства с поддержкой edge, которые подключаются к вашему центру Интернета вещей. Список можно фильтровать по типу устройства IoT Edge .

снимок экрана: просмотр устройств на портале Azure, Центре Интернета вещей.

Когда все будет готово к настройке устройства, вам понадобится строка подключения, которая связывает физическое устройство с его идентификатором в Центре Интернета вещей.

Для устройств, которые проходят проверку подлинности с симметричными ключами, строки подключения доступны для копирования на портале.

  1. Выберите идентификатор устройства IoT Edge из списка на странице устройств в портале.
  2. Скопируйте значение в поле Основная строка подключения или Дополнительная строка подключения.

Установка IoT Edge для Интернета вещей

В этом разделе описана подготовка виртуальной машины Windows или физического устройства для IoT Edge. Затем установите IoT Edge.

Azure IoT Edge использует среду выполнения контейнера, совместимую с OCI. Moby, подсистема на основе Moby, включена в скрипт установки, что означает, что для установки подсистемы нет дополнительных действий.

Чтобы установить среду выполнения IoT Edge, выполните следующие действия.

  1. Запустите PowerShell с правами администратора.

    Используйте сеанс AMD64 PowerShell, а не PowerShell(x86). Если вы не уверены, какой тип сеанса вы используете, выполните следующую команду:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Выполните команду Deploy-IoTEdge, которая выполняет следующие задачи:

    • Проверяет, находится ли компьютер с Windows в поддерживаемой версии
    • Включает функцию контейнеров
    • Скачивает подсистему moby и среду выполнения IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. При появлении запроса перезапустите устройство.

При установке IoT Edge на устройстве можно использовать дополнительные параметры для изменения процесса, включая:

  • Направляйте трафик через прокси-сервер
  • Укажите установщику локальный каталог для автономной установки

Дополнительные сведения об этих дополнительных параметрах см. в скриптах PowerShell для IoT Edge с контейнерами Windows.

Настройте устройство, присвоив ему облачную идентификацию

После того как подсистема контейнеров и среда выполнения IoT Edge установлены на вашем устройстве, вы готовы к следующему шагу — выполнению настройки устройства с данными для облачной идентификации и аутентификации.

  1. На устройстве IoT Edge запустите PowerShell от имени администратора.

  2. Используйте команду Initialize-IoTEdge, чтобы настроить среду выполнения IoT Edge на компьютере. Команда по умолчанию выполняет ручное развертывание с использованием контейнеров Windows.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • Если вы скачали скрипт IoTEdgeSecurityDaemon.ps1 на устройство для оффлайн-установки или установки определенной версии, обязательно обратитесь к локальной копии скрипта.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. При появлении запроса укажите строку подключения устройства, полученную в предыдущем разделе. Строка подключения устройства связывает физическое устройство с идентификатором устройства в Центре Интернета вещей и предоставляет сведения о проверке подлинности.

    Строка подключения устройства принимает следующий формат и не должен содержать кавычки: HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

При подготовке устройства вручную можно использовать дополнительные параметры для изменения процесса, включая:

  • Направляйте трафик через прокси-сервер
  • Объявите определенный образ контейнера edgeAgent и укажите учетные данные, если он находится в частном реестре.

Дополнительные сведения об этих дополнительных параметрах см. в скриптах PowerShell для IoT Edge с контейнерами Windows.

Проверка успешной конфигурации

Убедитесь, что среда выполнения успешно установлена и настроена на устройстве IoT Edge.

Проверьте состояние службы IoT Edge.

Get-Service iotedge

Проверьте журналы службы.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Просмотрите список запущенных модулей.

iotedge list

Автономная установка или установка определенной версии (необязательно)

Действия, описанные в этом разделе, предназначены для сценариев, не охваченных стандартными шагами по установке. К ним могут относиться:

  • Установка IoT Edge в автономном режиме
  • Установка версии релиз-кандидата
  • Установка версии, отличной от последней версии

Во время установки скачиваются три файла:

  • Скрипт PowerShell, содержащий инструкции по установке
  • Кабина Microsoft Azure IoT Edge, содержащая управляющую программу безопасности IoT Edge (iotedged), подсистему контейнеров Moby и CLI Moby
  • Установщик распространяемого пакета Visual C++ (среда выполнения VC)

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

  1. Последние файлы установки IoT Edge вместе с предыдущими версиями см. в выпусках Azure IoT Edge.

  2. Найдите версию, которую вы хотите установить, и скачайте следующие файлы из раздела Assets примечаний к выпуску на ваше IoT-устройство.

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab из канала обновлений версии 1.1.

    Важно использовать скрипт PowerShell из того же выпуска, что и файл .cab, который вы используете, так как функции изменяются для поддержки функций в каждом выпуске.

  3. Если скачанный файл .cab содержит суффикс архитектуры, переименуйте файл в только Microsoft-Azure-IoTEdge.cab.

  4. При необходимости скачайте дистрибутив установщика для Visual C++ Redistributable. Например, сценарий PowerShell использует эту версию: vc_redist.x64.exe. Сохраните установщик в той же папке на устройстве Интернета вещей, что и файлы IoT Edge.

  5. Чтобы установить с автономными компонентами, dot source локальную копию скрипта PowerShell.

  6. Выполните команду Deploy-IoTEdge с параметром -OfflineInstallationPath. Укажите абсолютный путь к каталогу файлов. Например

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    Команда развертывания будет использовать все компоненты, найденные в локальном каталоге файлов. Если отсутствует файл .cab или установщик Visual C++, он попытается скачать их.

Удалите IoT Edge

Если вы хотите удалить установку IoT Edge с устройства Windows, используйте команду Remove-IoTEdge из административного окна PowerShell. Эта команда удаляет среду выполнения IoT Edge вместе с существующей конфигурацией и данными подсистемы Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Для получения дополнительных сведений о параметрах удаления воспользуйтесь командой Get-Help Uninstall-IoTEdge -full.

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

Продолжайте развертывать модули IoT Edge, чтобы узнать, как развернуть модули на устройстве.