Skip to main content

reTerminal DM con Node Red e InfluxDB

Introducción

Desplegar InfluxDB en un reTerminal DM, una HMI potenciada por Raspberry Pi, posibilita una robusta recolección y análisis de datos de series temporales en el borde de tu red. Esta configuración es ideal para aplicaciones IoT, ya que proporciona información y capacidades de monitoreo en tiempo real. Al aprovechar la base de datos InfluxDB, ligera pero poderosa, podrás gestionar y analizar de forma eficiente los datos de sensores directamente en el reTerminal DM. La siguiente guía describe los pasos para instalar, configurar y utilizar InfluxDB en tu reTerminal DM, asegurando una integración fluida en tu infraestructura de datos.

Preparación del Hardware

Preparación del Software

Se recomienda consultar la Guía de Primeros Pasos con Node-RED antes de continuar con esta wiki.

Instalación de InfluxDB en reTerminal DM

Esta guía abarca los pasos para instalar y configurar InfluxDB en una HMI reTerminal DM.

Paso 1: Actualizar el Sistema

Primero, asegúrate de que tu sistema esté actualizado. Inicia sesión por SSH en el reTerminal DM y ejecuta el siguiente comando:

sudo apt update

Paso 2: Añadir el Repositorio de InfluxDB

Agrega la clave GPG de InfluxDB y el repositorio a tu sistema.

  • Agregar la clave GPG:
curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null
  • Agregar el repositorio a la lista de fuentes:
echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list

Paso 3: Actualizar la Lista de Paquetes

Actualiza la lista de paquetes para incluir el repositorio de InfluxDB:

sudo apt update

Paso 4: Instalar InfluxDB

Instala la versión 1 de InfluxDB ejecutando el siguiente comando:

sudo apt install influxdb

Iniciar el Servidor InfluxDB

Habilita e inicia el servicio de InfluxDB:

Paso 1: Desenmascarar el servicio:

sudo systemctl unmask influxdb

Paso 2: Habilitar el servicio:

sudo systemctl enable influxdb

Paso 3: Iniciar el servicio:

sudo systemctl start influxdb

Probar InfluxDB

Accede a la herramienta de línea de comandos de InfluxDB para realizar operaciones básicas con la base de datos.

Paso 1: Abre una terminal:

influx

Paso 2: Crea una base de datos:

CREATE DATABASE data

Paso 3: Selecciona la base de datos:

USE data

Paso 4: Inserta un punto de datos de ejemplo:

INSERT room,temperature=30.1 humidity=80.2

Paso 5: Consulta los datos insertados:

SELECT * FROM room

Añadir Autenticación a InfluxDB

Paso 1: Abre una terminal:

influx

Paso 2: Crea un usuario admin con todos los privilegios (reemplaza <password> por tu contraseña segura):

CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES

Paso 3: Sal de la CLI de InfluxDB:

exit

Paso 4: Edita la configuración de InfluxDB para habilitar la autenticación:

sudo nano /etc/influxdb/influxdb.conf

En la sección [HTTP], agrega o modifica las siguientes líneas:

    auth-enabled = true
pprof-enabled = true
pprof-auth-enabled = true
ping-auth-enabled = true
enabled = true
bind-address = ":8086"

Paso 5: Reinicia el servicio de InfluxDB para aplicar los cambios:

sudo systemctl restart influxdb

Paso 6: Conéctate a InfluxDB usando el usuario admin:

influx -username admin -password <password>

Recuerda reemplazar <password> por la contraseña que configuraste.

Envío de Datos a InfluxDB vía Node-RED

Paso 1: Abre Node-RED en tu navegador (típicamente http://<la-ip-de-tu-reTerminal-DM>:1880).

Paso 2: Instala el nodo node-red-contrib-influxdb utilizando el menú "Manage Palette" de Node-RED.

Paso 3: Arrastra y suelta un nodo inject, un nodo function y un nodo influxdb out en el lienzo, conectándolos en este orden:

[Inject Node] -> [Function Node] -> [InfluxDB Out Node]

Nodo Function

Este nodo formatea los datos para enviarlos a InfluxDB.

Paso 1: Haz doble clic en el nodo function.

Paso 2: Asigna un nombre (por ejemplo, Formatear Datos para InfluxDB).

Paso 3: Ingresa el siguiente código en el editor de funciones:

msg.payload = [
{
temperature: 30.1,
humidity: 80.2
}
];
return msg;

Paso 4: Haz clic en "Done".

Nodo InfluxDB Out

Este nodo envía los datos formateados a InfluxDB.

Paso 1: Haz doble clic en el nodo influxdb out.

Paso 2: Ingresa los siguientes detalles:

  • Nombre: labdata
  • Base de datos: data (la base de datos creada previamente)
  • Medición: lab

Paso 3: Haz clic en el ícono de lápiz para añadir una nueva configuración de servidor InfluxDB.

Paso 4: Ingresa los siguientes detalles:

  • Nombre: InfluxDB
  • Versión: 1.8-flux
  • URL: http://localhost:8086
  • Usuario: admin
  • Contraseña: <password> (la contraseña que configuraste)

Paso 5: Haz clic en "Add" y luego en "Done".

Paso 6: Haz clic en "Deploy" para guardar y desplegar el flujo.

Probar el Flujo

  1. Haz clic en el botón del nodo inject para disparar manualmente el flujo.
  2. Comprueba en tu base de datos InfluxDB si los datos se han escrito ejecutando lo siguiente en el terminal:
influx -username admin -password <password>
USE data
SELECT * FROM lab

Recuerda reemplazar <password> por la contraseña configurada para el usuario admin.

Soporte Técnico y Discusión de Producto

¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte soporte a través de distintos canales y asegurarnos de que tu experiencia sea lo más fluida posible. Disponemos de múltiples vías de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...