Ús de la base de dades MariaDB des de NodeRED

De binefa.com
Salta a la navegació Salta a la cerca

Accés

Ha d'haver una base de dades creada al MariaDB amb el nom aula508

L'usuari iot amb contrasenya iot té permisos d'escriptura i lectura sobre la base de dades aula508

L'usuari convidat amb contrasenya benvingut té permisos de lectura sobre la base de dades aula508

Explicació detallada a Ús de MariaDB per emmagatzemar dades de la Internet de les Coses

Nodes MariaDB a NodeRed

Instal·lació

Instal·lació des nodes de MariaDB (MySQL) a NodeRED

cal instal·lar el conjunt de nodes node-red-node-mysql

Aspecte del node MySQL a NodeRED

Configuració de la base de dades al node MySQL

  • Poseu un node MySQL al tapís Node-RED
  • Feu doble clic sobre el node MySQL
Configuració del node MySQL
  • Aneu al llapis a la dreta del desplegable Add new MySQL database... present a la fila Database
Configuració del nodo MySQL

- A Host escriviu la IP local del servidor (127.0.0.1). Per seguretat, no permetem a la base de dades que tingui visibilitat externa.

- A Port escriviu el port TCP (3306) per defecte de las bases de dades MySQL

- A User escriviu un usuari amb permisos d'escriptura (iot), perquè volem escriure. Si no calmescriure a la base de dades escriuríem un usuari amb permisos de tan sols lectura (com convidat).

- A Password escriviu la contrasenya de l'usuari (per a l'usuari iot és iot. Per a l'usuari convidat és benvingut).

- A Database escriviu la base de dades que volem accedir (aula508)

- A Charset escriviu la codificació de caràcters (UTF8)

Creació d'una taula a la base de dades MySQL

Creació d'una taula

Hi ha quatre nodes enllaçats: inject, function, mysql i debug.

  • Els nodes inject i debug no es modifiquen. Deixeu la configuració per defecte.
  • El node mysql ha estat configura al pas anterior.
  • El node function s'ha configurat així:
Creació d'una taula

Funció CREATE TABLE m28XX_T_RH:

msg.topic = `
CREATE TABLE m28XX_T_RH (
 time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
 valueT FLOAT,
 valueRH FLOAT,
 PRIMARY KEY (time));
`;
return msg;

Esborrat d'una taula a la base de dades MySQL

Esborrat d'una taula

Funció DROP TABLE m28XX_T_RH:

msg.topic = `DROP TABLE m28XX_T_RH;`;
return msg;

Inserció de dades a una taula de la base de dades MySQL

Configuració de nodes inject per a generar dades de tipus JSON

Nodes inject per a generar dades de tipus JSON

Doble clic sobre el nodo inject (seleccioneu l'opció {}):

Edició del node inject per a generar dades de tipus JSON

Cliqueu sobre ... (els tres puntos):

Edició del node inject per a generar dades de tipus JSON

En format text:

{
   "valueT": 17.89,
   "valueRH": 44.32
}

Inserció de dades de tipus JSON a columnes de la taula

Inserció de dades de tipus JSON a columnes de la taula

Funció INSERT DATA:

msg.topic = `insert into m28XX_T_RH(valueT,valueRH) values(${msg.payload.valueT},${msg.payload.valueRH})`;
return msg;

Lectura de dades a una taula de la base de dades MySQL

Exemple de SELECT per a MariaDB

Camp msg.topic del node inject per a fer un SELECT:

Node inject per a trametre un query de tipus SELECT a MariaDB

Camp msg.topic del node inject amb nom SELECT en format text:

select UNIX_TIMESTAMP(time) as time, valueT, valueRH from m28XX_T_RH