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

Область применения:IoT Edge 1.5 проверка mark IoT Edge 1.5 IoT Edge 1.4 проверка mark IoT Edge 1.4

Внимание

Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4 LTS. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление 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 является удаленное развертывание бизнес- и облачной логики на устройствах путем упаковки в контейнеры. Для создания контейнеров необходим модуль контейнеров на компьютере разработки.

Единственным поддерживаемым модулем контейнеров для устройств IoT Edge в рабочей среде является Moby. Тем не менее любой модуль контейнеров, совместимый с Open Container Initiative, например Docker, может создавать образы модулей IoT Edge.

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

Средство разработки Azure IoT Edge — это средство командной строки для разработки и тестирования модулей IoT Edge. Можно создавать сценарии IoT Edge и образы модулей, запускать модули в симуляторе и отслеживать сообщения, отправляемые в Центр Интернета вещей. Средство 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 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# также включены.

Внимание

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

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

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

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

Расширение Visual Studio 2017/2019

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

Внимание

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

Дополнительные сведения и ресурсы для скачивания есть на страницах Azure IOT Edge Tools for Visual studio 2017 или Azure IOT Edge Tools for Visual Studio 2019.

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

Для более эффективной имитации устройств 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.

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

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

Дополнительные сведения, рекомендации и примеры см. в следующих разделах.