Ir al contenido principal
Todas las coleccionesGuías de desarrollador
Conectando Azure IoT Hub con Ubidots. Parte II: Enviando datos de Ubidots a IoT Hub
Conectando Azure IoT Hub con Ubidots. Parte II: Enviando datos de Ubidots a IoT Hub

Este artículo explora cómo enviar datos provenientes del módulo de eventos de Ubidots a Microsoft Azure IoT Hub.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 3 meses

Este es un artículo de seguimiento de nuestra serie "Conectando Azure IoT Hub con Ubidots". Si no has revisado nuestro primer artículo, te recomendamos encarecidamente que lo revises primero para aprender a configurar tu cuenta de Azure antes de conectarla a Ubidots.

Requisitos

1. Configurar un SQL Server

  • El primer recurso que necesitas agregar es la base de datos SQL. La base de datos SQL es una colección de datos organizados en tablas para una organización simple.

  • Usa la barra de búsqueda en la parte superior y escribe SQL Server. Haz clic en él.

  • Haz clic en el botón "+ Crear"

  • Completa la siguiente configuración de acuerdo a:

    • Suscripción: selecciona tu suscripción de Azure

    • Grupo de recursos: el mismo grupo de recursos que utiliza tu IoT hub

    • Nombre del servidor: el nombre de tu SQL Server

    • Ubicación: la ubicación del servidor que aloja este recurso. Ten en cuenta que debes seleccionar la misma ubicación para todos los recursos siguientes.

    • Método de autenticación: selecciona la configuración más apropiada para tu implementación particular. Para este artículo, se eligió el método Usar autenticación SQL .

    • Establece un nombre de inicio de sesión de administrador y una contraseña.

    • Haz clic en el botón Siguiente: Redes

  • Habilita que otros recursos de Azure interactúen con este Servidor de base de datos SQL estableciendo en la regla de firewall

  • Haz clic en Revisar + crear

  • Espera a que el nuevo recurso se despliegue. Luego haz clic en el botón Ir al recurso

2. Configurar una base de datos SQL

  • Haz clic en el botón Crear base de datos

  • Completa la siguiente configuración de acuerdo a:

    • Nombre de la base de datos: el nombre de la base de datos

    • Grupo elástico SQL: selecciona esto de acuerdo a tus necesidades. Para este artículo, esta función no fue requerida

    • Computación + Almacenamiento: Haz clic en Configurar base de datos para cambiar el modelo de precios y los requisitos para tu proyecto de acuerdo a tu cuota de precios deseada

  • Haz clic en Revisar + crear para crear la base de datos

  • Una vez que el recurso esté desplegado, haz clic en el botón Ir al recurso

  • Haz clic en Editor de consultas (vista previa)

  • Ingresa las credenciales creadas con el SQL Server en el paso anterior

  • Haz clic en el botón OK para iniciar sesión en tu base de datos

  • Si aparece una advertencia que te dice que no puedes iniciar sesión desde tu dirección IP actual, simplemente haz clic en esa advertencia y tu dirección IP se añadirá a las reglas de excepción del firewall

  • Crea una nueva tabla en la base de datos actual copiando la siguiente consulta en el editor de consultas, luego presiona "Ejecutar"

CREATE TABLE MyUbidotsTable (    ID int NOT NULL IDENTITY(1,1),    valueUbi float,    PRIMARY KEY (ID));
  • Para visualizar la tabla, copia la consulta a continuación en el editor de consultas, luego presiona "Ejecutar". Una vez que la consulta se ejecute con éxito, presiona "resultado" para visualizar la tabla:

SELECT * FROM MyUbidotsTable

3. Crear una aplicación lógica

Para manejar los datos que van de Ubidots a Azure IoT Hub, se implementará una Aplicación Lógica. Recibirá una solicitud HTTP de Ubidots, luego analizará los datos para enviarlos a la Base de datos SQL en IoT Hub.

  • Crea una nueva aplicación lógica siguiendo los pasos proporcionados en el tutorial anterior

  • Espera a que el recurso se despliegue. Luego haz clic en el botón Ir al recurso

  • Crea la primera acción en la Aplicación Lógica seleccionando Cuando se recibe una solicitud HTTP

  • Haz clic en Agregar nuevo parámetro

  • Haz clic en POST

  • Haz clic en Nuevo paso

  • Busca "parse json" en la barra de búsqueda como puedes ver a continuación, luego selecciona la acción Operación de datos - Analizar JSON

Asigna los parámetros a continuación a la acción:

  • Contenido: asigna el Cuerpo

  • Esquema: asigna el siguiente esquema:

{  "properties": {    "value": {      "type": "number"    }  },  "type": "object"}
  • Presiona +Nuevo paso

  • Busca "SQL server" en la barra de búsqueda y haz clic en él

  • Como acción selecciona SQL Server - Insertar fila (V2)

  • Completa la siguiente configuración de acuerdo a:

    • Nombre de conexión: el nombre de la base de datos

    • Tipo de autenticación: Selecciona el mismo método de autenticación que utilizaste para la Base de datos SQL

    • Nombre del servidor SQL: el nombre que se le dio al SQL Server en su configuración, seguido de ".database.windows.net"

    • Nombre de la base de datos SQL: el nombre de la base de datos creada en el paso #2

    • Nombre de usuario: el nombre de usuario que elegiste en la configuración del SQL Server . Esto solo se aplica si elegiste Autenticación de SQL Server como método de autenticación

    • Contraseña: la contraseña que elegiste en la configuración del SQL Server . Esto solo se aplica si elegiste Autenticación de SQL Server como método de autenticación

    • Gateway: Selecciona No se encontraron gateways

  • Haz clic en el botón Crear

  • Espera a que la conexión a la base de datos surta efecto

  • Establece la siguiente configuración como:

    • Nombre del servidor: selecciona Usar configuración de conexión. Esto establecerá el valor del nombre del servidor seleccionado anteriormente

    • Nombre de la base de datos: selecciona Usar configuración de conexión. Esto establecerá el valor del nombre de la base de datos seleccionada anteriormente

    • Nombre de la tabla: selecciona la tabla creada en pasos anteriores. Si has seguido la nomenclatura de este tutorial, debería ser "MyUbidotsTable"

  • Haz clic en el menú desplegable que muestra el mensaje Agregar nuevo parámetro y selecciona valueUbi

  • Coloca el puntero del mouse en el campo valueUbi

  • Desde el menú que aparece a la derecha, busca value y arrástralo al campo valueUbi

  • Haz clic en el botón Guardar

  • Haz clic en Ejecutar activador, espera a que termine y copia la URL HTTP POST

4. Configuración de WebHook de Ubidots

Para finalizar la integración, se configurará un evento de Ubidots para enviar datos a Azure IoT Hub. Consulta este artículo para obtener detalles adicionales sobre cómo crear un evento WebHook en Ubidots.

  • Ve a la sección Dispositivos en tu cuenta de Ubidots y crea un nuevo dispositivo. Para este artículo se etiquetó como "azure-device", sin embargo, puedes usar cualquier etiqueta que consideres apropiada

  • Crea una nueva Variable Raw para este dispositivo. En este artículo se nombró "button", sin embargo, puedes usar cualquier nombre

  • Ve a la sección de eventos y presiona "Agregar evento" para crear un nuevo evento. Selecciona el dispositivo y la variable creada en el paso anterior

  • Establece la siguiente configuración en la pestaña SI se activan

  • Ve a la pestaña ENTONCES acciones , selecciona Agregar nueva acción y luego Activar Webhook

  • En la sección Método HTTP y URL selecciona POST y pega la URL HTTP POST obtenida en el paso #4

  • En la sección Cuerpo, elimina todo y pega lo siguiente:

    • {"value": ##{{last_value}}}
  • Ve a la pestaña VOLVER A LA NORMALIDAD

  • Marca la opción Activar esta acción cuando la condición del evento vuelva a un estado normal

  • Copia lo siguiente en la sección Cuerpo

    • {"value": ##{{last_value}}}
  • Haz clic en la marca de verificación verde para guardar la configuración del evento

  • Ve a la sección del panel para crear un widget de control de interruptor para probar cómo funciona todo. Cada vez que el botón cambie su estado, activará el WebHook publicando el último valor en Azure

  • Para crear el widget, presiona Crear widget > Control > Interruptor > "nombre del dispositivo en Azure" > "nombre de la variable" > Finalizar. Si has seguido la misma nomenclatura que en este artículo, entonces los pasos son Crear widget > Control > Interruptor > azure-device > button > Finalizar. Una vez que el widget esté creado, verás algo como la imagen a continuación:

  • Verifica si tu aplicación lógica está en funcionamiento. Si no, presiona Ejecutar para reiniciar la función

  • Ahora, desde tu panel de Ubidots, presiona el interruptor 3 veces y visualiza en las herramientas de la base de datos SQL de Azure cómo llegan los valores. Ten en cuenta que si no ejecutas la consulta, tus datos no aparecerán

  • Siguiendo esta guía técnica, fue posible crear una tabla que almacena datos entrantes de Ubidots en la base de datos SQL de Azure

  • En este caso se está evaluando la cantidad de veces que se presiona el botón en el panel de Ubidots.

  • El campo ID hace referencia a la entrada en la tabla y el valueUbi hace referencia al estado del botón/interruptor

Además, en la vista general de la aplicación lógica puedes visualizar los historiales de ejecución y activación; si no ves nueva información actualizada, presiona "Actualizar" para actualizar la página.

Ahora que sabes cómo gestionar una base de datos SQL en Azure, puedes realizar la integración para la primera aplicación lógica creada para almacenar valores enviados a Ubidots en la base de datos de Azure.

5. Comentarios, Sugerencias y Artículos Relacionados

No dudes en publicar preguntas o sugerencias en nuestro portal de la comunidad, o contáctanos a través de support@ubidots.com.


Otros usuarios también encontraron útil...

¿Ha quedado contestada tu pregunta?