Preparación del entorno de desarrollo y prueba para IoT Edge

Se aplica a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

IoT Edge 1.4 es la versión admitida. Si está usando una versión anterior, consulte Actualización de IoT Edge.

IoT Edge traslada la lógica de negocios existente a los dispositivos que funcionan en el perímetro. Con el fin de preparar las aplicaciones y cargas de trabajo para que se ejecuten como módulos IoT Edge, tendrá que compilarlas como contenedores. En este artículo se proporcionan instrucciones sobre cómo configurar el entorno de desarrollo, para poder crear correctamente una solución de IoT Edge. Una vez que haya configurado el entorno de desarrollo, puede aprender a desarrollar módulos IoT Edge propios.

En cualquier solución de IoT Edge, hay al menos dos máquinas que se deben tener en cuenta: el dispositivo (o los dispositivos) IoT Edge que ejecuta el módulo IoT Edge y la máquina de desarrollo que compila, prueba e implementa módulos. Este artículo se centra principalmente en el equipo de desarrollo. Con fines de prueba, los dos equipos pueden ser el mismo. Puede ejecutar IoT Edge en el equipo de desarrollo e implementar módulos en él.

Sistema operativo

IoT Edge se ejecuta en un conjunto específico de sistemas operativos compatibles. Al desarrollar para IoT Edge, se puede usar la mayoría de los sistemas operativos en los que se puede ejecutar un motor de contenedor. El motor de contenedor es un requisito en el equipo de desarrollo para compilar los módulos como contenedores e insertarlos en un registro de contenedor.

Si la máquina de desarrollo no puede ejecutar IoT Edge, vaya a la sección Herramientas de pruebas de este artículo para aprender a probar y depurar localmente.

No es necesariamente tienen que coincidir los sistemas operativos de la máquina de desarrollo y de los dispositivos IoT Edge. Pero el sistema operativo del contenedor debe ser coherente con el de la máquina de desarrollo y el del dispositivo IoT Edge. Por ejemplo, puede desarrollar módulos en un equipo Windows e implementarlos en un dispositivo de Linux. El equipo con Windows debe ejecutar contenedores de Linux para compilar los módulos para el dispositivo de Linux.

Motor de contenedor

El concepto central de IoT Edge es que se puede implementar de forma remota la lógica de negocios y en la nube en los dispositivos si se empaqueta en contenedores. Para crear contenedores, necesita un motor de contenedor en el equipo de desarrollo.

El único motor de contenedor compatible para los dispositivos IoT Edge en producción es Moby. Pero cualquier motor de contenedor compatible con la iniciativa Open Container, como Docker, es capaz de crear imágenes de módulos IoT Edge.

Herramientas de desarrollo

La herramienta de desarrollo de Azure IoT Edge es una herramienta de línea de comandos para desarrollar y probar módulos de IoT Edge. Puede crear escenarios de IoT Edge, compilar imágenes de módulos, ejecutar módulos en un simulador y supervisar los mensajes enviados a IoT Hub. La herramienta iotedgedev es la herramienta recomendada para desarrollar módulos de IoT Edge.

Visual Studio y Visual Studio Code tienen extensiones de complemento para ayudar a desarrollar soluciones de IoT Edge. Estas extensiones proporcionan plantillas específicas del idioma para ayudar a crear e implementar nuevos escenarios de IoT Edge. Las extensiones de Azure IoT Edge para Visual Studio y Visual Studio Code ayudan a crear el código, compilar, implementar y depurar las soluciones de IoT Edge. Puede crear una solución completa de IoT Edge que contenga varios módulos, y las extensiones actualizan de forma automática una plantilla de manifiesto de implementación con cada nuevo módulo que se agregue. Las extensiones también habilitan la administración de dispositivos IoT desde Visual Studio o Visual Studio Code. Puede implementar los módulos en un dispositivo, supervisar el estado y ver los mensajes cuando lleguen a IoT Hub. Por último, las dos extensiones usan la herramienta de desarrollo de IoT EdgeHub para habilitar la ejecución local y la depuración de los módulos en el equipo de desarrollo.

Herramienta de desarrollo de IoT Edge

La herramienta de desarrollo de Azure IoT Edge simplifica el desarrollo de IoT Edge con funciones de línea de comandos. Esta herramienta proporciona comandos de la CLI para desarrollar, depurar y probar módulos. La herramienta de desarrollo de IoT Edge funciona con el sistema de desarrollo, tanto si ha instalado manualmente las dependencias en la máquina como si usa el contenedor de desarrollo de IoT Edge creado previamente para ejecutar la herramienta iotedgedev en un contenedor.

Para obtener más información y para comenzar, vea la wiki de la herramienta de desarrollo de IoT Edge.

Extensión de Visual Studio Code

La extensión de Azure IoT Edge para Visual Studio Code proporciona plantillas de módulo de IoT Edge integradas en lenguajes de programación como C, C#, Java, Node.js y Python. También se incluyen plantillas para Azure Functions en C#.

Importante

La extensión de Visual Studio Code de Azure IoT Edge está en modo de mantenimiento. La herramienta iotedgedev es la herramienta recomendada para desarrollar módulos de IoT Edge.

Para obtener más información y descargar, vea Azure IoT Edge para Visual Studio Code.

Además de las extensiones de IoT Edge, le resultará útil instalar extensiones adicionales para el desarrollo. Por ejemplo, puede usar compatibilidad con Docker para Visual Studio Code para administrar imágenes, contenedores y registros. Además, todos los principales lenguajes compatibles tienen extensiones para Visual Studio Code que pueden ayudar cuando desarrolle módulos.

La extensión de Azure IoT Hub es útil como complemento para la extensión de Azure IoT Edge.

Extensión de Visual Studio 2017/2019

Las herramientas de Azure IoT Edge para Visual Studio proporcionan una plantilla de módulo IoT Edge basada en C# y C.

Importante

Las extensiones de Visual Studio de Azure IoT Edge están en modo de mantenimiento. La herramienta iotedgedev es la herramienta recomendada para desarrollar módulos de IoT Edge.

Para obtener más información y descargar, consulte Herramientas de Azure IoT Edge para Visual Studio 2017 o Herramientas de Azure IoT Edge para Visual Studio 2019.

Herramientas de pruebas

Existen varias herramientas de pruebas para ayudar a simular dispositivos IoT Edge o depurar módulos de forma más eficaz. En la tabla siguiente se muestra una comparación general entre las herramientas y en las secciones individuales, se describe cada herramienta de forma más específica.

El runtime de IoT Edge solo se admite para las implementaciones de producción, pero las herramientas siguientes permiten simular o crear fácilmente dispositivos IoT Edge para fines de prueba y desarrollo. Estas herramientas no son mutuamente excluyentes, pero pueden funcionar de forma conjunta para proporcionar una experiencia de desarrollo completa.

Herramienta También conocida como Plataformas compatibles Más adecuado para
Herramienta de desarrollo de IoT EdgeHub iotedgehubdev Windows, Linux, macOS Simular un dispositivo para depurar módulos.
Contenedor de desarrollo de IoT Edge iotedgedev Windows, Linux, macOS Desarrollar sin instalar dependencias.

Herramienta de desarrollo de IoT EdgeHub

La herramienta de desarrollo de Azure IoT EdgeHub proporciona una experiencia de desarrollo y depuración local. La herramienta ayuda a iniciar los módulos IoT Edge sin el runtime de IoT Edge para que pueda crear, desarrollar, probar, ejecutar y depurar módulos y soluciones de IoT Edge de forma local. Para realizar las pruebas, no es necesario insertar imágenes en un registro de contenedor e implementarlas en un dispositivo.

La herramienta de desarrollo IoT EdgeHub se ha diseñado para funcionar conjuntamente con las extensiones de Visual Studio y Visual Studio Code, así como con la herramienta de desarrollo de IoT Edge. La herramienta de desarrollo admite el desarrollo de bucle interno así como las pruebas de bucle externo, por lo que también se integra con otras herramientas de DevOps.

Importante

La herramienta de desarrollo de IoT EdgeHub está en modo de mantenimiento. Considere la posibilidad de usar una máquina virtual Linux con el entorno de ejecución de IoT Edge instalado, el dispositivo físico o EFLOW.

Para obtener más información y para la instalación, vea Herramienta de desarrollo de Azure IoT EdgeHub.

Contenedor de desarrollo de IoT Edge

El contenedor de desarrollo de Azure IoT Edge es un contenedor de Docker que tiene todas las dependencias que necesita para el desarrollo de IoT Edge. Este contenedor facilita empezar a trabajar con cualquier lenguaje en el que quiera desarrollar, incluidos C#, Python, Node.js y Java. Todo lo que necesita instalar es un motor de contenedor, como Docker o Moby, para extraer el contenedor en el equipo de desarrollo.

Para obtener más información, vea el artículo sobre el contenedor de desarrollo de Azure IoT Edge.

Herramientas de DevOps

Cuando esté listo para desarrollar soluciones a escala para escenarios de producción de gran tamaño, aproveche las ventajas de los principios modernos de DevOps incluida la automatización, la supervisión y los procesos de ingeniería de software simplificados. IoT Edge tiene extensiones para admitir herramientas de DevOps, incluidos Azure DevOps, Azure DevOps Projects y Jenkins. Si quiere personalizar una canalización existente o usar otra herramienta de DevOps como CircleCI o TravisCI, puede hacerlo con las características de la CLI que se incluyen en la herramienta de desarrollo de IoT Edge.

Para obtener más información, instrucciones y ejemplos, vea las páginas siguientes: