Compartir a través de


Tutorial: Supervisión de dispositivos IoT y envío de notificaciones con Azure Logic Apps

Use Azure Logic Apps para supervisar la telemetría del dispositivo entrante desde IoT Hub y enviar notificaciones cuando se desencadenen alertas.

Diagrama de un extremo a otro

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.

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

  1. En Azure Portal, use la barra de búsqueda para buscar y seleccionar Service Bus.

  2. Seleccione Crear para crear un espacio de nombres de Service Bus.

  3. 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.
  4. Selecciona Revisar + crear.

  5. Selecciona Crear.

  6. Espere a que se complete la implementación y seleccione Ir al recurso.

Agregar una cola de Service Bus al espacio de nombres

  1. En la página Información general del espacio de nombres de Service Bus, seleccione Cola.

    Captura de pantalla de la página de información general del espacio de nombres para agregar una cola.

  2. En el campo Nombre , proporcione un nombre para la cola. Acepte los valores predeterminados para los demás campos y seleccione Crear.

  3. En el espacio de nombres de Service Bus, seleccione Directivas de acceso compartido en la sección Configuración del menú de recursos.

  4. Seleccione la directiva RootManageSharedAccessKey para abrir sus detalles.

  5. 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

  1. En Azure Portal, vaya al centro de IoT.

  2. En el menú de recursos en Configuración del concentrador, seleccione Enrutamiento de mensajes y, a continuación, seleccione Agregar.

    Captura de pantalla que muestra la ubicación del botón Agregar para agregar una nueva ruta en ioT Hub.

  3. 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.

    Captura de pantalla que muestra cómo crear un endpoint de cola de Service Bus para tu ruta.

  4. Seleccione Crear + siguiente.

  5. 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.

    Captura de pantalla que muestra cómo agregar una ruta con una consulta.

  6. 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

  1. En Azure Portal, busque y seleccione Logic Apps.

  2. Seleccione Agregar para crear una nueva aplicación lógica.

  3. 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.

    Captura de pantalla que muestra la creación de una aplicación lógica en Azure Portal.

  4. Selecciona Revisar + crear.

  5. Selecciona Crear.

  6. 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

  1. 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.

  2. En el diseñador, desplácese hasta Plantillas y seleccione Aplicación lógica en blanco.

    Captura de pantalla que muestra seleccionar la plantilla de aplicación lógica en blanco.

  3. Seleccione la pestaña Todos para mostrar todos los conectores y desencadenadores y, a continuación, seleccione Service Bus.

    Seleccione Service Bus para empezar a crear la aplicación lógica en Azure Portal.

  4. En Desencadenadores, seleccione Cuando uno o varios mensajes lleguen a una cola (completar automáticamente).

    Seleccione el desencadenador de la aplicación lógica en Azure Portal.

  5. Cree una conexión de Service Bus.

    1. Proporcione un nombre de conexión y pegue la cadena de conexión que copió del espacio de nombres de Service Bus.

    2. Selecciona Crear.

    3. 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 175 en Número máximo de mensajes.

      Captura de pantalla que muestra la configuración de la cola en el diseñador de aplicaciones lógicas.

  6. 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

  1. Seleccione Nuevo paso en el diseñador de aplicaciones lógicas.

  2. Cree una conexión de servicio SMTP.

    1. Busque y seleccione SMTP.

      Captura de pantalla que muestra la selección de una conexión SMTP en el diseñador de aplicaciones lógicas.

    2. Seleccione Enviar correo electrónico (V3) como acción para este paso.

    3. 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.

      Captura de pantalla que muestra la configuración de la conexión SMTP en el diseñador de aplicaciones lógicas.

    4. Selecciona Crear.

  3. Configure la acción Enviar correo electrónico .

    1. 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.

      Elija campos de correo electrónico de conexión SMTP para incluirlos en el correo electrónico.

    2. 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.

      Proporcione detalles para los campos de correo electrónico de conexión SMTP.

  4. Seleccione Guardar para guardar la conexión SMTP.

  5. (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:

    1. En el panel Aplicación lógica , en Herramientas de desarrollo, seleccione Conexiones de API.

    2. En la lista de conexiones de API, seleccione la conexión SMTP.

    3. En el panel Conexión de API smtp , en General, seleccione Editar conexión de API.

    4. 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.

      Editar la conexión de la API SMTP en su aplicación lógica en el portal de Azure.

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.

  1. Inicie la aplicación cliente en el dispositivo. El código de cliente genera aleatoriamente mensajes de telemetría y establece la temperatureAlert propiedad en true cuando la temperatura supera los 30 C.

  2. 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: