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 Sí 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...