Guía de conectividad de dispositivos IoT Central
Una aplicación IoT Central le permite supervisar y administrar cientos de miles de dispositivos a lo largo de su ciclo de vida. Esta guía está dirigida a los desarrolladores de dispositivos que implementan el código que se ejecuta en dispositivos que se conectan a IoT Central.
Los dispositivos interactúan con una aplicación IoT Central mediante los siguientes primitivos:
- Telemetría: son datos que un dispositivo envía a IoT Central. Por ejemplo, una secuencia de valores de temperatura de un sensor incorporado.
- Propiedades: son valores de estado que un dispositivo notifica a IoT Central. Por ejemplo, la versión actual del firmware del dispositivo. También puede tener propiedades de escritura que IoT Central puede actualizar en el dispositivo, como la temperatura de destino.
- Comandos: se llaman desde IoT Central para controlar el comportamiento de un dispositivo. Por ejemplo, la aplicación IoT Central podría llamar a un comando para reiniciar un dispositivo.
Tipos de dispositivos
En las secciones siguientes se describen los principales tipos de dispositivos que se pueden conectar a una aplicación IoT Central:
Dispositivo IoT
Un dispositivo IoT es un dispositivo independiente que se conecta directamente a IoT Central. Los dispositivos IoT envían telemetría desde sus sensores incorporados o conectados a la aplicación IoT Central. Los dispositivos independientes también pueden notificar valores de propiedad, recibir valores de propiedad de escritura y responder a los comandos.
Dispositivo de IoT Edge
Un dispositivo de IoT Edge se conecta directamente a IoT Central. Un dispositivo de IoT Edge también puede enviar su propia telemetría, notificar sus propiedades y responder a los comandos y las actualizaciones de propiedades de escritura. Los módulos de IoT Edge procesan datos localmente en el dispositivo IoT Edge. Un dispositivo de IoT Edge también puede actuar como intermediario para otros dispositivos conocidos como dispositivos de bajada. Algunos de los escenarios en los que se usan dispositivos de IoT Edge son:
- Adición o filtrado de los datos de telemetría antes de que se envíen a IoT Central. Este enfoque puede ayudar a reducir los costos que resultan del envío de datos a IoT Central.
- Habilitación de dispositivos que no se pueden conectar directamente a IoT Central y lo hacen a través del dispositivo de IoT Edge. Por ejemplo, un dispositivo de bajada podría usar Bluetooth para conectarse al dispositivo de IoT Edge y este usar Internet para conectarse a IoT Central.
- Control local de los dispositivos de bajada para evitar la latencia asociada con la conexión a IoT Central a través de Internet.
IoT Central solo ve el dispositivo de IoT Edge, no los dispositivos de bajada conectados a él.
Para más información, consulte Incorporación de un dispositivo Azure IoT Edge a la aplicación Azure IoT Central.
Puertas de enlace
Un dispositivo de puerta de enlace administra uno o varios dispositivos de nivel inferior que se conectan a la aplicación IoT Central. Un dispositivo de puerta de enlace puede procesar la telemetría de los dispositivos de bajada antes de que se reenvíe a la aplicación de IoT Central. Tanto los dispositivos IoT como los de IoT Edge pueden actuar como puertas de enlace. Para obtener más información, consulte Definición de un nuevo tipo de dispositivo de puerta de enlace de IoT en la aplicación de Azure IoT Central y Cómo conectar dispositivos a través de una puerta de enlace IoT Edge transparente.
Cómo se conectan los dispositivos
A medida que conecta un dispositivo a IoT Central, pasa por las siguientes fases: registrada, aprovisionada y conectada.
Para obtener información sobre por qué los dispositivos siempre deben usar el servicio de aprovisionamiento de dispositivos para conectarse a IoT Central, consulte Implementación de dispositivos y procedimientos recomendados para IoT Central.
Para obtener información sobre cómo supervisar el estado de un dispositivo, consulte Supervisión de los dispositivos.
Registrar un dispositivo
Al registrar un dispositivo con IoT Central, le indica a IoT Central el id. único del dispositivo que quiere conectar a la aplicación. Opcionalmente, en esta fase, se puede asignar el dispositivo a una plantilla de dispositivo que declare las funcionalidades del dispositivo a la aplicación.
Sugerencia
Un identificador de dispositivo puede contener letras, números y el carácter -
.
Hay tres maneras de registrar un dispositivo en una aplicación IoT Central:
Registrar automáticamente los dispositivos cuando intenten conectarse por primera vez. Este escenario permite a los OEM fabricar, de forma masiva, dispositivos que puedan conectarse sin necesidad de registrarse antes. Para más información, consulte el Registro automático de dispositivos.
Agregar dispositivos en masa desde un archivo CSV. Para obtener más información, vea Importación de dispositivos.
Use la página de Dispositivos de la aplicación IoT Central para registrar dispositivos individualmente. Para más información, consulte Agregar un dispositivo.
Opcionalmente, puede requerir que un operador apruebe el dispositivo antes de empezar a enviar datos.
Sugerencia
En la página Permisos > Grupos de conexión de dispositivos, la opción Aprobar automáticamente controla si un operador debe aprobar el dispositivo manualmente antes de que pueda empezar a enviar datos.
Solo necesita registrar un dispositivo una vez en la aplicación IoT Central.
Aprovisionamiento de un dispositivo
Cuando un dispositivo intenta conectarse por primera vez a la aplicación IoT Central, inicia el proceso conectándose al Servicio de aprovisionamiento de dispositivos (DPS). El servicio DPS comprueba las credenciales del dispositivo y, si estas son válidas, lo aprovisiona con la cadena de conexión a uno de los centros de IoT internos de IoT Central. DPS usa las configuraciones de inscripción de grupos en la aplicación IoT Central para administrar este proceso de aprovisionamiento.
Sugerencia
El dispositivo también envía el valor de ámbito de identificador que indica a DPS a qué aplicación IoT Central se conecta el dispositivo. Puede buscar el ámbito de identificador en la aplicación IoT Central en la página Permisos > Grupos de conexiones de dispositivos.
Normalmente, un dispositivo debe almacenar en caché la cadena de conexión que recibe de DPS, pero debe estar preparado para recuperar nuevos detalles de conexión si se produce un error en la conexión actual. Para más información, consulte Control de errores de conexión.
El uso de DPS permite:
- Que IoT Central incorpore y conecte dispositivos a gran escala.
- generar credenciales de dispositivo y configurar los dispositivos sin conexión sin tener que registrarlos primero mediante la UI de IoT Central.
- Que usted pueda usar identificadores de dispositivo propios para registrar estos en IoT Central. Esto simplifica la integración con sistemas del área de operaciones existentes.
- Una manera sencilla y coherente de conectar dispositivos a IoT Central.
Autenticación y conexión del dispositivo
Un dispositivo usa sus credenciales y la cadena de conexión que recibió de DPS para conectarse y autenticarse con la aplicación IoT Central. Un dispositivo también debe enviar un identificador de modelo que identifique la plantilla de dispositivo a la que está asignado.
IoT Central admite dos tipos de credenciales de dispositivo:
- Firmas de acceso compartido
- Certificados X.509
Para más información, consulte Conceptos de autenticación de dispositivos.
Todos los datos intercambiados entre los dispositivos y la instancia de Azure IoT Central están cifrados. IoT Hub autentica todas las solicitudes de un dispositivo que se conecta a cualquiera de los puntos de conexión de IoT Hub orientados al dispositivo. Para evitar el intercambio de credenciales por la red, el dispositivo utiliza tokens firmados para autenticarse. Para más información, consulte Control del acceso a IoT Hub.
Patrones de conectividad
Los desarrolladores de dispositivos suelen usar uno de los SDK de dispositivo para implementar dispositivos que se conectan a una aplicación IoT Central. Algunos escenarios, como el caso de los dispositivos que no se pueden conectar a Internet, también requieren una puerta de enlace.
Un diseño de solución debe tener en cuenta el patrón de conectividad de dispositivo necesario. Estos patrones se clasifican en dos categorías generales. Ambas categorías incluyen dispositivos que envían telemetría a la aplicación IoT Central:
Conexiones persistentes
Las conexiones persistentes son necesarias, ya que la solución necesita capacidades de comando y control. En escenarios de comando y control, la aplicación IoT Central envía comandos a dispositivos para controlar su comportamiento prácticamente en tiempo real. Las conexiones persistentes mantienen una conexión de red a la nube y se vuelven a conectar cada vez que hay una interrupción. Use el protocolo MQTT o AMQP para las conexiones de dispositivo persistentes a IoT Central.
Las siguientes opciones admiten conexiones de dispositivo persistentes:
Use los SDK de dispositivo IoT para conectar dispositivos y enviar telemetría:
Los SDK de dispositivo habilitan los protocolos MQTT y AMQP para crear conexiones persistentes a IoT Central.
Conecte dispositivos a través de una red local a un dispositivo IoT Edge que reenvíe telemetría a IoT Central:
Un dispositivo IoT Edge puede realizar una conexión persistente a IoT Central. En el caso de los dispositivos que no se pueden conectar a Internet o que requieren aislamiento de red, use un dispositivo IoT Edge como puerta de enlace local. La puerta de enlace reenvía la telemetría del dispositivo a IoT Central. Esta opción permite el comando y el control de los dispositivos de bajada conectados al dispositivo IoT Edge.
Para obtener más información, consulte Conexión de dispositivos de Azure IoT Edge a una aplicación de Azure IoT Central.
Use IoT Central Device Bridge para conectar dispositivos que usan un protocolo personalizado:
Algunos dispositivos usan un protocolo o codificación, como LWM2M o COAP, que IoT Central no admite actualmente. IoT Central Device Bridge actúa como un traductor que reenvía telemetría a IoT Central.
Para obtener más información, vea el repositorio de GitHub de Azure IoT Central Device Bridge.
Conexiones efímeras
Las conexiones efímeras son conexiones breves para que los dispositivos envíen telemetría a la aplicación IoT Central. Una vez que un dispositivo envía la telemetría, cierra la conexión. El dispositivo se vuelve a conectar cuando tiene más telemetría que enviar. Las conexiones efímeras no son adecuadas para escenarios de comando y control.
Las siguientes opciones admiten conexiones de dispositivo efímeras:
Conecte dispositivos y envíe telemetría mediante HTTP:
IoT Central admite clientes de dispositivo que usan la API HTTP para enviar telemetría. Para obtener más información, vea la documentación de la API Enviar evento de dispositivo.
Nota:
Use DPS para aprovisionar y registrar el dispositivo en IoT Central antes de usar la API HTTP para enviar telemetría.
Use IoT Central Device Bridge en modo sin estado para conectar dispositivos:
Implemente IoT Central Device Bridge como una función de Azure. La función acepta datos de telemetría entrantes como solicitudes HTTP y los reenvía a IoT Central. IoT Central Device Bridge se integra con DPS y controla automáticamente el aprovisionamiento de dispositivos.
Para obtener más información, vea el repositorio de GitHub de Azure IoT Central Device Bridge.
Use IoT Central Device Bridge en modo sin estado para conectar nubes externas:
Use Azure IoT Central Device Bridge para reenviar mensajes a IoT Central desde otras nubes de IoT, como SigFox, Particle y The Things Network.
Para obtener más información, vea el repositorio de GitHub de Azure IoT Central Device Bridge.
Transformación de datos y cálculo personalizado a la entrada
Algunos escenarios requieren telemetría de dispositivo aumentada con datos de almacenes o sistemas externos. El aumento de la telemetría antes de que llegue a IoT Central permite que características como los paneles y las reglas usen los datos aumentados.
Algunos escenarios exigen que se transforme la telemetría antes de que llegue a IoT Central. Por ejemplo, la transformación de telemetría a partir de formatos heredados.
Las siguientes opciones están disponibles para transformaciones o cálculos personalizados antes de que IoT Central ingiera la telemetría:
Use IoT Edge:
Use módulos personalizados de IoT Edge para transformaciones y cálculos personalizados. Use IoT Edge cuando los dispositivos empleen los SDK de dispositivo IoT de Azure.
Use IoT Central Device Bridge:
Use adaptadores de IoT Central Device Bridge en transformaciones y cálculos personalizados.
Para obtener más información, vea Transformación de datos para IoT Central.
Pasos siguientes
Si es un desarrollador de dispositivos y desea profundizar en algún código, el paso siguiente que se sugiere se indica en Creación y conexión de un aplicación cliente a una aplicación de Azure IoT Central.
Si desea obtener más información sobre la implementación de dispositivos, consulte Implementación de dispositivos y procedimientos recomendados para IoT Central.
Para obtener más información sobre el uso de IoT Central, los siguientes pasos sugeridos son probar los inicios rápidos, empezando por Creación de una aplicación de Azure IoT Central.