Compartir a través de


Desarrollo de dispositivos IoT de Azure

Azure IoT es una colección de servicios administrados y de plataforma que conectan, supervisan y controlan los dispositivos IoT. Azure IoT ofrece a los desarrolladores un conjunto completo de opciones. Las opciones incluyen plataformas de dispositivos, compatibilidad con servicios en la nube, SDK, compatibilidad con MQTT y herramientas para compilar aplicaciones en la nube habilitadas para dispositivos.

En este artículo se describen varias consideraciones clave para los desarrolladores que empiezan a trabajar con Azure IoT.

Rutas de desarrollo de dispositivos

En este artículo se describen dos rutas de desarrollo de dispositivos comunes. Cada ruta de acceso incluye un conjunto de opciones de desarrollo y tareas relacionadas.

  • Desarrollo general de dispositivos: Se alinea con las prácticas de desarrollo modernas, tiene como destino lenguajes de orden superior y se ejecuta en un sistema operativo de uso general, como Windows o Linux.

    Nota:

    Si el dispositivo puede ejecutar un sistema operativo de uso general, se recomienda seguir la ruta de desarrollo general de dispositivos . Proporciona un conjunto más completo de opciones de desarrollo.

  • Desarrollo de dispositivos empotrados: Describe el desarrollo dirigido a dispositivos con recursos limitados. A menudo, se usa un dispositivo restringido por recursos para reducir los costos unitarios, el consumo de energía o el tamaño del dispositivo. Estos dispositivos tienen control directo sobre la plataforma de hardware en la que se ejecutan.

Desarrollo general de dispositivos

Algunos desarrolladores adaptan los dispositivos de uso general existentes para conectarse a la nube e integrarlos en sus soluciones de IoT. Estos dispositivos pueden admitir lenguajes de orden superior, como C# o Python, y a menudo admiten un sistema operativo de uso general sólido, como Windows o Linux. Entre los dispositivos de destino comunes se incluyen equipos, contenedores, Raspberry Pis y dispositivos móviles.

En lugar de desarrollar dispositivos restringidos a escala, los desarrolladores de dispositivos generales se centran en habilitar un escenario de IoT específico requerido por su solución en la nube. Algunos desarrolladores también trabajan en dispositivos restringidos para su solución en la nube. Para los desarrolladores que trabajan con dispositivos con limitaciones de recursos, consulte la ruta de desarrollo de dispositivos integrados.

Importante

Para obtener información sobre los SDK de dispositivos que se usarán para el desarrollo general, consulte el Device SDKs.

Desarrollo de dispositivos insertados

El desarrollo embebido se dirige a dispositivos con recursos limitados que poseen memoria y procesamiento reducidos. Los dispositivos restringidos restringen lo que se puede lograr en comparación con una plataforma de desarrollo tradicional.

Los dispositivos incrustados suelen usar un sistema operativo en tiempo real (RTOS) o ningún sistema operativo. Los dispositivos insertados tienen control total sobre su hardware, debido a la falta de un sistema operativo de uso general. De hecho, los dispositivos insertados son una buena opción para los sistemas en tiempo real.

Los SDK incrustados actuales tienen como destino el lenguaje C . Los SDK insertados no proporcionan ningún sistema operativo ni compatibilidad con Eclipse ThreadX. Están diseñados pensando en objetivos integrados. Entre las consideraciones de diseño se incluyen la necesidad de una superficie mínima y un diseño que no sea de asignación de memoria.

Importante

Para obtener información sobre los SDK que se van a usar con el desarrollo de dispositivos embebidos, consulte los SDK de dispositivos embebidos.

Elección del hardware

Los dispositivos IoT de Azure son los bloques de creación básicos de una solución de IoT y son responsables de observar e interactuar con su entorno. Hay muchos tipos diferentes de dispositivos IoT y resulta útil comprender los tipos de dispositivos que existen y cómo pueden afectar al proceso de desarrollo.

Para obtener más información sobre la diferencia entre los tipos de dispositivos que se tratan en este artículo, consulte Acerca de los tipos de dispositivos IoT.

Elección de un SDK

Como desarrollador de dispositivos IoT de Azure, tiene un conjunto diverso de SDK, protocolos y herramientas para ayudar a crear aplicaciones en la nube habilitadas para dispositivos.

Hay dos opciones principales para conectar dispositivos y comunicarse con IoT Hub:

  • Use los SDK de Azure IoT. En la mayoría de los casos, se recomienda usar los SDK de IoT de Azure frente al uso de MQTT directamente. Los SDK simplifican el esfuerzo de desarrollo y simplifican la complejidad de conectar y administrar dispositivos. IoT Hub admite el protocolo MQTT v3.1.1 y los SDK de IoT simplifican el proceso de uso de MQTT para comunicarse con IoT Hub.
  • Use el protocolo MQTT directamente. Hay algunas ventajas de crear una solución de IoT Hub para usar MQTT directamente. Por ejemplo, una solución que usa MQTT directamente sin los SDK se puede compilar en el estándar MQTT abierto. Un enfoque basado en estándares hace que la solución sea más portátil y le proporciona más control sobre cómo se conectan y comunican los dispositivos. Sin embargo, IoT Hub no es un agente MQTT completo y no admite todos los comportamientos especificados en el estándar MQTT v3.1.1. La compatibilidad parcial con MQTT v3.1.1 agrega costos de desarrollo y complejidad. Los desarrolladores de dispositivos deben pesar las ventajas de usar los SDK de dispositivo IoT frente al uso directo de MQTT. Para más información, consulte Comunicación con un centro de IoT mediante el protocolo MQTT.

Hay tres conjuntos de SDK de IoT para el desarrollo de dispositivos:

  • SDK de dispositivos (para usar lenguajes de orden superior para conectar dispositivos de uso general existentes a aplicaciones de IoT)
  • SDK de dispositivos incrustados (para conectar dispositivos restringidos de recursos a aplicaciones de IoT)
  • SDK de servicio (para crear soluciones de Azure IoT que conectan dispositivos a servicios)

Para más información sobre cómo elegir un SDK de servicio o dispositivo IoT de Azure, consulte SDK de Azure IoT.

Selección de un servicio

Un paso clave en el proceso de desarrollo consiste en seleccionar un servicio para conectar los dispositivos. Hay dos opciones de servicio de Azure IoT principales para conectarse y administrar dispositivos: IoT Hub e IoT Central.

  • Azure IoT Hub. Use IoT Hub para hospedar aplicaciones de IoT y conectar dispositivos. IoT Hub es una aplicación de plataforma como servicio (PaaS) que actúa como centro de mensajes central para la comunicación bidireccional entre aplicaciones de IoT y dispositivos conectados. IoT Hub se puede escalar para admitir millones de dispositivos. En comparación con otros servicios de Azure IoT, IoT Hub ofrece el mayor control y personalización sobre el diseño de la aplicación. También ofrece la mayoría de las opciones de herramientas para desarrolladores para trabajar con el servicio, a costa de un aumento de la complejidad del desarrollo y la administración.
  • Azure IoT Central. IoT Central está diseñado para simplificar el proceso de trabajo con soluciones de IoT. Puede usarlo como prueba de concepto para evaluar las soluciones de IoT. IoT Central es una aplicación de software como servicio (SaaS) que proporciona una interfaz de usuario web para simplificar las tareas de creación de aplicaciones y conexión y administración de dispositivos. IoT Central usa IoT Hub para crear y administrar aplicaciones, pero mantiene la mayoría de los detalles transparentes para el usuario.

Herramientas para conectar y administrar dispositivos

Después de seleccionar el hardware y un SDK de dispositivo que se van a usar, tiene varias opciones de herramientas de desarrollo. Puede usar estas herramientas para conectar el dispositivo a IoT Hub y administrarlos. En la tabla siguiente se resumen las opciones de herramientas comunes.

Herramienta Documentación Descripción
Portal de Azure Creación de un centro de IoT con Azure Portal Portal basado en navegador para el IoT Hub y los dispositivos. También funciona con otros recursos de Azure, incluido IoT Central.
Explorador de IoT de Azure Explorador de IoT de Azure No se pueden crear centros de IoT. Se conecta a un centro de IoT existente para administrar dispositivos. A menudo se usa con la CLI o el portal.
CLI de Azure Creación de un centro de IoT con la CLI Interfaz de línea de comandos para crear y administrar aplicaciones de IoT.
Azure PowerShell Creación de un centro de IoT con PowerShell Interfaz de PowerShell para crear y administrar aplicaciones de IoT
Azure IoT Tools para VS Code Creación de un centro de IoT con herramientas para VS Code Extensión de VS Code para aplicaciones de IoT Hub.

Nota:

Además de las herramientas enumeradas anteriormente, puede crear y administrar aplicaciones de IoT mediante programación mediante el uso de plantillas de API REST, SDK de Azure o Azure Resource Manager. Obtenga más información en la documentación del servicio IoT Hub .

Pasos siguientes

Para más información sobre los SDK de dispositivos que puede usar para conectar dispositivos a Azure IoT, consulte el siguiente artículo.

Para empezar a trabajar con el desarrollo práctico de dispositivos, seleccione un tutorial de desarrollo de dispositivos relevante para los dispositivos que usa. Los siguientes tutoriales son buenos puntos de partida para el desarrollo general de dispositivos o el desarrollo de dispositivos insertados.