Подготовка среды разработки и тестирования для IoT Edge

Применимо к:IoT Edge 1.5 флажок IoT Edge 1.5

Внимание

IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.

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

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

Операционная система

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

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

Операционные системы машины для разработки и устройств IoT Edge не обязаны совпадать. Однако операционная система контейнера должна быть согласована между компьютером разработки и устройством IoT Edge. Например, можно разрабатывать модули на Windows компьютере и развертывать их на устройстве Linux. Компьютер Windows должен запускать контейнеры Linux для создания модулей для устройства Linux.

Движок контейнеров

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

Любой модуль контейнеров, совместимый с Open Container Initiative, например Docker, может создавать образы модулей IoT Edge. Moby — это поддерживаемый модуль контейнеров для IoT Edge устройств в рабочей среде. Если вы используете оснастки Ubuntu Core, Canonical обеспечивает поддержку оснастки Docker и поддерживает её для промышленных сценариев.

Средства разработки

Средство разработки Azure IoT Edge — это средство командной строки для разработки и тестирования модулей IoT Edge. Вы можете создавать новые сценарии IoT Edge, создавать образы модулей, запускать модули в симуляторе и отслеживать сообщения, отправленные в IoT Hub. Средство iotedgedev — это рекомендуемое средство для разработки модулей IoT Edge.

Как Visual Studio, так и Visual Studio Code имеют расширения надстроек для разработки решений IoT Edge. Эти расширения предоставляют шаблоны, относящиеся к языку, для создания и развертывания новых сценариев IoT Edge. Расширения Azure IoT Edge для Visual Studio и Visual Studio Code помогают выполнять код, сборку, развертывание и отладку решений IoT Edge. Вы можете создать все IoT Edge решение, содержащее несколько модулей, и расширения автоматически обновляют шаблон манифеста развертывания при каждом добавлении нового модуля. Расширения также позволяют управлять устройствами Интернета вещей из Visual Studio или Visual Studio Code. Модули можно развертывать на устройстве, отслеживать состояние и просматривать сообщения по мере их поступления в IoT Hub. Наконец, оба расширения используют средство разработки IoT EdgeHub для включения локального выполнения и отладки модулей на компьютере разработки.

инструмент разработки IoT Edge

Средство разработки Azure IoT Edge упрощает разработку IoT Edge с помощью возможностей командной строки. Это средство предоставляет команды CLI для разработки, отладки и тестирования модулей. Средство разработки IoT Edge работает с системой разработки, независимо от того, установили ли вы на компьютере зависимости вручную или используете предварительно созданный IoT Edge контейнер разработки для запуска средства iotedgedev в контейнере.

Для получения дополнительной информации и инструкций по началу работы, см. вики-страницу инструмента разработки IoT Edge.

расширение Visual Studio Code

Расширение Azure IoT Edge для Visual Studio Code предоставляет шаблоны модулей IoT Edge, созданные на языках программирования, включая C, C#, Java, Node.jsи Python. Шаблоны для функций Azure в C# также включены.

Внимание

Расширение Azure IoT Edge Visual Studio Code находится в режиме обслуживания. Средство iotedgedev — это рекомендуемое средство для разработки модулей IoT Edge.

Дополнительные сведения и скачивание см. в разделе Azure IoT Edge для Visual Studio Code.

Помимо расширений IoT Edge, может оказаться полезным установить другие расширения для разработки. Например, можно использовать Docker для Visual Studio Code для управления образами, контейнерами и реестрами. Кроме того, все основные поддерживаемые языки имеют расширения для Visual Studio Code, которые могут помочь при разработке модулей.

Расширение Azure IoT Hub полезно в качестве компаньона для расширения Azure IoT Edge.

расширение Visual Studio 2019/2022

Средства Azure IoT Edge для Visual Studio предоставляют шаблон модуля IoT Edge на основе C# и C.

Внимание

Расширения Azure IoT Edge Visual Studio находятся в режиме обслуживания и больше не доступны в Visual Studio Marketplace. Средство iotedgedev — это рекомендуемое средство для разработки модулей IoT Edge.

Инструменты тестирования

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

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

Инструмент Также известен как Поддерживаемые платформы Лучше всего для
Средство разработки IoT EdgeHub iotedgehubdev Windows, Linux, macOS Имитация устройства для отладки модулей.
Контейнер разработки IoT Edge iotedgedev Windows, Linux, macOS Разработка без установки зависимостей.

Средство разработки IoT EdgeHub

Средство разработки Azure IoT EdgeHub предоставляет локальную разработку и отладку. Это средство помогает запускать модули IoT Edge без среды выполнения IoT Edge, чтобы вы могли создавать, разрабатывать, тестировать, запускать и отлаживать модули и решения IoT Edge локально. Нет необходимости отправлять образы в реестр контейнеров и развертывать их на устройстве для тестирования.

Средство разработки IoT EdgeHub работает с расширениями Visual Studio и Visual Studio Code и с помощью средства разработки IoT Edge. Средство разработки поддерживает внутреннюю разработку циклов и внешнее тестирование циклов, поэтому она также интегрируется с другими средствами DevOps.

Внимание

Средство разработки IoT EdgeHub находится в режиме обслуживания. Рассмотрите возможность использования виртуальной машины Linux с установленной средой выполнения IoT Edge, физического устройства или EFLOW.

Для получения дополнительной информации и установки см. в разделе средство разработки Azure IoT EdgeHub.

Контейнер разработки IoT Edge

Контейнер разработки Azure IoT Edge — это контейнер Docker, имеющий все зависимости, необходимые для разработки IoT Edge. Этот контейнер позволяет легко приступить к работе с любым языком, в котором вы хотите развиваться, включая C#, Python, Node.jsи Java. Вам нужно лишь установить модуль контейнеров, например Docker или Moby, для передачи контейнеров на компьютер разработки.

Дополнительные сведения см. в разделе Azure IoT Edge Dev Container.

Инструменты DevOps

Когда вы будете готовы к разработке масштабных решений для крупной рабочей среды, воспользуйтесь преимуществами современных принципов DevOps, включая автоматизацию, мониторинг и оптимизированные процессы разработки программного обеспечения. IoT Edge имеет расширения для поддержки средств DevOps, включая Azure DevOps, Azure DevOps Projects и Jenkins. Если вы хотите настроить существующий конвейер или использовать другое средство DevOps, например CircleCI или TravisCI, используйте функции CLI, включенные в средство разработки IoT Edge.

Дальнейшие шаги