Compartir a través de


Desarrollo de dispositivos IoT

En esta introducción se presentan los conceptos clave sobre el desarrollo de dispositivos que se conectan a soluciones típicas de Azure IoT. Cada sección incluye vínculos a contenido que proporciona más detalles e instrucciones.

En una solución conectada a la nube, los dispositivos se conectan directamente a servicios conectados a la nube, como IoT Hub, mientras que en un dispositivo de solución perimetral se conectan a servicios conectados perimetrales en su entorno, como Azure IoT Operations.

En el diagrama siguiente se muestra una vista general de los componentes en una solución típica de IoT conectada al perímetro. Este artículo se centra en los dispositivos, los recursos y los conectores que se muestran en el diagrama:

Diagrama que muestra la arquitectura de la solución de IoT de alto nivel que resalta las áreas de conectividad de dispositivos.

Los activos suelen tener firmware integrado que implementa protocolos estándar. Por ejemplo, un brazo robótico podría ser un cliente OPC UA y una cámara de vídeo de seguridad podría implementar ONVIF. Azure IoT Operations incluye varios conectores que pueden usar estos protocolos para comunicarse con recursos y traducir mensajes de los recursos a mensajes MQTT. Algunos activos pueden recibir mensajes que le permiten realizar operaciones en ellos, como:

  • Giro o inclinación de una cámara de seguridad.
  • Cambie el nivel de registro en un brazo robótico.
  • Inicie una actualización de firmware.

Puede crear sus propios conectores personalizados para conectarse a recursos que usan protocolos no compatibles de forma nativa con Azure IoT Operations.

Tipos de dispositivos

Una solución de IoT puede contener muchos tipos de activos y dispositivos.

Entre los activos de ejemplo en una solución conectada al edge se incluyen los siguientes:

  • Brazos robóticos, cintas transportadoras y ascensores.
  • Máquinas CNC industriales, latas, sierras y taladros.
  • Máquinas de imágenes de diagnóstico médico.
  • Cámaras de vídeo de seguridad.
  • Controladores lógicos programables.

Estos activos suelen tener firmware integrado que implementa protocolos estándar. Por ejemplo, un brazo robótico podría ser un cliente OPC UA y una cámara de vídeo de seguridad podría implementar el protocolo ONVIF. En una solución conectada al borde, se utilizan conectores especializados para conectarse a estos activos y traducir sus mensajes a un formato común.

En el caso de los activos, no hay ningún equivalente directo al rol de desarrollador de dispositivos. En su lugar, un operador puede configurar los conectores para conectarse a los activos. Sin embargo, es posible que tenga que desarrollar conectores personalizados para conectarse a recursos que usan protocolos que no son compatibles de forma nativa con su solución conectada al edge.

Modelado y esquemas

Los modelos de dispositivos y activos definen los datos que los dispositivos y los activos intercambian con la nube. Los modelos habilitan una gama de escenarios de poco código o sin código para integrar los dispositivos y los activos con la solución de IoT.

En una solución de borde conectada, un operador configura conectores para conectarse a los activos. Esta configuración incluye una asignación entre los datos del recurso y un esquema en la nube. Por ejemplo, el conector de OPC UA permite al operador asignar identificadores de nodo de OPC UA a puntos de datos y eventos en un mensaje JSON intercambiado con el agente MQTT. En la siguiente captura de pantalla se muestra un ejemplo en la interfaz de usuario web de las operaciones digitales que define dos mapeos de este tipo:

Captura de pantalla que muestra una definición de activo de ejemplo.

En otra parte de la solución, un operador puede hacer referencia directamente a las etiquetas Temperature y Tag 10 sin necesidad de conocer los detalles de los identificadores de nodo de OPC UA.

Contenerización

La contenedorización es una manera de empaquetar y ejecutar el código en un entorno ligero y aislado. Los contenedores son portátiles y se pueden ejecutar en cualquier plataforma que admita el entorno de ejecución del contenedor. Los contenedores son una buena manera de empaquetar e implementar el código porque proporcionan un entorno en tiempo de ejecución coherente para el código. El entorno en tiempo de ejecución suele incluir los servicios, las bibliotecas y los paquetes que el código debe ejecutar.

Azure IoT Operations encapsula en contenedores todos sus conectores, intermediarios y otros componentes que se ejecutan en el borde. Azure IoT Operations implementa en un clúster de Kubernetes, que es una plataforma de orquestación de contenedores. Implemente los conectores personalizados u otros componentes que cree en el clúster de Kubernetes.

Puede ver una solución que use Azure IoT Edge como una puerta de enlace conectada al perímetro para IoT Hub, dentro de una solución híbrida que incluye elementos tanto de conectividad perimetral como de conectividad a la nube.

Herramientas de desarrollo de dispositivos

En la tabla siguiente se enumeran algunas de las herramientas de desarrollo de dispositivos de IoT disponibles:

Herramienta Descripción
Azure IoT Hub (extensión de VS Code) Esta extensión de VS Code le permite administrar los recursos y dispositivos de IoT Hub desde VS Code.
Explorador Azure IoT Esta herramienta multiplataforma le permite administrar los recursos y dispositivos de IoT Hub desde una aplicación de escritorio.
Azure IoT extensión para Azure CLI Esta extensión de la CLI incluye comandos como az iot device simulate, az iot device c2d-message y az iot hub monitor-events que le ayudan a probar las interacciones con los dispositivos.