Autor Tema: actualizar plantilla weewx de una raspberry con sensores  (Leído 7111 veces)

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

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
actualizar plantilla weewx de una raspberry con sensores
« en: 08 de Abril del 2020, 21:20:10 pm »
Hola a todos:
 Estoy intentando montar una estacion metereológica con una raspberrypi y varios sensores.
De momento he conseguido crear el programa y cargar los datos en Mariadb.
mi pregunta es: ¿como puedo actualizar la plantilla de weewx con esos datos?
gracias

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #1 en: 08 de Abril del 2020, 22:20:44 pm »
Hola

Weewx tiene el modo simulador que lee de una base de datos o de un fichero de texto creando un servicio que ejecutaría. Podrías prescindir de esa mariadb ya que weewx almacenaría los datos en su propia BBDD.
Teniendo ya weewx los datos puede confeccionar una plantilla para ser enviada a meteoclimatic.

Aquí tienes más información (en inglés) de cómo crear el servicio en weewx:

https://github.com/weewx/weewx/wiki/add-sensor

saludos


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

www.meteoarchena.es

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #2 en: 10 de Abril del 2020, 03:55:57 am »
Buenas noches,

 he conseguido que el programa funcione correctamente (byows.py), dándome bién las lecturas

 Según entiendo  este será el driver para weewx. ¿en que carpeta he de colocarlo?

¿En weewx.conf que tipo de estacion he de poner? ¿seria station_type: BYOWS?

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #3 en: 10 de Abril del 2020, 07:31:33 am »
Hola

Tendrás que seguir la documentación de ese driver:

https://github.com/jardiamj/BYOWS_RPi

Según ella tendrás que ejecutar el wget que viene para que instale el driver en su directorio y modificar/añadir las secciones que pone en weewx.conf
« Última modificación: 10 de Abril del 2020, 07:33:27 am por jmviper »


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

www.meteoarchena.es

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.826
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #4 en: 10 de Abril del 2020, 09:49:57 am »
Particularmente, voy a estar muy atento a tus progresos, porque es algo que en su día me planteé, pero nunca me atreví a hacerlo.

Por favor, cuéntanos tus progresos paso a paso.

Aquí te podremos dar ayuda con weewx, pero no me consta que nadie haya trabajado con ese driver en Meteoclimatic, así que te podremos orientar de una manera muy básica, pero sobre el programa, no sobre el driver.

Y a partir de aquí, un poco de crítica,  pero light..... *+* *+*

Deberías haberte presentado y haber manifestado no tu intención de montar una estación meteorológica sino, además, que la vas a conectar a Meteoclimatic.

Personalmente, ya he sufrido demasiadas veces el hecho de dedicar horas y horas a nuevos usuarios que, cuando consiguen lo deseado, desaparecen por completo.

Igualmente te pido que describas el proyecto. Que raspberry, que sistema operativo, que sensores vas a utilizar. Tu experiencia puede ser muy valiosa, no solo para los usuarios de meteoclimatic, sino para multitud de personas que leen este foro, aunque no sean usuarios.

Tu proyecto podría ser  muy interesante para centros educativos y, aquí en Meteoclimatic, hay muchos institutos y otros centros docentes.

Espero ansioso tus próximos mensajes y ver pronto tu estación dada de alta.

Saludos.

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #5 en: 11 de Abril del 2020, 02:32:13 am »
buenas noches Jantoni, intentare describirte el proyecto:

Raspberry pi 3 mod B (con raspbian buster)

Sensores: veleta, anemometro y pluviometro, bme280,ds18b20 y reloj.

Hasta ahora tengo los programas para correr python y leer los datos.( bm280_sensor_2.py | ds18b20_therm.py | rainfall.py | wind_direction_byo_5.py | y por último    byows.py   ques es el que hay q modificar para utilizar como driver )

weewx instalado y funcionando en modo simulador pero sin actualizar plantilla. puedo acceder desde fuera de la red mediante ddns.net.


He colocado los archivos anteriores en  /usr/share/weewx/user     y despues he configurado weewx.conf con station_type = BYOWS y he añadido despues de el  apartado [engine] este otro:

[BYOS]
driver = user.byows

te adjunto tambien el log al hacer weewxd /etc/weewx/weewx.conf

pi@raspberrypi:~ $ sudo weewxd /etc/weewx/weewx.conf
Traceback (most recent call last):
  File "/usr/bin/weewxd", line 64, in <module>
    weewx.engine.main(options, args)
  File "/usr/share/weewx/weewx/engine.py", line 888, in main
    engine = engine_class(config_dict)
  File "/usr/share/weewx/weewx/engine.py", line 72, in __init__
    self.setupStation(config_dict)
  File "/usr/share/weewx/weewx/engine.py", line 96, in setupStation
    __import__(driver)
  File "/usr/share/weewx/user/byows.py", line 31, in <module>
    import bme280_sensor_2
  File "/usr/share/weewx/user/bme280_sensor_2.py", line 1, in <module>
    import bme280
ImportError: No module named bme280


De momento he llegado hasta aqui.





Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #6 en: 11 de Abril del 2020, 08:18:35 am »
Python está diciendo que no tiene el módulo bme280 y por tanto no puede importarlo...

sudo pip install RPi.bme280

Seguramente sea lo que hace falta. Puede que algún módulo más de esos que enumeras no esté tampoco y haya que instalarlo con pip


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

www.meteoarchena.es

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.826
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #7 en: 11 de Abril del 2020, 10:09:16 am »
Seguramente es lo que dice jmviper.

Si estás siguiendo este proyecto: https://projects.raspberrypi.org/en/projects/build-your-own-weather-station/

Posiblemente el problema venga de aquí:

Citar
The BME280 Python library:

sudo pip3 install RPi.bme280

Por lo que has instalado el módulo para Python3, pero Weewx funciona con Python 2.7, salvo que quiera usar Weewx 4.0b que está en fase beta.

Siguiendo las indicaciones de jmviper instalarás el módulo para leer el sensor barométrico para python 2.7 y ese error debería desaparecer.

Por cierto, el driver que hay publicado en la wiki de Weewx para OBYWS es este:

https://github.com/jardiamj/BYOWS_RPi

Saludos.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #8 en: 11 de Abril del 2020, 10:48:02 am »
Sí, es como dice jantoni…. si tienes las dos instalaciones de Python (la 2 para weewx y la 3 instalada del repositorio de la raspberry) tendrás que usar pip para instalar módulos Python en python2 que es el que usa weewx y pip3 para instalar en python3.

Seguramente haciendo pruebas te iba bien porque probabas python3 en el cual tienes ese módulo.


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

www.meteoarchena.es

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #9 en: 14 de Abril del 2020, 12:23:07 pm »
buenos dias. lo de pip y pip3 para importar el modulo ya lo había intentado y no funciona, intentare desinstalar e instalar de nuevo weewx.
¿en que directorio instao weewx? ahora lo tenía en /home/pi.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.826
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #10 en: 14 de Abril del 2020, 15:10:28 pm »
Por mas que instales weewx, si no tienes ese módulo, no vas a conseguir nada.

Y el mensaje es claro, te falta el módulo del sensor barométrico

Saludos

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #11 en: 15 de Abril del 2020, 01:38:59 am »
Lo que estoy haciendo es cambiar la manera de instalarlo. me da la impresion que no es que no estuviera el modulo sino que no esta en la carpeta que  el driver  indica donde buscarlo.
La instalacion la hago mediante setup.py .
He de poner meteoclimatic.html.tmpl en /home/weewx/skins/Seasons?
EL archivo meteoclimatic me tiene que aparecer en /home/weewx/public_html ?

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #12 en: 15 de Abril del 2020, 08:32:12 am »
Veamos.... una guía básica a las diferentes versiones de Python... básicamente la 2 y la 3 que desde estos pasados años hasta la actualidad han convivido juntos y se le han dado soluciones para elegir una u otra versión.

Para ver la versión por defecto que tenemos instalada ejecutamos python -V

Código: [Seleccionar]
jmviper@orangepipc:/$ python -V
Python 2.7.16

En mi caso es la 2.7.16 la que hay por defecto y que es la que usa weewx.

Si queremos ver las que tenemos instaladas ls -l /usr/bin/python*

Código: [Seleccionar]
jmviper@orangepipc:/$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root       7 Mar  4  2019 /usr/bin/python -> python2
lrwxrwxrwx 1 root root      14 Mar  4  2019 /usr/bin/python-config -> python2-config
lrwxrwxrwx 1 root root       9 Mar  4  2019 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root      16 Mar  4  2019 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root root 2576604 Oct 11  2019 /usr/bin/python2.7
lrwxrwxrwx 1 root root      36 Oct 11  2019 /usr/bin/python2.7-config -> arm-linux-gnueabihf-python2.7-config
lrwxrwxrwx 1 root root       9 Mar 26  2019 /usr/bin/python3 -> python3.7
-rwxr-xr-x 2 root root 3538304 Dec 20 19:57 /usr/bin/python3.7
-rwxr-xr-x 2 root root 3538304 Dec 20 19:57 /usr/bin/python3.7m
lrwxrwxrwx 1 root root      10 Mar 26  2019 /usr/bin/python3m -> python3.7m

Ahí como vemos tenemos los enlaces simbólicos (Symlinks) que empiezan por l (ele) en los permisos o podría decirse en la terminología Windows como accesos directos aunque no es exactamente lo mismo. Vemos que llamar a python será llamar a su versión 2.7 como antes nos ha salido. También lo llamará explícitamente python2 y python2.7.
Si quiero llamar a la versión 3.7 tendré que poner python3 o python3.7. Todo esto es útil sobre todo en la línea de comandos para llamar a Python o en el shebang de un archivo.

Weewx trabajará con python2 excepto las versiones 4 que ya usan python3.

Aclarado (creo) todo lo referente a las versiones python que tenemos instaladas en nuestro sistema viene la hora de pip (el gestor de paquetes de módulos de python).

Si ejecuto pip -V me dirá que usa la versión de python que hay por defecto en el sistema:

Código: [Seleccionar]
jmviper@orangepipc:/$ pip -V
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)

python2.7

si ejecutamos pip2 -V tendrá que salir lo mismo:

Código: [Seleccionar]
jmviper@orangepipc:/$ pip2 -V
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)

y si ejecutamos pip3 entonces (si está instalada) saldrá la versión de python que utiliza:

Código: [Seleccionar]
jmviper@orangepipc:/$ pip3 -V
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

Resumiendo pip (a secas) ejecutará la versión de python que hay por defecto en el sistema (la 2.7), pip2 usará explícitamente la versión 2 de python y pip3 la 3

Así que si usamos pip list o pip2 list nos saldrán los módulos de python2 instalados:

Código: [Seleccionar]
[b]jmviper@orangepipc:/$ pip list
Package      Version
------------ -------
asn1crypto   0.24.0
bcrypt       3.1.7
cffi         1.12.3
Cheetah3     3.1.0
configobj    5.0.6
…[/b]


y con pip3 list la de los instalados en python3:

Código: [Seleccionar]
jmviper@orangepipc:/$ pip3 list
Package             Version
------------------- --------
distro-info         0.21
iotop               0.6
pip                 18.1
pycurl              7.43.0.2
PyGObject           3.30.4


Como se ve no son la misma lista de paquetes instalados, cada versión tiene la suya.

Ahora que más o menos sabemos cómo funciona podemos saber qué módulos va a haber en python2 y va a poder usar weewx o sus servicios como el que estás intentando de utilizar.


Lo que estoy haciendo es cambiar la manera de instalarlo. me da la impresion que no es que no estuviera el modulo sino que no esta en la carpeta que  el driver  indica donde buscarlo.
La instalacion la hago mediante setup.py .


En la documentación de weewx encontramos las rutas de los archivos:

http://www.weewx.com/docs/usersguide.htm#Installing_using_the_Python_tool_setup.py

En cada pestaña según sistema o instalación te dirá dónde localizar los archivos.


He de poner meteoclimatic.html.tmpl en /home/weewx/skins/Seasons?
EL archivo meteoclimatic me tiene que aparecer en /home/weewx/public_html ?


Atendiendo al enlace que he puesto antes con la instalación por setup.py esas serán las rutas correctas.



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

www.meteoarchena.es

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.826
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #13 en: 15 de Abril del 2020, 09:03:46 am »
 :aplaude1: :aplaude1:

Desconectado mariatr

  • Newbie
  • *
  • Mensajes: 12
    • Ver Perfil
  • Estación: ESCAT0800000008780C
Re:actualizar plantilla weewx de una raspberry con sensores
« Respuesta #14 en: 16 de Abril del 2020, 13:51:59 pm »
Eres un crack. después de tu explicación ha bastado con:
sudo pip install RPi.bme280
sudo pip insall statistics

Ahora driver ok, funcionando. ahora a comprobar q las lecturas sean correctas y a seguir con weewx.