Visualizar datos de sensores en tiempo real de Azure IoT Hub usando BI


Antes de empezar este post  deberíamos   tener configurado  un dispositivo Iot de Azure como por ejemplo  algunos que hemos visto como puede ser una Raspberry Pi 3  , un ESP8266  o incluso un dispositivo simulado.

En todos los  dispositivos de Azure IoT  hub comentados debemos implementar una aplicación de ejemplo para ejecutar en estos dispositivos, la cual  enviará  datos que  los sensores recogen del mundo físico ( humedad , temperatura, presencia, etc  ) a su hub de IoT.

Ahora ,una vez que tenemos un dispositivo IoT enviando mensajes  de telemetría a la nube de Azure Iot Edge, toca  crear una cuenta de Azure storage y una aplicación Azure  para poder almacenar los mensajes de hub de IoT en el almacenamiento blob, pero  como comentamos  al  principio , como requisito previo,    necesitamos  tener configurado su dispositivo de Iot  para cubrir los siguientes requisitos:

  • Una suscripción activa de Azure
  • Un centro de IoT bajo su suscripción
  • Una aplicación que envíe mensajes a su hub de IoT
  • Una cuenta  de BI. (Tratar de poder BI gratis)

 

Si  su dispositivo de IoT  ya esta enviando mensajes al Hub de Iot  excepto que haya instalado en una maquina Linux el explorador de mensajes de Azure  olo haga desde la consola  no podrá ver el contenido  de esos mensajes.  Precisamente para solucionar este problema, podemos conectar el sistema de almacenamiento de Azure con los mensajes del dispositivo para que sean almacenados como BLOB’s en el la nube de Azure,como vimos en  un post anterior 

 

En  este  post veremos como  visualizar de una forma gráfica   precisamente esos  datos del sensor en tiempo real que recibe de su hub de Azure IoT por medio de BI , aunque como veremos mas adelante en otro post si usted quiere tratar de visualizar los datos en su hub de IoT con aplicaciones Web e puede hace con otra herramienta  Azure Web Apps

 

Añadir un grupo de consumidores a su hub de IoT

Grupos de consumidores son utilizados por aplicaciones para extraer datos desde Azure IoT. Por esta razon  crearemos un grupo de consumidores para ser utilizado por un servicio de Azure que viene para leer datos de su centro de IoT.

Para agregar un grupo de consumidores a su hub de IoT, siga estos pasos:

  1. En el portal de Azure, abra su hub de IoT.
  2. En el panel izquierdo, Mensajeria –>Puntos de acceso
  3. Haga clic en el panel central en Events
  4. Ahora introduzca un nombre en grupos de consumidores en el panel derecho ( en el ejemplo lo hemos llamado «Device-to-cloud-settings» )
  5. Haga clic en Guardar.puntos de coenxion.PNG

Crear, configurar y ejecutar un trabajo de Stream Analytics

Crear un trabajo de Stream Analytics

  1. En el portal de Azure, haga clic en crear un recurso > Internet de las cosas > Stram Analytics (aálisis de flujo de trabajo)streamanalitycs.PNG
  2. Introduzca la siguiente información para el trabajo.Nombre del trabajo: el nombre del trabajo que debe ser  único en el sistema.                                                                                                                                            Suscripción: Evaluación gratuita.Grupo de recursos: utilizar el mismo grupo de recursos que utiliza el hub de IoT.

    Ubicación: utilizar la misma ubicación como el grupo de recursos.

    Anclar al panel: Seleccione esta opción para acceder a su centro de IoT desde el panel de entrada de Azurestreamjob.PNG

  3. Haga clic en Crear.

Agregar una entrada para el trabajo de Stream Analytics

  1. Abrir el trabajo de Stream Analytics.
  2. En la Topología de trabajo, haga clic en entradas.
  3. En el panel de entradas , haga clic en Agregary especifique la siguiente información:Alias de la entrada: escriba un nombre  único para el alias la entrada.Fuente: seleccione centro de IoT.

    Grupo de consumidores: seleccione el grupo de consumidores que acaba de crear.

  4. Haga clic en crear.centro deiot.PNG

Añadir una salida a la tarea de Stream Analytics

  1. En Topología de trabajo, haga clic en resultados.
  2. En el panel resultados , haga clic en Agregary luego ingrese la siguiente información:Alias de salida: el único alias para la salida.Tipo: seleccione Power BI.
  3. Haga clic en autorizar  para lo cual necesitará  una cuenta profesional  o bien probarlo con  una version gratuita salidapowerbi
  4. Ingrese a su cuenta Power BI y autorice esta salida .
  5. Una vez autorizado, introduzca la siguiente información:Espacio de trabajo de grupo: Seleccione su área de trabajo de grupo de destino.Nombre de conjunto de datos: Introduzca un nombre de conjunto de datos.

    Nombre de la tabla: escriba un nombre de tabla.

  6. Haga clic en crear.

Configurar la consulta del trabajo de análisis de secuencia

  1. En la Topología de trabajo, haga clic en consulta.
  2. Reemplace con el alias de entrada del trabajo.[YourInputAlias]
  3. Reemplace con el alias de salida del trabajo.[YourOutputAlias]
  4. Haga clic en Guardar.

Ejecutar el trabajo de análisis de secuencia

En el trabajo de análisis de secuencia, haga clic en Inicio > ahora > iniciar. Una vez que el trabajo se inicia con éxito, el estado del trabajo cambia de parado a correr.

Crear y publicar un informe de Power BI para visualizar los datos

  1. Garantizar que la aplicación de ejemplo se ejecuta en el dispositivo.
  2. Inicie sesión su cuenta de Power BI .
  3. Ir al espacio de trabajo de grupo que se establece cuando se crea la salida para el trabajo de análisis de secuencia.
  4. Haga clic en conjuntos de datos de Streaming.Debería ver el conjunto de datos lista que especificó cuando creó la salida para el trabajo de análisis de secuencia.
  5. En acciones, haga clic en el primer icono para crear un informe.
  6. Crear un gráfico de líneas para mostrar la temperatura en tiempo real con el tiempo.
    1. En la página de creación de informe, agregar un gráfico de líneas.
    2. En el panel de campos , expanda la tabla que especificó cuando creó la salida para el trabajo de análisis de secuencia.
    3. Arrastre EventEnqueuedUtcTime al eje de en el panel de visualización .
    4. Arrastre la temperatura a los valores.Ahora se crea un gráfico de líneas. El eje x muestra la fecha y la hora en la zona de tiempo UTC. El eje y muestra la temperatura del sensor. 
  7. Crear otro gráfico de líneas para indicar humedad en tiempo real con el tiempo. Para ello, siga los mismos pasos anteriores y coloque EventEnqueuedUtcTime en el eje x y la humedad en el eje y.
  8. Haga clic en Guardar para guardar el informe.
  9. Haga clic en archivo > publicar para la web.
  10. Haga clic en crear incrustar códigoy luego haga clic en publicar.

Está previsto el enlace del informe para que se pueda compartir  para el acceso de informe y un fragmento de código para integrar el informe en su blog o sitio Web.

Microsoft también ofrece aplicaciones móviles power BI  para ver e interactuar con sus dashboards de power BI e informes en su dispositivo móvil.

powerbi.PNG

Hemos visto como utilizar  Power BI para visualizar datos de los sensores en tiempo real desde su  hub de IoT de Azure. Como comentamos existe también  una forma alternativa de visualizar datos de Azure IoT Hub  mediante  Azure Web Apps para visualizar datos de los sensores en tiempo real desde Azure IoT que trataremos en un  proximo post.

 

 

 

Fuente   https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-live-data-visualization-in-power-bi