Este artículo será útil para enviar datos a Ubidots a través de vNode mediante el protocolo HTTPS.
Requisitos
Software vNode instalado (descargar vNode aquí)
1. Creando un Módulo de Instancia RestApiClient
Una vez que vNode esté en funcionamiento en tu computadora, debes crear un módulo RestApiClient:
Abre vNode y dirígete a “Config” en la barra de navegación.
Haz clic en “Módulos” en la barra "Explorer" y crea un nuevo módulo RestApiClient.
Donde:
Pausar enlaces mientras no estén disponibles: Esta opción pausa la recepción de datos de otros vNode mientras el módulo está fuera de línea.
Inicio: Controla el comportamiento del módulo cuando los servicios de vNode se inician, incluyendo una opción de reinicio.
Habilitado: Se inicia automáticamente cuando los servicios de vNode comienzan.
Retraso de inicio: Controla el retraso en el inicio.
2. Crear una Etiqueta
Para enviar datos a Ubidots, es importante tener una etiqueta. Con esta etiqueta generamos una variable que contiene el valor, la marca de tiempo y el contexto que se enviará a Ubidots.
Puedes crear tantas etiquetas como variables desees enviar a Ubidots. En este caso, para organizarlas mejor, creamos un grupo de etiquetas llamado HTTP.
Para crear las etiquetas, haz clic en "Etiquetas":
Navega a “Config” en la barra de navegación.
Haz clic en “Etiquetas” en la barra "Explorer" y crea un nuevo grupo.
Haz clic derecho en el grupo que has creado y crea una nueva etiqueta.
Después de crear la etiqueta, habilita la simulación seleccionando “Sí” en la casilla, y configura con la siguiente información:
Fuente: Proporciona el valor, la calidad y la marca de tiempo de la etiqueta.
Habilitado: Sí (proporciona el valor, la calidad y la marca de tiempo de la etiqueta).
Tipo de módulo: RestApiClient. Módulo utilizado para obtener la información de la etiqueta.
Nombre del módulo: HTTP (el nombre del módulo utilizado para obtener la información de la etiqueta).
Nota: Puedes modificar el nombre del grupo, el nombre de la etiqueta y la escala de los valores como prefieras.
3. Configuración del Canal y la Solicitud
Después de crear el módulo RestApiClient, es necesario crear la conexión a un endpoint REST, que en este caso se conoce como "canal".
Haz clic en "Módulo HTTP", en la barra "Explorer", y luego crea un “Nuevo Canal” en la ventana del modelo.
Para configurar el canal para conectarse con Ubidots, es necesario modificar la siguiente información:
Conexión: Para realizar tu solicitud, puedes basarte en la siguiente tabla
Protocolo | Host | Puerto |
HTTP | 80 | |
HTTPS | 443 |
Para más información sobre cómo realizar una solicitud con el protocolo HTTP/HTTPS a Ubidots, consulta este artículo.
Solicitudes: Representan la solicitud REST que se envía al servidor. En este caso, debes crear una nueva solicitud con la siguiente información:
Método: POST para ejecutar una solicitud REST POST.
Disparadores: La tasa de ejecución. Garantiza que la solicitud se ejecutará después de que haya pasado esta tasa.
Tasa de escaneo: 30000 milisegundos
Tipo: Tiempo fijo
Reprogramar temporizador: No
Parámetros: La lista de parámetros que estarán disponibles para todos los scripts en la solicitud. En este caso, usamos la etiqueta creada en el 2º paso (el nombre de la variable creada en Ubidots tomará el nombre del parámetro que configuramos).
Ruta: La porción restante de la URL que especifica el recurso que deseas consumir
Tipo: Texto plano
Texto: /api/v1.6/devices/<reemplazar con el dispositivo al que deseas enviar los datos>/
Encabezados: Definen los parámetros operativos de la solicitud HTTP.
Encabezados personalizados
Content-Type
Tipo: Texto sin formato
Valor: application/json
X-Auth-Token:
Texto sin formato
TOKEN de tu cuenta de Ubidots.
Cuerpo: El cuerpo es los datos enviados al servidor.
Formato del cuerpo:
Serialización: JSON
Codificación: UFT8
Serializador del cuerpo:
Tipo: Personalizado
Opciones:
Script: <javascript> Es el formato en el que Ubidots recibe datos.
Nota: Para modificar el código JavaScript predeterminado, haz clic en el símbolo "</>" y pega el siguiente código:
$.logger.info("Parsing message: %j", $.parameter); const value = $.parameter.Current.value; const timestamp = $.parameter.Current.ts; const quality = $.parameter.Current.quality; // Construye la respuesta con la estructura deseada const response = { [Object.keys($.parameter)[0]]: { value: value, timestamp: timestamp, context: { quality: quality } } }; $.logger.info("Response: %j", response); $.output = response;
Formato de respuesta: Decodifica el mensaje
Codificación: UFT8
Serialización: Texto
Analizador de respuesta:
Tipo: Personalizado
Opciones:
Script: <javascript>
Nota: Para modificar el código JavaScript predeterminado, haz clic en el símbolo "</>" y pega el siguiente código:
$.logger.info("Parsing message: %j", $.parameter); const value = $.parameter.Current.value; const timestamp = $.parameter.Current.ts; const quality = $.parameter.Current.quality; // Construye la respuesta con la estructura deseada const response = { [Object.keys($.parameter)[0]]: { value: value, timestamp: timestamp, context: { quality: quality } } }; $.logger.info("Response: %j", response); $.output = response;
4. Verificar si el módulo está funcionando
Una vez que hayas guardado todos los cambios de configuración, verificaremos que el módulo esté en funcionamiento. Sigue estos pasos:
Ve a "Sistema" en la barra de "Navegación" y haz clic en “Diagnósticos”.
Luego haz clic en “Módulos” y verifica si el módulo HTTP está en funcionamiento.
Después de confirmar que el módulo HTTP está en funcionamiento, procede con los siguientes pasos:
Ve a “Registros en tiempo real” en la barra "Explorer".
Activa la casilla de “Habilitado”.
Selecciona el nivel TRACE y el módulo HTTP para verificar la comunicación con Ubidots. Aquí puedes ver la información enviada a Ubidots.
La variable que se ha creado en el dispositivo que seleccionaste en el tercer paso en tu cuenta de Ubidots ahora se mostrará de la siguiente manera: