Skip to main content

Edge Box RPi 200 con Node-RED e InfluxDB

Introducción

Desplegar InfluxDB en un Edgebox RPi 200, un controlador de borde basado en Raspberry Pi, permite la recolección y el análisis robusto de datos de series temporales en el borde de tu red. Esta configuración es ideal para aplicaciones IoT, proporcionando perspectivas en tiempo real y capacidades de monitoreo. Al aprovechar la base de datos InfluxDB, ligera pero potente, puedes gestionar y analizar de forma eficiente los datos de sensores directamente en el Edgebox. La siguiente guía describe los pasos para instalar, configurar y usar InfluxDB en tu Edgebox RPi 200, garantizando una integración fluida en tu infraestructura de datos.

Preparación de Hardware

Preparación de Software

Edge Box viene con Raspberry Pi OS preinstalado. Si inicias este dispositivo por primera vez, por favor revisa nuestro Getting Started Wiki. Además, hemos preparado una Guía de Inicio con Node-RED. Recomendamos revisarla antes de avanzar con este wiki. En este tutorial, conectaremos la PC Host que ejecuta el simulador de temperatura de habitación YABE con Node-RED en el Edge Box.

Instalando InfluxDB en Edgebox RPi 200

Esta guía cubre los pasos para instalar y configurar InfluxDB en un Edgebox RPi 200.

Paso 1: Actualizar el Sistema

Primero, asegúrate de que tu sistema esté actualizado ejecutando el siguiente comando: conecta por SSH a EdgeBox y:

sudo apt update

Paso 2: Agregar el Repositorio de InfluxDB

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

Agrega la clave GPG:

curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null

Agrega 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

sudo apt install influxdb

Iniciar el Servidor InfluxDB

Habilita e inicia el servicio de InfluxDB:

Paso 1. Desenmascara el servicio:

sudo systemctl unmask influxdb

Paso 2. Habilita el servicio:

sudo systemctl enable influxdb

Paso 3. Inicia el servicio:

sudo systemctl start influxdb

Probando InfluxDB

Accede a la herramienta CLI de InfluxDB para realizar operaciones básicas de base de datos.

Paso 1. Abre la terminal:

influx

Paso 2. Crea una base de datos:

CREATE DATABASE data

Paso 3. Usa 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

Agregar Autenticación a InfluxDB

Paso 1. Abre la terminal:

influx

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

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

Paso 3. Sal del 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 InfluxDB para aplicar los cambios:

sudo systemctl restart influxdb

Paso 6. Conéctate a InfluxDB con el usuario admin:

influx -username admin -password <password>

Asegúrate de reemplazar <password> con la contraseña que configuraste para el usuario admin.

Enviando Datos a InfluxDB a través de Node-RED

Paso 1. Abre tu Node-RED en el navegador (normalmente http://<tu-ip-edgebox>:1880).

Paso 2. Instala node-red-contrib-influxdb usando el administrador de paletas de Node-RED.

Paso 3. Arrastra y suelta un nodo inject, un nodo function y un nodo influxdb out en el lienzo de flujos, y conéctalos así:

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

Nodo Function

Este nodo formatea los datos que se enviarán a InfluxDB.

Paso 1. Haz doble clic en el nodo function.

Paso 2. Ingresa un nombre (por ejemplo, Format Data for 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:

  • Name: labdata
  • Database: data (la base de datos creada previamente)
  • Measurement: lab

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

Paso 4. Ingresa los siguientes detalles:

  • Name: InfluxDB
  • Version: 1.8-flux
  • URL: http://localhost:8086
  • Username: admin
  • Password: <password> (la contraseña que creaste)

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

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

Probar el Flujo

  1. Haz clic en el botón del nodo inject para activar manualmente el flujo.
  2. Revisa tu base de datos InfluxDB para verificar si los datos se han escrito correctamente, ejecutando los siguientes comandos en la terminal:
influx -username admin -password <password>
USE data
SELECT * FROM lab

Asegúrate de reemplazar <password> con la contraseña que configuraste para el usuario admin.

Soporte Técnico y Discusión del Producto

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte y asegurarnos de que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...