Autor Tema: Mútiples instancias de Raspberry Pi + CumulusMX  (Leído 2493 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Mútiples instancias de Raspberry Pi + CumulusMX
« en: 11 de Mayo del 2024, 11:04:38 am »
Uffff.....me ha costado....He estado toda la mañana con este tema y siempre tenía problemas con la segunda instancia de CumulusMX.

No terminaba de comprender porque si arrancaba una instancia, la segunda fallaba. Pero si la arrancaba a mano (sin ejecutarse como un servicio) funcionaba perfectamente.

El problema siempre estaba en el fichero CumulusMX.exe.lock que se generaba y no veía como forzar a la segunda instancia a que usara su propio fichero .lock, hasta que me ha llegado la luz.

Espero que con todo el tejemaneje que he tenido que hacer no haya liado las instrucciones......ya me lo diréis vosotros.



Para hacer que una segunda instancia funcione, tan solo hay que indicar otro directorio y otro puerto de trabajo, en lugar de /opt/CumulusMX y el puerto 8998 que funciona por defecto en este tutorial.

Vamos a usar el puerto 8999 en nuestra segunda instancia

Y el directorio /opt/CumulusMX2

Todo muy original *+* *+* *+* *+* *+*

Lo primero de todo tenemos que copiar todos los ficheros al nuevo directorio.

Lo podemos hacer como en la instalación, es decir, descomprimiendo el fichero descargado con CumulusMX en el nuevo directorio o a lo bruto.

Vamos a hacerlo de forma civilizada, que es descomprimiendo el fichero en el nuevo directorio. Así no tendremos problemas de si algún fichero se ha quedado con la configuración de la otra instancia

Suponemos que el fichero con la distribución de CumulusMX la bajaste al directorio /opt

Suponemos que el fichero de la distribución de CumulusMX sigue estando en ese directorio, ya que en el tutorial no se indicó que se borrase.

Ahora descomprimimos el fichero, PERO TENEMOS QUE DESCOMPRIMIRLO EN OTRO DIRECTORIO, porque de lo contrario machacaríamos el directorio de trabajo de la primera instancia. No problem......indicaremos a unzip que lo descomprima en otro sitio

Por si acaso, le decimos a Linux que se vaya al directorio /opt

Código: [Seleccionar]
cd /opt
Descomprimimos el archivo en el directorio CumulusMX2

Código: [Seleccionar]
sudo unzip -d CumulusMX2 CumulusMXDist3283a.zip
Esto conlleva un pequeño inconveniente que los datos estarán en /CumulusMX2/CumulusMX/.....

Pero no es ningún problema....es casi más claro para ir creando sucesivas instancias.

Tenemos que cambiar el nombre del fichero ejecutable de CumulusMX.exe a CumulusMX2.exe o hacer una copia con este último nombre. Es lo que haremos.

Código: [Seleccionar]
sudo cp /opt/CumulusMX2/CumulusMX/CumulusMX.exe /opt/CumulusMX2/CumulusMX/CumulusMX2.exe

Ahora tenemos que editar el fichero que se encargará de arrancarlo

Vamos al directorio donde se encuentra el fichero que instalamos con la primera instancia

Código: [Seleccionar]
cd /etc/systemd/system
Copiamos el fichero de arranque de la primera instancia y le ponemos otro nombre.....por ejemplo cumulusmx2.service

Código: [Seleccionar]
sudo cp cumulusmx.service cumulusmx2.service
Editamos el fichero de arranque

Código: [Seleccionar]
sudo nano cumulusmx2.service
En la línea Description ponemos la descripción que queramos para esta segunda instancia

El meollo está en la línea ExecStart

Con cuidado la editamos.....No vas a romper nada....si no funciona porque te has equivocado al escribir, siempre la puedes editar después

Tendremos esta línea si has seguido el tutorial

Código: [Seleccionar]
ExecStart=/usr/bin/mono-service -d:/opt/CumulusMX CumulusMX.exe -service
Y tenemos que decirle que use otro directorio y otro puerto.

Así que lo cambiamos por

Código: [Seleccionar]
ExecStart=/usr/bin/mono-service -d:/opt/CumulusMX2/CumulusMX CumulusMX2.exe -port 8999 -service
En la línea ExecStopPost cambiaremos

Código: [Seleccionar]
ExecStopPost=/bin/rm -f /tmp/CumulusMX.exe.lock
Por

Código: [Seleccionar]
ExecStopPost=/bin/rm -f /tmp/CumulusMX2.exe.lock
De este modo el fichero nos quedará como esto

Citar
[Unit]
Description=CumulusMX service segunda instancia
Documentation=https://cumuluswiki.org/a/Main_Page
Wants=network-online.target
After=network-online.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/mono-service -d:/opt/CumulusMX2/CumulusMX CumulusMX2.exe -port 8999 -service
Type=forking
ExecStopPost=/bin/rm -f /tmp/CumulusMX2.exe.lock

[Install]
WantedBy=multi-user.target



Grabamos y salimos con CTRL-X




Y por fin vamos terminando.

Ejecutamos lo necesario para que la segunda instancia se ejecute al arrancar la Raspi/ordenador y obedezca a las órdenas de parar/arrancar/reiniciar

Código: [Seleccionar]
sudo systemctl enable cumulusmx2
Por si las moscas, vamos a recargar la configuración de systemctl

Código: [Seleccionar]
systemctl daemon-reload
Y arrancamos manualmente la segunda instancia:

Código: [Seleccionar]
sudo systemctl start cumulusmx2
Esperamos un minutejo para dejar que todo funcione y accedemos al interface web, pero dentro del puerto 8999



Ale.....a configurar la segunda estación.

El procedimiento sería el mismo para más instancias. Evidentemente tendremos que cambiar ficheros y directorios cambiando el 2 por 3, 4 o lo que queráis.

También podéis identificar la estación en los diferentes ficheros y directorios

En lugar de CumulusMX2 por CumulusMX_estacion1 y similares


« Última modificación: 12 de Mayo del 2024, 18:06:21 pm por jantoni »

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #1 en: 11 de Mayo del 2024, 12:32:16 pm »
Lo que es importante es que el fichero ejecutable

CumulusMX.exe

Solo se ejecute en una de las instancias con ese nombre

Por eso en este tutorial copiamos ese fichero a CumulusMX2.exe que es el ejecutable que invocamos al arrancarlo.


Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #2 en: 11 de Mayo del 2024, 14:02:52 pm »
Ah, el número de instancias que se podrán abrir dependerá de nuestro ordenador

Como referencia, con una Raspberry Pi Zero W, que es la tarjeta con menos potencia de todas las Raspberry Pi que se venden actualmente, y dos instancias abiertas, la CPU está al 30%

Con una de las modernas 4 o 5 , dependiendo de la RAM, podría llegar a 10 con soltura.... Pero es pura especulación

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado Onuba2

  • Full Member
  • ***
  • Mensajes: 127
    • Ver Perfil
  • Estación: ESAND2100000021003B ESAND2100000021005A ESAND2100000021230A ESAND2100000021330A ESAND2100000021610B ESAND2100000021002A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #3 en: 11 de Mayo del 2024, 14:48:30 pm »
Trabajazo  plau2

De todas formas cumulusmx no es un programa muy exigente. Yo tengo 6 instancias en un portátil con sólo 2 GB de RAM y va con bastante soltura.

Desconectado GeraltLK

  • Jr. Member
  • **
  • Mensajes: 82
    • Ver Perfil
  • Estación: Jaraíz de la Vera (ESEXT1000000010400A) Jaraíz - Vegas del río Tiétar (ESEXT1000000010400B)
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #4 en: 12 de Mayo del 2024, 15:59:40 pm »
Gracias por el trabajo Jantoni.

Un pequeño errorcillo de escritura tienes, ya que no me funcionaba y di con él.

En la parte en la que comentas:

"Tenemos que cambiar el nombre del fichero ejecutable de CumulusMX.exe a CumulusMX2.exe o hacer una copia con este último nombre. Es lo que haremos."

En el código posterior pones Cumulus2.exe en lugar de CumulusMX2.exe
sudo cp /opt/CumulusMX2/CumulusMX/CumulusMX.exe /opt/CumulusMX2/CumulusMX/Cumulus2.exe

Corrigiendo eso a CumulusMX2.exe, funciona todo a la primera.

Un saludo
« Última modificación: 12 de Mayo del 2024, 16:05:20 pm por GeraltLK »

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #5 en: 12 de Mayo del 2024, 18:03:35 pm »
No sabes lo difícil que se me hace escribir CumulusMX  *+* *+*

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #6 en: 12 de Mayo del 2024, 18:07:23 pm »
En el código posterior pones Cumulus2.exe en lugar de CumulusMX2.exe
sudo cp /opt/CumulusMX2/CumulusMX/CumulusMX.exe /opt/CumulusMX2/CumulusMX/Cumulus2.exe

Corregido....muchas gracias

Y me alegro saber que el resto funciona.....esto me dio muchos quebraderos de cabeza y 3 pantallas grandes, moviendo cosas de un lado a otro....una locura

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 2.288
    • Ver Perfil
  • Estación: Villavieja de Yeltes-SA102 ESCYL3700000037260A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #7 en: 13 de Mayo del 2024, 21:07:31 pm »
No sabes lo difícil que se me hace escribir CumulusMX  *+* *+*

Llevo usando CumulusMX desde las primeras betas y me pasa los mismo  *+* *+* *+*
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es

Desconectado GeraltLK

  • Jr. Member
  • **
  • Mensajes: 82
    • Ver Perfil
  • Estación: Jaraíz de la Vera (ESEXT1000000010400A) Jaraíz - Vegas del río Tiétar (ESEXT1000000010400B)
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #8 en: 31 de Mayo del 2024, 17:50:05 pm »
Una duda que me surge ahora Jantoni.

Tengo la segunda estación en CumulusMX pero hasta hoy no tenía tiempo para pasarla a mateoclimatic.
Mi duda es como renombrar la plantillas y similares en los pasos que hay que seguir para enviar datos a meteoclimatic, porque en la guia inicial en la carpeta por defecto ya están los archivos meteoclimaticT.html y meteoclimatic.html de la primera estación y no se si la solución es poner los dos nuevos archivos con un 2 (por ejemplo meteoclimaticT2.html y meteoclimatic2.html) para la segunda estación u hacerlo dentro de otro directorio en esa ruta.

Antes de liarla y fastidiar la primera estación que ya está funcionando bien, pues pregunto por si las moscas.
« Última modificación: 31 de Mayo del 2024, 17:57:42 pm por GeraltLK »

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.793
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #9 en: 31 de Mayo del 2024, 17:54:23 pm »
Puedes renombrarlos perfectamente.

No dejar de ser una plantilla y con el nombre que te apetezca.

La otra solución es pasar las plantillas a los directorios de trabajo de cada instancia.

Lo que te resulte más sencillo.

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado Onuba2

  • Full Member
  • ***
  • Mensajes: 127
    • Ver Perfil
  • Estación: ESAND2100000021003B ESAND2100000021005A ESAND2100000021230A ESAND2100000021330A ESAND2100000021610B ESAND2100000021002A
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #10 en: 31 de Mayo del 2024, 19:43:26 pm »
Yo tengo un directorio por cada estación y así no mezclo. Y cada plantilla con el nombre de la estación.

Desconectado GeraltLK

  • Jr. Member
  • **
  • Mensajes: 82
    • Ver Perfil
  • Estación: Jaraíz de la Vera (ESEXT1000000010400A) Jaraíz - Vegas del río Tiétar (ESEXT1000000010400B)
Re:Mútiples instancias de Raspberry Pi + CumulusMX
« Respuesta #11 en: 31 de Mayo del 2024, 21:04:46 pm »
Pues perfecto. Eso hice al final, un directorio distinto.

Ya tengo ambas por cumulus en la pi zero 2W y enviando datos sin problemas

Gracias jantoni y Onuba2
« Última modificación: 31 de Mayo del 2024, 21:07:28 pm por GeraltLK »