Como guardar mensajes del Hub de IoT de Azure

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

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, veamos qué pasos necesitamos para lograr  tal objetivo:

1-Crear una cuenta de Azure storage

  1. En el portal de Azure, haga clic en crear un recurso > almacenamiento > cuenta de almacenamiento > crear.
  2. Introduzca la información necesaria para la cuenta de almacenamiento de información:cuenta_almaceneamiento.PNG
    • Nombre: el nombre de la cuenta de almacenamiento. El nombre que se introduzca  debe ser un  nombre único en el sistema .
    • Suscripción: para pruebas seleccionar   Evaluacion gratuita
    • Grupo de recursos:Se debe utilizar el mismo grupo de recursos que utiliza el hub de IoT, para lo cual pinchar en el check «Usar existente» y seleccionar el que corresponda
    • Anclar al panel: Seleccione esta opción para acceder a su centro de IoT desde el panel de Azure.
  3. Haga clic en crear.                                                                    cuentasoloelectronicos
  4. Una vez  haya concluido el proceso en unos minutos , finalmente   en el panel central  debería tener al menos dos recursos : Azure IoT Hub (cuya creación vimos en posts anteriores)   y un nuevo acceso al almacenamiento en nube de Azure recién creado.

2-Preparación del Hub  de IoT para enrutar los mensajes hacia el  almacenamiento de Azure

IoT Hub soporta de forma nativa enrutamiento de mensajes a almacenamiento Azure como blobs,para ello   necesitamos agregar una ruta de almacenamiento de información como un punto de conexión personalizado. 

Para  conseguirlo ,puede seguir  los siguientes pasos para ello:

  1. Vaya a su hub de IoT en el portal  de  Azure.
  2. Busque en la parte Inferior «Mensajería«
  3.   Haga clic en Punto de conexión  > añadir.
  4. Ahora escriba  un  nombre para el punto de conexión ( no admite caracteres especiales )  y seleccione el Contenedor de almacenamiento de Azure como tipo extremo.
  5. Utilice el selector para seleccionar la cuenta de almacenamiento que creó en la sección anterior.
  6. Cree un contenedor de almacenamiento    pinchando en el aspa + Contenedor. Solo tendrá que introducir un nuevo nombre y un nivel de acceso ( por defecto )  y aceptar el cambio :                                                                            contenedor
  7. Ahora  seleccionar  el nuevo contenedor   y  luego haga clic en Aceptar.

agregarextremo.png

Acaba de crear un punto de conexión del tipo Azure Storage Container  para su Iot Hub. Dado que estamos utilizando una version gratuita en el momento de crearlo nos avisara que hemos alcanzado el máximo numero de  punto de conexión permitidos( es decir uno):

pppccconex

Ahora necesitaremos  añadir una ruta a la ruta de datos para almacenamiento . Para  conseguirlo, puede seguir  los siguientes pasos para ello:

  1. Vaya a su hub de IoT en el portal  de  Azure.
  2. Busque en la parte Inferior «Mensajería«
  3. Haga clic en Rutas > Añadir e introduzca un nuevo nombre para la ruta.
  4. Seleccione  Mensajes  de dispositivo  como el origen de datos
  5. Seleccione como  punto de conexión de almacenamiento de información el que acaba de crear como el punto final en la ruta.
  6. En la cadena de consulta escriba «true»  en caso estar vacía la caja de dialogo
  7. Puede  probar la ruta
  8. A continuación finalmente  haga clic en Guardar.

crearnuevarura.PNG

Agregar una ruta para telemetría de ruta caliente (opcional)

Puede omitir este paso si no  va  a hacer más procesamiento en los mensajes de telemetría.

Por defecto, IoT Hub enruta todos los mensajes que no coinciden con ninguna de otras rutas al extremo incorporado. Desde ahora,Azure también permite de forma gratuita que todos los mensajes de telemetría usen una nueva  la regla para que sean dirigidos al almacenamiento de información, para los usted necesitará agregar otra ruta para que los mensajes se escriban en el extremo incorporado.

Podemos pues   añadir una ruta de telemetría de ruta caliente(opcional )  a la ruta de datos para almacenamiento . Para  conseguirlo, puede seguir  los siguientes pasos para ello:

  1. Vaya a su hub de IoT en el portal  de  Azure.
  2. Busque en la parte Inferior «Mensajería«
  3. Haga clic en Rutas > Añadir e introduzca un nuevo nombre para la ruta.
  4. Seleccione  Mensajes  de dispositivo  como el origen de datos
  5. Seleccione como  punto de conexión   eventos 
  6. En la cadena de consulta escriba «true»  en caso estar vacía la caja de dialogo
  7. Puede  probar la ruta  donde  deberían aparecer ya los  diferentes elementos de telemetría que vaya a gestionar ( en el ejemplo weather y temperature)
  8. A continuación finalmente  haga clic en Guardar.

 

Create a hot-path route in IoT Hub

3-Verificar su mensaje en su contenedor de almacenamiento

  1. Ejecute la aplicación de muestra en el dispositivo para enviar mensajes a su hub de IoT.
  2. Descargar e instalar el explorador de almacenamiento de Azure.
  3. Abra el explorador de almacenamiento, haga clic en Agregar una cuenta de Azure > registrarse y luego iniciar sesión en su cuenta azul.
  4. Haga clic en la suscripción de Azure > Almacenamiento cuentas > cuenta de almacenamiento > Blob contenedores > su contenedor.Debería ver mensajes enviados desde el dispositivo a su hub de IoT en el contenedor de blob.

 

 

Mas información en https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-store-data-in-azure-table-storage