Compare commits
2 commits
b01d56f421
...
1afbbfeee8
Author | SHA1 | Date | |
---|---|---|---|
1afbbfeee8 | |||
2848ef8f87 |
8 changed files with 2850 additions and 309 deletions
|
@ -3,7 +3,7 @@
|
||||||
"name": "node-red",
|
"name": "node-red",
|
||||||
"version": "4.0.9-git",
|
"version": "4.0.9-git",
|
||||||
"local": false,
|
"local": false,
|
||||||
"user": false,
|
"user": true,
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"junction": {
|
"junction": {
|
||||||
"name": "junction",
|
"name": "junction",
|
||||||
|
@ -427,306 +427,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-red-contrib-aedes": {
|
|
||||||
"name": "node-red-contrib-aedes",
|
|
||||||
"version": "0.6.0",
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"nodes": {
|
|
||||||
"aedes-mqtt-broker": {
|
|
||||||
"name": "aedes-mqtt-broker",
|
|
||||||
"types": [
|
|
||||||
"aedes broker"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-contrib-aedes",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-contrib-aedes/aedes.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node-red-contrib-mqtt-broker": {
|
|
||||||
"name": "node-red-contrib-mqtt-broker",
|
|
||||||
"version": "0.2.9",
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"nodes": {
|
|
||||||
"mosca-mqtt-broker": {
|
|
||||||
"name": "mosca-mqtt-broker",
|
|
||||||
"types": [
|
|
||||||
"mosca in"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-contrib-mqtt-broker",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-contrib-mqtt-broker/mosca.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node-red-dashboard": {
|
|
||||||
"name": "node-red-dashboard",
|
|
||||||
"version": "3.6.5",
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"nodes": {
|
|
||||||
"ui_base": {
|
|
||||||
"name": "ui_base",
|
|
||||||
"types": [
|
|
||||||
"ui_base"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_base.js"
|
|
||||||
},
|
|
||||||
"ui_button": {
|
|
||||||
"name": "ui_button",
|
|
||||||
"types": [
|
|
||||||
"ui_button"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_button.js"
|
|
||||||
},
|
|
||||||
"ui_dropdown": {
|
|
||||||
"name": "ui_dropdown",
|
|
||||||
"types": [
|
|
||||||
"ui_dropdown"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_dropdown.js"
|
|
||||||
},
|
|
||||||
"ui_switch": {
|
|
||||||
"name": "ui_switch",
|
|
||||||
"types": [
|
|
||||||
"ui_switch"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_switch.js"
|
|
||||||
},
|
|
||||||
"ui_slider": {
|
|
||||||
"name": "ui_slider",
|
|
||||||
"types": [
|
|
||||||
"ui_slider"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_slider.js"
|
|
||||||
},
|
|
||||||
"ui_numeric": {
|
|
||||||
"name": "ui_numeric",
|
|
||||||
"types": [
|
|
||||||
"ui_numeric"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_numeric.js"
|
|
||||||
},
|
|
||||||
"ui_text_input": {
|
|
||||||
"name": "ui_text_input",
|
|
||||||
"types": [
|
|
||||||
"ui_text_input"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_text_input.js"
|
|
||||||
},
|
|
||||||
"ui_date_picker": {
|
|
||||||
"name": "ui_date_picker",
|
|
||||||
"types": [
|
|
||||||
"ui_date_picker"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_date_picker.js"
|
|
||||||
},
|
|
||||||
"ui_colour_picker": {
|
|
||||||
"name": "ui_colour_picker",
|
|
||||||
"types": [
|
|
||||||
"ui_colour_picker"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_colour_picker.js"
|
|
||||||
},
|
|
||||||
"ui_form": {
|
|
||||||
"name": "ui_form",
|
|
||||||
"types": [
|
|
||||||
"ui_form"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_form.js"
|
|
||||||
},
|
|
||||||
"ui_text": {
|
|
||||||
"name": "ui_text",
|
|
||||||
"types": [
|
|
||||||
"ui_text"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_text.js"
|
|
||||||
},
|
|
||||||
"ui_gauge": {
|
|
||||||
"name": "ui_gauge",
|
|
||||||
"types": [
|
|
||||||
"ui_gauge"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_gauge.js"
|
|
||||||
},
|
|
||||||
"ui_chart": {
|
|
||||||
"name": "ui_chart",
|
|
||||||
"types": [
|
|
||||||
"ui_chart"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_chart.js"
|
|
||||||
},
|
|
||||||
"ui_audio": {
|
|
||||||
"name": "ui_audio",
|
|
||||||
"types": [
|
|
||||||
"ui_audio"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_audio.js"
|
|
||||||
},
|
|
||||||
"ui_toast": {
|
|
||||||
"name": "ui_toast",
|
|
||||||
"types": [
|
|
||||||
"ui_toast"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_toast.js"
|
|
||||||
},
|
|
||||||
"ui_ui_control": {
|
|
||||||
"name": "ui_ui_control",
|
|
||||||
"types": [
|
|
||||||
"ui_ui_control"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_ui_control.js"
|
|
||||||
},
|
|
||||||
"ui_template": {
|
|
||||||
"name": "ui_template",
|
|
||||||
"types": [
|
|
||||||
"ui_template"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_template.js"
|
|
||||||
},
|
|
||||||
"ui_link": {
|
|
||||||
"name": "ui_link",
|
|
||||||
"types": [
|
|
||||||
"ui_link"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_link.js"
|
|
||||||
},
|
|
||||||
"ui_tab": {
|
|
||||||
"name": "ui_tab",
|
|
||||||
"types": [
|
|
||||||
"ui_tab"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_tab.js"
|
|
||||||
},
|
|
||||||
"ui_group": {
|
|
||||||
"name": "ui_group",
|
|
||||||
"types": [
|
|
||||||
"ui_group"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_group.js"
|
|
||||||
},
|
|
||||||
"ui_spacer": {
|
|
||||||
"name": "ui_spacer",
|
|
||||||
"types": [
|
|
||||||
"ui_spacer"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-dashboard",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-dashboard/nodes/ui_spacer.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node-red-node-serialport": {
|
|
||||||
"name": "node-red-node-serialport",
|
|
||||||
"version": "2.0.3",
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"nodes": {
|
|
||||||
"serialport": {
|
|
||||||
"name": "serialport",
|
|
||||||
"types": [
|
|
||||||
"serial in",
|
|
||||||
"serial out",
|
|
||||||
"serial request",
|
|
||||||
"serial-port",
|
|
||||||
"serial control"
|
|
||||||
],
|
|
||||||
"enabled": true,
|
|
||||||
"local": false,
|
|
||||||
"user": false,
|
|
||||||
"module": "node-red-node-serialport",
|
|
||||||
"file": "/home/mrosero/devs/projects/webservices/node_modules/node-red-node-serialport/25-serial.js"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@nickcuper/node-red-contrib-html-pro": {
|
"@nickcuper/node-red-contrib-html-pro": {
|
||||||
"name": "@nickcuper/node-red-contrib-html-pro",
|
"name": "@nickcuper/node-red-contrib-html-pro",
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
|
|
8
.node-red/.config.projects.json
Normal file
8
.node-red/.config.projects.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"projects": {
|
||||||
|
"webservices": {
|
||||||
|
"credentialSecret": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"activeProject": "webservices"
|
||||||
|
}
|
|
@ -15,6 +15,19 @@
|
||||||
"tours": {
|
"tours": {
|
||||||
"welcome": "4.0.9-git"
|
"welcome": "4.0.9-git"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"git": {
|
||||||
|
"globalUser": {
|
||||||
|
"name": "Mauro Rosero P.",
|
||||||
|
"email": "mauro@rosero.one"
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"name": "Mauro Rosero P.",
|
||||||
|
"email": "mauro@rosero.one"
|
||||||
|
},
|
||||||
|
"workflow": {
|
||||||
|
"mode": "manual"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -7,6 +7,14 @@
|
||||||
"info": "",
|
"info": "",
|
||||||
"env": []
|
"env": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "ae43dc9d802ec4d9",
|
||||||
|
"type": "tab",
|
||||||
|
"label": "Flow 1",
|
||||||
|
"disabled": false,
|
||||||
|
"info": "",
|
||||||
|
"env": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "772316e0710af934",
|
"id": "772316e0710af934",
|
||||||
"type": "inject",
|
"type": "inject",
|
||||||
|
|
2804
.node-red/package-lock.json
generated
2804
.node-red/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -5,6 +5,7 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nickcuper/node-red-contrib-html-pro": "~1.0.1",
|
"@nickcuper/node-red-contrib-html-pro": "~1.0.1",
|
||||||
|
"node-red": "~4.0.9",
|
||||||
"node-red-contrib-google-sheets-advance": "~0.0.7",
|
"node-red-contrib-google-sheets-advance": "~0.0.7",
|
||||||
"node-red-contrib-json2csv": "~0.0.3"
|
"node-red-contrib-json2csv": "~0.0.3"
|
||||||
}
|
}
|
||||||
|
|
|
@ -420,7 +420,7 @@ module.exports = {
|
||||||
|
|
||||||
projects: {
|
projects: {
|
||||||
/** To enable the Projects feature, set this value to true */
|
/** To enable the Projects feature, set this value to true */
|
||||||
enabled: false,
|
enabled: true,
|
||||||
workflow: {
|
workflow: {
|
||||||
/** Set the default projects workflow mode.
|
/** Set the default projects workflow mode.
|
||||||
* - manual - you must manually commit changes
|
* - manual - you must manually commit changes
|
||||||
|
|
21
README.md
21
README.md
|
@ -28,9 +28,8 @@ webservices/
|
||||||
├── docs/ # Documentación del proyecto
|
├── docs/ # Documentación del proyecto
|
||||||
├── .node-red/ # Directorio de configuración de Node-RED
|
├── .node-red/ # Directorio de configuración de Node-RED
|
||||||
│ ├── flows.json # Definición principal de flujos
|
│ ├── flows.json # Definición principal de flujos
|
||||||
│ └── flows_cred.json # Credenciales de flujos (no incluido en el repositorio)
|
│ └── settings.js # Configuración de Node-RED
|
||||||
├── node-red # Script para iniciar/detener el servicio
|
├── node-red # Script para iniciar/detener el servicio
|
||||||
├── nodes/ # Nodos personalizados para Node-RED
|
|
||||||
├── public/ # Archivos estáticos para la interfaz de usuario
|
├── public/ # Archivos estáticos para la interfaz de usuario
|
||||||
└── tests/ # Pruebas unitarias y de integración
|
└── tests/ # Pruebas unitarias y de integración
|
||||||
```
|
```
|
||||||
|
@ -40,18 +39,26 @@ webservices/
|
||||||
### Instalación Inicial
|
### Instalación Inicial
|
||||||
|
|
||||||
1. Instale las dependencias: `npm install`
|
1. Instale las dependencias: `npm install`
|
||||||
2. Configure las variables de entorno en `.env`
|
2. Configure las variables de entorno en `.env` (si aplica)
|
||||||
3. Cree el directorio de flujos: `mkdir -p flows`
|
|
||||||
|
|
||||||
### Iniciar el Servicio
|
### Iniciar el Servicio
|
||||||
|
|
||||||
#### Modo Desarrollo
|
#### Modo Desarrollo
|
||||||
```bash
|
```bash
|
||||||
# Iniciar Node-RED en modo desarrollo (interactivo)
|
# Iniciar Node-RED en modo desarrollo (interactivo)
|
||||||
node-red --userDir ./flows
|
node-red
|
||||||
|
|
||||||
# Para especificar un puerto diferente
|
# Para especificar un puerto diferente
|
||||||
node-red --userDir ./flows -p 1881
|
node-red -p 1881
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Modo con Proyectos (Recomendado)
|
||||||
|
```bash
|
||||||
|
# Iniciar Node-RED con soporte para proyectos
|
||||||
|
node-red
|
||||||
|
|
||||||
|
# Acceder a la interfaz y seleccionar el proyecto "webservices"
|
||||||
|
# en el menú de gestión de proyectos
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Modo Servicio (Producción)
|
#### Modo Servicio (Producción)
|
||||||
|
@ -60,7 +67,7 @@ node-red --userDir ./flows -p 1881
|
||||||
npm install -g pm2
|
npm install -g pm2
|
||||||
|
|
||||||
# Iniciar Node-RED como servicio
|
# Iniciar Node-RED como servicio
|
||||||
pm2 start node-red -- --userDir ./flows -p 1880
|
pm2 start node-red -- -p 1880
|
||||||
|
|
||||||
# Ver estado del servicio
|
# Ver estado del servicio
|
||||||
pm2 status
|
pm2 status
|
||||||
|
|
Loading…
Reference in a new issue