Autor Tema: Utilidad de envío de la plantilla en Python  (Leído 155610 veces)

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

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Utilidad de envío de la plantilla en Python
« en: 02 de Febrero del 2020, 17:45:48 pm »
Buenas

A raíz de volver a actualizar jantoni su script de instalación de weewx  :aplaude1: yo por mi parte he conseguido hacer funcionar una nueva utilidad de envío de la plantilla de meteoclimatic hecha en Python.

Con esta nueva versión (que animo a que haya betatesters y que la probéis a ver si da fallos y corregirlos *-* *-*) no hará falta tener instalado PHP como en el script que había sino que con la versión 2.7 o 3.x funcionará, por lo que si hemos instalado weewx ya tendremos Python instalado.

En el adjunto están los dos archivos necesarios, el script que sube la plantilla meteoclimatic.py y el archivo de configuración meteoclimatic.ini que hace falta editar para introducir la contraseña de la estación en meteoclimatic y comprobar que la ruta y nombre de archivo de la plantilla son correctos.

Si ya tenéis el archivo meteoclimatic.ini de la versión de PHP es totalmente compatible ya que solo hace uso de la ruta de la plantilla y de la contraseña las cuáles habrá que poner correctamente. Aparte añade un nuevo campo Log con el cual indicamos si queremos que haga log o no del resultado del envío. Para activarlo tenemos que ponerle Log=1
Si no está lo creará por defecto con valor 0 (no creará log).

El log se creará en la misma carpeta donde tengamos meteoclimatic.py y meteoclimatic.ini en una nueva carpeta llamada log y creará archivos con el nombre de la fecha para mejor análisis si lo queremos.

Para preparar el script simplemente le damos permisos de ejecución con chmod u+x meteoclimatic.py estando en la misma ruta en la que está el script.

Lo podremos probar entonces con ./meteoclimatic.py y si pone envío aceptado es que hemos tenido éxito, si no, habrá que ver que ocurre.

Lo siguiente para automatizar la subida es editar el crontab poniendo la ruta en la que está el script. Si por ejemplo lo tenemos en una carpeta llamada meteoclimatic en /home/pi ponemos en una nueva línea con crontab -e

16,31,46,59 * * * * /home/pi/meteoclimatic/meteoclimatic.py

o la ruta en la que esté si no es esa.

A ver qué tal va. A mí tras un día de pruebas me va bien.

Saludos
« Última modificación: 06 de Abril del 2021, 23:19:01 pm por jmviper »


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #1 en: 02 de Febrero del 2020, 18:25:53 pm »
Eres un máquina, archenero.

De aquí a ponerlo como una extensión de Weewx y que lo cuelguen en la wiki de Weewx.

Saludos.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #2 en: 02 de Febrero del 2020, 20:13:47 pm »
Buffff eso de crear una extensión para weewx parece harina de otro costal.... se agradecerían enlaces con algún ejemplo  *-* *-*



Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #3 en: 03 de Febrero del 2020, 08:03:52 am »
Hola, como ya comenté en otros hilos, voy a conectar la raspi por WiFi, no como hasta ahora que está con un PLC ya que éste es sospechoso de causar interferencias. Para ello ya tengo otro ordenador igual corriendo con WeeWX instalado por el nuevo script de Jantoni. Cuando termine de generarme todos los gráficos podría probar la nueva utilidad de envío.
Supongo que primero debo parar la antigua raspi y después configurar la nueva. Los datos ( contraseña) de meteoclimatic.ini son todos válidos. Ese archivo no se toca.
Saludos

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #4 en: 03 de Febrero del 2020, 09:30:45 am »
Hola Telares

Sí, efectivamente el meteoclimatic.ini de la utilidad de PHP es totalmente compatible.

No lo dije antes por parecer obvio pero si está funcionando la utilidad PHP habría que cambiar esa línea del crontab o quitarla y poner la de Python.

Saludos


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #5 en: 03 de Febrero del 2020, 10:13:30 am »
En mi caso, al ser una raspi  y SD diferentes sólo tendría que configurar el nuevo con la utilidad Pyton, previa desconexión del ordenador que envía a Meteoclimatic actualmente. Supongo. Las pasé canutas para conectarme hace dos años, sólo fue posible con tu ayuda. Espero que esta vez vaya mejor.
Gracias.

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #6 en: 03 de Febrero del 2020, 16:37:16 pm »
Hola, estoy con ello. Veo que mi plantilla es meteoclimatic.htm, sin la "l" final. Tiene importancia?
He editado meteoclimatic.ini y he añadido  Log=0
« Última modificación: 03 de Febrero del 2020, 16:39:42 pm por Telares »

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #7 en: 03 de Febrero del 2020, 16:51:58 pm »
Supongo que es algo de 1º de Linux pero no sé cómo se  dan permisos de ejecución estando en la misma ruta. He buscado por internet pero no me aclaro.

root@raspberrypi:~# chmod u+x meteoclimatic.py
chmod: no se puede acceder a 'meteoclimatic.py': No existe el fichero o el directorio

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #8 en: 03 de Febrero del 2020, 17:07:22 pm »

Hola, estoy con ello. Veo que mi plantilla es meteoclimatic.htm, sin la "l" final. Tiene importancia?


Sí, mucha... no es lo mismo en nombre de archivo aún siendo en definitiva los dos documentos HTML

Supongo que es algo de 1º de Linux pero no sé cómo se  dan permisos de ejecución estando en la misma ruta. He buscado por internet pero no me aclaro.

root@raspberrypi:~# chmod u+x meteoclimatic.py
chmod: no se puede acceder a 'meteoclimatic.py': No existe el fichero o el directorio

Está el meteoclimatic.py que te has descargado del adjunto en la misma carpeta que meteoclimatic.ini y estás en esa carpeta ? lo podrás ver con ls -l


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #9 en: 03 de Febrero del 2020, 17:10:46 pm »
root@raspberrypi:~# ls -la /root/meteoclimatic
total 20
drwxr-xr-x 2 root root 4096 feb  3 15:40 .
drwx------ 5 root root 4096 feb  2 13:11 ..
-rw-r--r-- 1 root root  201 feb  3 15:40 meteoclimatic.ini
-rwxr--r-- 1 root root 6974 feb  3 15:29 meteoclimatic.py

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #10 en: 03 de Febrero del 2020, 17:15:43 pm »
Acabo de instalarlo en mi vieja Raspi.....ahora cuento

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #11 en: 03 de Febrero del 2020, 17:19:28 pm »
root@raspberrypi:~# ls -la /root/meteoclimatic
total 20
drwxr-xr-x 2 root root 4096 feb  3 15:40 .
drwx------ 5 root root 4096 feb  2 13:11 ..
-rw-r--r-- 1 root root  201 feb  3 15:40 meteoclimatic.ini
-rwxr--r-- 1 root root 6974 feb  3 15:29 meteoclimatic.py

No sé si va a dar problemas los archivos en la carpeta de root…

De todas formas ya lo tienes como ejecutable así que prueba a ejecutarlo con ./meteoclimatic.py


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #12 en: 03 de Febrero del 2020, 17:21:33 pm »
root@raspiweather:~/meteoclimatic/log# cat *
2020-02-03 16:21:01
Envío aceptado

root@raspiweather:~/meteoclimatic/log#

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #13 en: 03 de Febrero del 2020, 17:24:19 pm »
root@raspberrypi:~# ./meteoclimatic.py
-bash: ./meteoclimatic.py: No existe el fichero o el directorio

Desconectado jantoni

  • Hero Member
  • *****
  • Mensajes: 3.754
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #14 en: 03 de Febrero del 2020, 17:25:24 pm »
Yo solo he hecho esto:

- Incluir meteoclimatic.py en el directorio donde tenía el php. Es decir, en /root
- Modificar el meteoclimatic.ini que tenía para incluir "Log=1"
- Modificar crontab sustituyendo así:

# Envía datos a Meteoclimatic cada 5 minutos, empezando en el minuto 1 de cada hora
#1-59/5 *   * * *   root    /root/meteoclimatic/meteoclimatic.sh
1-59/5 *   * * *   root    /root/meteoclimatic/meteoclimatic.py

Funcionando, de momento, perfectamente.

Lo dejaremos en producción.