Ejemplo de como implementar DOCKER + NodeRED + Dashboard + LOGO8 de SIEMENS
Que podemos hacer con esos viejos microRELAY programables de Siemens, los LOGO8 que tenemos tirados por que nos quedaron obsoletos para nuestros proyectos diarios?Bien, en mi caso particular tengo un LOGO 24RC con modulo de expancion de entradas y salidas digitales y dos entradas analógicas. Este lamentablemente no tiene puerto de ETHERNET, así que lo descarte y seguirá en su rincón juntando polvillo. El otro LOGO que tengo, es el 230RC que viene con 8 entradas digitales y 4 salidas digitales, mas un puerto de ETHERNET... Con este ultimo ya puedo jugar un poco mas y sacarle un poco mas de jugo.
En la primera parte de este mini tutorial, vamos a ver a modo breve y simplificado, como podemos emplear Docker, NodeRED, crear un dashboard y controlar/ver/forzar algunas cosas en el LOGO8 de Siemens.
En el primer ejemplo hice una lógica sencilla, pero en el próximo articulo, vamos a ver con mas detenimiento el tema del dashboard, y vamos a ver como sumar mqtt para que con un esp32 podamos tener entradas analógicas y adicionar un poco de inteligencia artificial, o mejor dicho, visión artificial con Python.... vamos con el video de esta 1er parte:
1_Para instalar Docker Compose en Windows, sigue estos pasos:
- Abre tu navegador web y visita el sitio web oficial de Docker ( Docker Desktop: The #1 Containerization Tool for Developers | Docker )
- Descarga el instalador de Docker Desktop para Windows y ejecútalo... Sigue las instrucciones del instalador para completar la instalación de Docker Desktop en tu máquina.
2_Una vez que la instalación haya finalizado, abre una ventana de línea de comandos (Command Prompt) o PowerShell, y ejecuta el siguiente comando para verificar que Docker Compose se haya instalado correctamente:
Código:
docker-compose --versión
Si el comando muestra la versión de Docker Compose instalada, Docker Compose está listo para su uso en tu sistema Windows.
3_ Descargar la imagen de Node-RED:
Si bien internamente desde docker en la seccion de paleta ("Manage palette") o simplemente en la casilla de buscador central podemos buscar las librerias/dependencias que requerimos, también podemos abrir el terminal y descarga la imagen oficial más reciente para asegurar compatibilidad con las funciones
Código:
docker pull nodered/node-red
4_Crear un Volumen para Persistencia:
Para evitar perder tus flujos y configuraciones, o sea, tu trabajo / proyecto si el contenedor se borra, crea un volumen de datos:
Código:
docker volume create node_red_data
5_Ejecutar el Contenedor:
Usa el siguiente comando para iniciar Node-RED. Este mapea el puerto 1880 y conecta el volumen de datos
Código:
docker run -d -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
Donde:
- -d: Ejecuta el contenedor en segundo plano (modo detached).
- -p 1880:1880: Mapea el puerto del contenedor al de tu máquina.
- -v node_red_data:/data: Persiste tus datos en el volumen creado.
- --name mynodered: Asigna un nombre amigable al contenedor.
6_Acceder a Node-RED
Una vez ejecutado, abre tu navegador y entra en la siguiente dirección: http://localhost:1880o en mi caso particular: http://127.0.0.1:1880/#flow/f6f2187d.f17ca8
Siempre verifiquen que al ejecutar les indicará la dirección
El 1er EJEMPLO:
En el ejemplo que comparto, si bien hay muchas formas de poder tener control de entradas y salidas de nuestro LOGO8 de SIEMENS desde nuestro dashboard con Docker y NodeRED; Yo elegí la mas sencilla, que es escribir y leer los espacios de memoria "VM" (byte 0 hasta 849 y bit 0 hasta el 7)… Instaladas las dependencias, tal como lo muestro en las imágenes, nuestro siguiente paso es implementar los nodos funcionales "S7" que son:
- S7 in (Lee datos que provienen de un PLC)
- S7 out (Enviamos datos y sobrescribimos espacios de memorias determinados en un PLC)
OFF DB1,0.1
PE DB1,0.2
IZQ DB1,0.3
DER DB1,0.4
KM1 DB1,0.5
KM2 DB1,0.6
KM3 DB1,0.7
Recuerden que la configuración del byte y bit de cada nodo, tenemos que reproducirlo en nuestra función "Entrada de RED" y "Salida de RED" en nuestro programa del LOGO8 SIEMENS En la próxima edición, vamos hablar de como generar nuestros DASHBOARD cono Docker y NodeRED...
Las dependencias que necesitamos son:
Para instalarlas, nos dirigimos a la seccion "Administrar paleta" y en la barra de busqueda vamos a buscar las librerias que a continuación les muestro:
Les dejo unos links de referencias:
Código:
https://www.freecodecamp.org/news/the-docker-handbook/
https://www.thesmarthomebook.com/2021/04/14/basics-connecting-home-assistant-to-node-red/
https://www.youtube.com/watch?v=wi2b5ZcySuc
https://www.youtube.com/watch?v=sIvzWJ4ytok
https://www.youtube.com/watch?v=0c9TbB2IzAs
https://www.youtube.com/watch?v=8-o8Oo7CsMM
https://www.prometec.net/jugando-con-nodered-y-dashboard/ + https://www.youtube.com/watch?v=l3CTWBKJWR0
https://www.youtube.com/watch?v=O6SegqIr7V8