Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use Azure Logic Apps para supervisar la telemetría del dispositivo entrante desde IoT Hub y enviar notificaciones cuando se desencadenen alertas.
Azure Logic Apps puede ayudarle a organizar flujos de trabajo en servicios locales y en la nube, varias empresas y varios protocolos. Una aplicación lógica comienza con un desencadenador, seguido de una o varias acciones que se pueden secuenciar mediante controles integrados, como condiciones e iteradores. Esta flexibilidad hace que Logic Apps sea una solución de IoT ideal para escenarios de supervisión de IoT. Por ejemplo, la llegada de datos desde un dispositivo en un punto de conexión de IoT Hub puede iniciar flujos de trabajo de aplicaciones lógicas para almacenar los datos en un blob de Azure Storage, enviar alertas por correo electrónico para advertir de anomalías de datos, programar una visita de técnico si un dispositivo notifica un error, etc.
En este tutorial, realizará las siguientes tareas:
Cree una cola de Service Bus. Cree una ruta en el centro de IoT que envíe mensajes a la cola de Service Bus si los mensajes contienen lecturas anómalas de temperatura. Cree una aplicación lógica que busque mensajes que lleguen a la cola y envíe una alerta de correo electrónico.
El código de cliente que se ejecuta en el dispositivo establece una propiedad de aplicación, temperatureAlert, en cada mensaje de telemetría que envía al centro de IoT. Cuando el código de cliente detecta una temperatura por encima de un umbral determinado, establece esta propiedad trueen ; de lo contrario, establece la propiedad falseen .
Los mensajes que llegan al centro de IoT tienen un aspecto similar al siguiente, con los datos de telemetría contenidos en el cuerpo y la temperatureAlert propiedad contenida en las propiedades de la aplicación (no se muestran las propiedades del sistema):
{
"body": {
"messageId": 18,
"deviceId": "Raspberry Pi Web Client",
"temperature": 27.796111770668457,
"humidity": 66.77637926438427
},
"applicationProperties": {
"temperatureAlert": "false"
}
}
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Prerrequisitos
Prepare los siguientes requisitos previos antes de comenzar este tutorial.
Una suscripción de Azure activa.
Un centro de IoT en tu suscripción.
Una aplicación cliente que envía datos de temperatura a Azure IoT Hub. En este tutorial se filtran los mensajes de dispositivo a nube en función de una propiedad de mensaje denominada
temperatureAlert. Algunos ejemplos que generan mensajes con esta propiedad incluyen:- SDK de .NET: SimulatedDevice
- SDK de Java: send-event
- SDK de Node.js: simple_sample_device
- SDK de C: iothub_II_client_shared_sample
- Sin código: simulador en línea de Raspberry Pi
Crear un espacio de nombres de Service Bus y una cola
Cree un espacio de nombres de Service Bus y una cola. Más adelante en este artículo, creará una regla de enrutamiento en su centro de IoT para dirigir los mensajes que contengan una alerta de temperatura a la cola de Service Bus. Una aplicación lógica supervisa la cola de mensajes entrantes y envía una notificación para cada alerta.
Creación de un espacio de nombres de Service Bus
En Azure Portal, use la barra de búsqueda para buscar y seleccionar Service Bus.
Seleccione Crear para crear un espacio de nombres de Service Bus.
En el panel Crear espacio de nombres , proporcione la siguiente información:
Parámetro Importancia Subscription Elija la misma suscripción que contiene el centro de IoT. Grupo de recursos Elija el mismo grupo de recursos que contiene el centro de IoT. Nombre del espacio de nombres Asigne un nombre a su espacio de nombres de Service Bus. El espacio de nombres debe ser único en Azure. Ubicación Elija la misma ubicación que usa el centro de IoT. Nivel de precios Seleccione Básico en la lista desplegable. El nivel Básico es suficiente para este tutorial. Selecciona Revisar + crear.
Selecciona Crear.
Espere a que se complete la implementación y seleccione Ir al recurso.
Agregar una cola de Service Bus al espacio de nombres
En la página Información general del espacio de nombres de Service Bus, seleccione Cola.
En el campo Nombre , proporcione un nombre para la cola. Acepte los valores predeterminados para los demás campos y seleccione Crear.
En el espacio de nombres de Service Bus, seleccione Directivas de acceso compartido en la sección Configuración del menú de recursos.
Seleccione la directiva RootManageSharedAccessKey para abrir sus detalles.
Copie el valor de Cadena de conexión principal y guárdelo para usarlo más adelante en este tutorial al configurar la aplicación lógica.
Adición de un punto de conexión personalizado y una regla de enrutamiento al centro de IoT
Agregue un punto de conexión personalizado para la cola de Service Bus a su IoT hub. A continuación, cree una regla de enrutamiento de mensajes para dirigir los mensajes que contienen una alerta de temperatura a ese punto de conexión, donde la aplicación lógica los recoge. La regla de enrutamiento usa una consulta de enrutamiento, temperatureAlert = "true", para reenviar mensajes en función del valor de la propiedad de aplicación temperatureAlert establecida por el código de cliente que se ejecuta en el dispositivo. Para más información, consulte Consulta de enrutamiento de mensajes basada en las propiedades del mensaje.
Adición de un punto de conexión y una ruta personalizados
En Azure Portal, vaya al centro de IoT.
En el menú de recursos en Configuración del concentrador, seleccione Enrutamiento de mensajes y, a continuación, seleccione Agregar.
En la pestaña Punto de conexión, cree un punto de conexión para la cola de Service Bus facilitando la siguiente información:
Parámetro Importancia Tipo de punto de conexión Seleccione la cola de Service Bus. Nombre del extremo Proporcione un nombre para el nuevo punto de conexión que se asigna a la cola de Service Bus. Espacio de nombres de Service Bus Use el menú desplegable para seleccionar el espacio de nombres de Service Bus que creó en la sección anterior. Cola de Service Bus Use el menú desplegable para seleccionar la cola de Service Bus que creó en el espacio de nombres.
Seleccione Crear + siguiente.
En la pestaña Ruta , escriba la siguiente información para crear una ruta que apunte al punto de conexión de la cola de Service Bus:
Parámetro Importancia Nombre Proporcione un nombre único para la ruta. Origen de datos Mantenga el origen de datos predeterminado del mensaje de telemetría del dispositivo . Consulta de rutas Escriba temperatureAlert = "true"como cadena de consulta.
Seleccione Crear y omitir enriquecimientos.
Configuración de Logic Apps para notificaciones
En la sección anterior, configuró el centro de IoT para enrutar los mensajes que contienen una alerta de temperatura a la cola de Service Bus. Ahora, configuró una aplicación lógica para supervisar la cola de Service Bus y enviar una notificación por correo electrónico cada vez que se agrega un mensaje a la cola.
Creación de una aplicación lógica
En Azure Portal, busque y seleccione Logic Apps.
Seleccione Agregar para crear una nueva aplicación lógica.
Escriba la siguiente información en la pestaña Aspectos básicos de Crear aplicación lógica:
Parámetro Importancia Grupo de recursos Seleccione el mismo grupo de recursos que contiene el centro de IoT. Nombre Proporcione un nombre para la aplicación lógica. Region Selección de una ubicación cercana a usted. Tipo de plan Seleccione Consumo, lo que es suficiente para este tutorial.
Selecciona Revisar + crear.
Selecciona Crear.
Una vez completada la implementación, seleccione Ir al recurso para abrir la aplicación lógica.
Configurar el desencadenador de aplicación lógica
En la página de recursos de la aplicación lógica de Azure Portal, abra el diseñador de aplicaciones lógicas en la sección Herramientas de desarrollo del menú de recursos.
En el diseñador, desplácese hasta Plantillas y seleccione Aplicación lógica en blanco.
Seleccione la pestaña Todos para mostrar todos los conectores y desencadenadores y, a continuación, seleccione Service Bus.
En Desencadenadores, seleccione Cuando uno o varios mensajes lleguen a una cola (completar automáticamente).
Cree una conexión de Service Bus.
Proporcione un nombre de conexión y pegue la cadena de conexión que copió del espacio de nombres de Service Bus.
Selecciona Crear.
En la pantalla siguiente, use el menú desplegable para seleccionar la cola que creó en el espacio de nombres de Service Bus. A continuación, escriba
175en Número máximo de mensajes.
Seleccione Guardar en el menú del diseñador de aplicaciones lógicas para guardar los cambios.
Configurar la acción de la aplicación lógica
Seleccione Nuevo paso en el diseñador de aplicaciones lógicas.
Cree una conexión de servicio SMTP.
Busque y seleccione SMTP.
Seleccione Enviar correo electrónico (V3) como acción para este paso.
Proporcione un nombre de conexión y rellene el resto de los campos con la información SMTP de la cuenta de correo electrónico que desea usar para enviar los mensajes de notificación.
Use los vínculos siguientes para buscar la información SMTP, en función de su proveedor de correo:
Nota:
Es posible que tenga que deshabilitar TLS/SSL para establecer la conexión. Si este es el caso y desea volver a habilitar TLS una vez establecida la conexión, consulte el paso opcional al final de esta sección.
Selecciona Crear.
Configure la acción Enviar correo electrónico .
En la lista desplegable Agregar nuevo parámetro en el paso Enviar correo electrónico , seleccione los parámetros siguientes:
- From
- To
- Asunto
- Cuerpo
Pulse o haga clic en cualquier parte de la pantalla para cerrar el cuadro de selección.
Escriba la siguiente información para los parámetros de correo electrónico que seleccionó en el paso anterior:
Parámetro Importancia From Dirección de correo electrónico que configuró para la conexión SMTP. To Dirección de correo electrónico o direcciones en las que desea enviar correos electrónicos de notificación. Asunto High temperature detected.Cuerpo High temperature detected.Si se abre el cuadro de diálogo Agregar contenido dinámico , seleccione Ocultar para cerrarlo. En este tutorial no se usa contenido dinámico.
Seleccione Guardar para guardar la conexión SMTP.
(Opcional) Si tenía que deshabilitar TLS para establecer una conexión con el proveedor de correo electrónico y desea volver a habilitarla, siga estos pasos:
En el panel Aplicación lógica , en Herramientas de desarrollo, seleccione Conexiones de API.
En la lista de conexiones de API, seleccione la conexión SMTP.
En el panel Conexión de API smtp , en General, seleccione Editar conexión de API.
En el panel Editar conexión de API , seleccione Habilitar SSL? , vuelva a escribir la contraseña de la cuenta de correo electrónico y seleccione Guardar.
La aplicación lógica ya está lista para procesar alertas de temperatura desde la cola de Service Bus y enviar notificaciones a su cuenta de correo electrónico.
Prueba de la aplicación lógica
Empiece a enviar mensajes de temperatura desde el dispositivo IoT para probar la canalización de supervisión y notificación.
Inicie la aplicación cliente en el dispositivo. El código de cliente genera aleatoriamente mensajes de telemetría y establece la
temperatureAlertpropiedad entruecuando la temperatura supera los 30 C.Debe empezar a recibir notificaciones por correo electrónico enviadas por la aplicación lógica.
Nota:
Es posible que el proveedor de servicios de correo electrónico tenga que comprobar la identidad del remitente para asegurarse de que es usted quien envía el correo electrónico.
Limpieza de recursos
Si ya no necesita los recursos que creó en este tutorial, elimínelo y el grupo de recursos en el portal. Para ello, seleccione el grupo de recursos que contiene el centro de IoT y seleccione Eliminar.
Como alternativa, use la CLI:
# Delete your resource group and its contents
az group delete --name <RESOURCE_GROUP_NAME>
Pasos siguientes
En este tutorial, ha creado una aplicación lógica que conecta el centro de IoT y el buzón de correo para la supervisión y las notificaciones de temperatura.
Para continuar con la introducción a Azure IoT Hub y explorar todos los escenarios extendidos de IoT, consulte lo siguiente:
Administración de dispositivos con la extensión de Azure IoT Hub para Visual Studio Code
Utilice Power BI para visualizar datos de sensores en tiempo real desde el IoT Hub
Utiliza una aplicación web para visualizar datos de sensores en tiempo real desde IoT Hub