¿Qué es Azure IoT Hub?
Por lo general, Internet de las cosas (IoT) se define como una red de dispositivos físicos que se conectan a otros dispositivos y servicios a través de Internet u otra red e intercambian datos con ellos. Actualmente, hay más de diez mil millones de dispositivos conectados en el mundo y se agregan más cada año. Todo lo que se pueda insertar con los sensores y software necesarios se puede conectar a través de Internet.
Azure IoT Hub es un servicio administrado, hospedado en la nube, que actúa como centro de mensajes para la comunicación entre una aplicación de IoT y los dispositivos conectados. Puede conectar millones de dispositivos y sus soluciones de back-end con confianza y de forma segura. La mayoría de los dispositivos se pueden conectar a un centro de IoT.
Se admiten varios patrones de mensajería, como mensajes del dispositivo a la nube, carga de archivos desde dispositivos y métodos de solicitud-respuesta para controlar los dispositivos desde la nube. IoT Hub también admite la supervisión para ayudarlo a realizar un seguimiento de la creación de dispositivos, la conexión de dispositivos y los errores de los dispositivos.
IoT Hub escala a millones de dispositivos conectados de manera simultánea y a millones de eventos por segundo para admitir las cargas de trabajo de IoT.
Puede integrar IoT Hub con otros servicios de Azure para compilar soluciones completas de un extremo a otro. Por ejemplo, use:
Azure Event Grid para permitir que la empresa responda rápidamente a eventos críticos de forma confiable, escalable y segura.
Azure Logic Apps para automatizar procesos de negocio.
Azure Machine Learning para agregar aprendizaje automático y modelos de AI a la solución.
Azure Stream Analytics para ejecutar cálculos de análisis en tiempo real en los flujos de datos de los dispositivos.
Dispositivos IoT
Los dispositivos IoT son distintos de otros clientes como exploradores y aplicaciones móviles. En concreto, los dispositivos de IoT:
- A menudo son sistemas insertados sin operador humano.
- Se pueden implementar en ubicaciones remotas, donde el acceso físico resulta costoso.
- Es posible que solo sean accesibles a través del back-end de soluciones.
- Es posible que tengan limitaciones de recursos de procesamiento y alimentación.
- Es posible que tengan conectividad de red intermitente, lenta o costosa.
- Es posible que necesiten usar protocolos de aplicación propios, personalizados o específicos de determinados sectores.
Autenticación e identidad de dispositivo
Cada centro de IoT tiene un registro de identidades que almacena información acerca de los dispositivos y módulos que pueden conectarse a él. Para que un dispositivo o un módulo se pueda conectar, debe haber una entrada para ese dispositivo o módulo en el registro de identidades del centro de IoT. Un dispositivo o un módulo se puede autenticar en el centro de IoT en función de las credenciales almacenadas en el registro de identidades.
Se admiten dos métodos de autenticación entre el dispositivo e IoT Hub. Puede usar una autenticación basada en tokens de SAS o una autenticación de certificado X.509.
El método de token de SAS proporciona la opción de autenticación para cada llamada que realice el dispositivo a IoT Hub mediante la asociación de la clave simétrica a cada llamada. La autenticación de X.509 permite la autenticación de un dispositivo IoT como parte del establecimiento de la conexión estándar mediante Seguridad de la capa de transporte (TLS). La elección de uno u otro método depende de la seguridad que deba tener la autenticación del dispositivo y de la capacidad de almacenar la clave privada de forma segura en el dispositivo.
Puede configurar y aprovisionar muchos dispositivos a la vez mediante el servicio IoT Hub Device Provisioning.
Para más información, consulte Administración y control de dispositivos.
Comunicación de dispositivos
La conexión a Internet entre el dispositivo IoT y Azure IoT Hub está protegida mediante el estándar de Seguridad de capa de transporte (TLS). Azure IoT admite TLS 1.2, TLS 1.1 y TLS 1.0, en este orden. La compatibilidad con TLS 1.0 solo se proporciona para permitir versiones anteriores. Compruebe la compatibilidad con TLS en IoT Hub para ver cómo configurar el centro a fin de usar TLS 1.2, ya que proporciona la máxima seguridad.
Habitualmente, los dispositivos IoT envían datos desde los sensores hasta los servicios back-end de la nube. Pero hay otros tipos de comunicación posibles, como un servicio de back-end que envía comandos a los dispositivos. Por ejemplo:
- Un camión refrigerado que envía datos de temperatura cada 5 minutos a un centro de IoT.
- Un servicio back-end que envía un comando a un dispositivo para cambiar la frecuencia con la que se envían los datos para ayudar a diagnosticar un problema.
- Un dispositivo que supervisa un reactor por lotes en una planta química y envía una alerta cuando la temperatura supera un valor determinado.
Para más información, consulte Infraestructura y conectividad de dispositivos.
Telemetría de dispositivo
Entre los ejemplos de telemetría recibidos de un dispositivo se incluyen datos de sensor como los de velocidad o temperatura, un mensaje de error como un evento perdido o un mensaje de información para indicar que el dispositivo está en buen estado. Los dispositivos IoT envían eventos a una aplicación a fin de obtener información. Las aplicaciones pueden necesitar subconjuntos específicos de eventos para el procesamiento o el almacenamiento en distintos puntos de conexión.
Propiedades de dispositivo
Las propiedades se pueden leer o establecer desde la instancia de IoT Hub y se pueden usar para enviar notificaciones cuando se ha completado una acción. Un ejemplo de una propiedad específica en un dispositivo es la temperatura. La temperatura puede ser una propiedad grabable que se puede actualizar en el dispositivo o leer desde un sensor de temperatura conectado al dispositivo.
En IoT Hub puede habilitar propiedades mediante dispositivos gemelos o Plug and Play.
Comandos de dispositivo
Un ejemplo de un comando es el reinicio de un dispositivo. Para implementar comandos, IoT Hub le permite invocar métodos directos en los dispositivos. Los métodos directos representan una interacción entre solicitudes y respuestas con un dispositivo similar a una llamada HTTP en la que se completan correctamente o generan un error de inmediato (tras un tiempo de espera especificado por el usuario). Este enfoque es útil en escenarios donde el curso de una acción inmediata es distinto en función de si el dispositivo pudo responder.
Acción respecto de los datos del dispositivo
IoT Hub ofrece la capacidad de desbloquear el valor de los datos del dispositivo con otros servicios de Azure para que pueda cambiar a la solución predictiva de problemas, en lugar de la administración reactiva. Conecte la instancia de IoT Hub con otros servicios de Azure para realizar aprendizaje automático, análisis e inteligencia artificial a fin de actuar sobre los datos en tiempo real, optimizar el procesamiento y obtener conclusiones más detalladas.
Nota
Azure IoT Hub no almacena ni procesa datos de clientes fuera de la geografía en la que se implementa la instancia de servicio. Para obtener más información, consulte Replicación entre regiones en Azure.
Un punto de conexión integrado recopila datos del dispositivo de manera predeterminada
Un punto de conexión integrado recopila datos del dispositivo de forma predeterminada. Los datos se recopilan mediante un patrón de solicitud-respuesta por medio de puntos de conexión de dispositivo IoT dedicados, están disponibles por una duración máxima de siete días y se pueden usar para realizar acciones en un dispositivo. Los datos aceptados por el punto de conexión del dispositivo incluyen:
- Envío de mensajes de dispositivo a nube.
- Recepción de mensajes de nube a dispositivo
- Iniciar cargas de archivos.
- Recuperación y actualización de las propiedades del dispositivo gemelo.
- Recepción de solicitudes de métodos directos.
Para más información sobre los puntos de conexión de IoT Hub, vea Puntos de conexión de IoT Hub.
El enrutamiento de mensajes envía datos a otros puntos de conexión
Los datos también se pueden enrutar a otros servicios para el procesamiento posterior. A medida que la solución de IoT se escala horizontalmente, el número de dispositivos, el volumen y la variedad de los eventos y los distintos servicios también varían. Se necesita un método flexible, escalable, coherente y confiable para enrutar los eventos que se ajusten a este patrón. Para ver un tutorial que muestra varios usos del enrutamiento de mensajes, consulte Tutorial: Envío de datos de dispositivo a Azure Storage mediante el enrutamiento de mensajes de IoT Hub.
IoT Hub admite la configuración de puntos de conexión personalizados para servicios de Azure, como los contenedores de almacenamiento, Event Hubs, las colas y los temas de Service Bus, y Cosmos DB. Una vez configurado el punto de conexión, puede enrutar los datos de IoT a cualquiera de estos puntos de conexión para realizar operaciones de datos de bajada.
IoT Hub también se integra con Event Grid, lo que permite distribuir los datos a varios suscriptores. Event Grid es un servicio de eventos totalmente administrado que le permite administrar fácilmente eventos en muchos servicios y aplicaciones de Azure diferentes. Event Grid simplifica la creación de aplicaciones controladas por eventos y arquitecturas sin servidor.
Para más información, consulte Comparación del enrutamiento de mensajes y Event Grid para IoT Hub.
Pasos siguientes
Para probar una solución de IoT de un extremo a otro, consulte los siguientes inicios rápidos de IoT Hub:
- Enviar telemetría desde un dispositivo a IoT Hub
- Enviar telemetría desde un dispositivo de IoT Plug and Play a IoT Hub
- Inicio rápido: Control de un dispositivo conectado a IoT Hub
Para más información sobre las distintas formas en que puede compilar e implementar soluciones de IoT con IoT de Azure, visite: