Saltar al contenido
Portada » Blog de Ingeniería Industrial » Como conectar una base de datos MySQL con Node-RED

Como conectar una base de datos MySQL con Node-RED

Conexión sencilla de MySQL a Node-RED paso a paso

A continuación muestro como realizar una conexión entre una base de datos en MySQL y Node-Red, para poder por ejemplo mostrar los datos en una «dasboard. A través del nodo «function» es posible realizar «queries» SQL para consultar datos en una base de datos MySQL.

Gracias a esta conexión se puede consultar o almacenar datos desde nuestros dispositivos conectados, por ejemplo, Raspberry Pi, ESP32, tarjeta Arduino…

Resumen

  • Materiales necesarios.
  • Paquete Xampp.
  • Query para consulta base de datos.
  • Muestra de datos en la dashboard Node-RED.

Materiales necesarios

A través de una Raspberry Pi se puede instalar un servidor Node-RED debido a su bajo costo y eficiencia energética, lo que la hace ideal para proyectos de automatización y control IoT. Su sistema operativo Raspbian ofrece una plataforma estable para ejecutar aplicaciones Node.js, permitiendo la creación de flujos de automatización fácilmente accesibles desde cualquier dispositivo conectado a la red local. Además, su comunidad activa y el soporte de GPIO facilitan la integración con dispositivos físicos en proyectos IoT.

Raspberry Pi 4 Model B 2GB ARM-Cortex-A72 4x 1,50GHz, 2GB RAM, WLAN-ac, Bluetooth 5.0, LAN, 4x USB, 2x Micro-HDMI

Paquete Xampp

A través de la instalación del paquete Xampp, paquete de software libre, accedemos a MySQL y el servidor web Apache.

XAMPP Control Panel

A través de PhpMyAdmin, que es una aplicación web, podemos gestionar las bases de datos que creemos. PhpMyAdmin es la forma más sencilla y fácil de manejar.

MySQL Raspberry

Query para consultar base de datos

El objetivo es crear un formulario donde el usuario introduzca los parámetros necesarios para realizar la consulta y a través de una «dashboard» poder visualizar los datos almacenados en la base de datos.

A continuación se muestra el formulario para introducir los datos de búsqueda:

Node-RED, dashboard

Una vez que se introducen los parámetros, es necesario crear la «query» como se muestra a continuación, a través del nodo «function»:

Node-RED esquema

La consulta SQL es la siguiente, en el nodo function 1. Se debe de indicar de cual tabla se quiere extraer la información:

p=msg.payload;
node.log(typeof p);
var maquina=p.maquina;
var hoja=p.hoja;


msg.payload=[maquina,hoja];
msg.texto=maquina;
//msg.topic = "SELECT *  FROM " +maquina+ " where id=" +hoja+" ";
msg.topic = "SELECT *  FROM  b104 where id=" +hoja+" ";


return msg;

Muestra de datos en la Dashboard Node-RED

Finalmente, a través de la consulta SQL, se obtienen los datos de la tabla seleccionada para mostrarlos a través de la «dashboard»:

MySQL y Node-RED dashboard

Conclusión

A través de una interface, creada con Node-RED, es posible poder acceder a una base de datos MySQL de forma sencilla y sin realizar una programación compleja.

Para más información, no dudes en contactar.


Descubre más desde Ingeniería-Prototipos, Madrid

Suscríbete y recibe las últimas entradas en tu correo electrónico.

6 comentarios en «Como conectar una base de datos MySQL con Node-RED»

  1. Muy bueno el ejemplo, podrias explicar como realizar un formulario que sea tipo login y que valide usuario y contraseña para acceder al resto de formularios consultando en la base de datos el usuario guardado ? saludos

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre más desde Ingeniería-Prototipos, Madrid

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad