Autor Tema: Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI  (Leído 174 veces)

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

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #15 en: 05 de Abril del 2021, 11:17:43 am »
Recapitulemos

Bien, ¿qué tenemos ahora mismo?

Pues si has seguido estas instrucciones, tienes una Raspberry (u otro dispositivo similar), con Debian Buster y Weewx funcionando con el driver interceptor (un simulador) y con la configuración que viene por defecto.

Así que, como paso previo a configurar la estación....o estaciones, en modo real, vamos a hacer una serie de pasos para ajustarlo a lo que usamos por estas tierras.
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #16 en: 05 de Abril del 2021, 11:20:17 am »
Cambiamos el día de comienzo de la semana

Ya sabéis que la semana empieza con los lunes. Pero los americanos se empeñan en decir que empieza el domingo  *+* *+* *+*

Esto no afecta a la operativa de Weewx, solo afecta a la presentación de datos.

Así que vamos a cambiar el día en el que empieza la semana y vamos a configurar que sea el Lunes.

Código: [Seleccionar]
sudo sed -i 's/week_start = 6/week_start = 0/g' "/home/weewx/weewx.conf"
Aprovecho para decir dos cosas:

1.- Fijaos que el fichero de configuración ya no está, a diferencia de la instalación por paquete Debian, en /etc/weewx/weewx.conf. Esto es debido a que, bajo el sistema de instalación de setup.py TODOS LOS ARCHIVOS DE WEEWX se encuentran ubicados, por defecto, en /home/weewx. De este modo ya no tendrás que ir buscando el directorio donde se encuentran los diferentes archivos de weewx. Ahora todo va a estar en /home/weewx

2.- Estamos configurando una estación. Y habíamos dicho que ibamos a explicar para dos o más estaciones. Tranquilos. Primero modificaremos weewx.conf, que lo utilizaremos como modelo, y luego ya haremos lo necesario para poner más de una estación.
« Última modificación: 05 de Abril del 2021, 11:24:25 am por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #17 en: 05 de Abril del 2021, 17:46:20 pm »
Modificamos algunas unidades de las páginas generadas, así como el formato de fechas y horas.

Nos acercamos más a un estándar europeo. Por supuesto, cada uno lo puede poner a gusto, faltaría más *+* *+* *+* *+*

Código: [Seleccionar]
sudo sed -i 's/group_speed = meter_per_second/group_speed = km_per_hour/g' "/home/weewx/weewx.conf"
sudo sed -i 's/group_speed2 = meter_per_second2/group_speed2 = km_per_hour2/g' "/home/weewx/weewx.conf"
sudo sed -i 's/group_pressure = mbar/group_pressure = hPa/g' "/home/weewx/weewx.conf"
sudo sed -i 's/group_rain = cm/group_rain = mm/g' "/home/weewx/weewx.conf"
sudo sed -i 's/group_rainrate = cm_per_hour/group_rainrate = mm_per_hour/g' "/home/weewx/weewx.conf"
sudo sed -i 's/day        = %X/day        = %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/week       = %X (%A)/week       = %H:%M on %A/g' "/home/weewx/weewx.conf"
sudo sed -i 's/month      = %x %X/month      = %d-%b-%Y %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/year       = %x %X/year       = %d-%b-%Y %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/rainyear   = %x %X/rainyear   = %d-%b-%Y %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/current    = %x %X/current    = %d-%b-%Y %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/ephem_day  = %X/ephem_day  = %H:%M/g' "/home/weewx/weewx.conf"
sudo sed -i 's/ephem_year = %x %X/ephem_year = %d-%b-%Y %H:%M/g' "/home/weewx/weewx.conf"
« Última modificación: 05 de Abril del 2021, 18:04:05 pm por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #18 en: 05 de Abril del 2021, 18:03:04 pm »
Cambiamos ubicación de las páginas y gráficos generados

Como hemos dicho, estamos usando el método de instalación por defecto de Weewx. Es decir, setup.py

Por alguna extraña razón, los desarrolladores han creído conveniente el poner los gráficos y páginas generados en /home/weewx/public_html. Bueno, no es extraña la razón. Siguiendo el razonamiento de tener TODO Weewx colgando de /home/weewx es más que razonable.

Como queremos ver el resultado de nuestro trabajo en un navegador, tenemos dos opciones.

- Configurar Apache2 para que lea las páginas y gráficos de /home/weewx/public_html
- Configurar Weewx para que las páginas y gráficos sean enviados a /var/www/html/weewx que es el directorio habitual en la instalación por paquete Debian.

Como estamos en un sistema de andar por casa, pues no vamos a hacer ni uno ni otro. Vamos a utilizar el truco del almendruco de los enlaces simbólicos.

Sí, sí, ya sé. Los puristas dicen que eso puede ser un agujero de seguridad. Pero, esto es de andar por casa. El que quiera utilizar la raspi como servidor web, tendrá que reforzar la seguridad.

Lo primero es tener Weewx funcionando, por lo que lo arrancamos si no estuviera funcionando:

Código: [Seleccionar]
sudo /etc/init.d/weewx start
o más moderno

Código: [Seleccionar]
sudo service weewx start
o también

Será por modos de controlar un proceso *+* *+* *+* *+* *+*

Y a continuación

Código: [Seleccionar]
sudo ln -s /home/weewx/public_html /var/www/html/weewx
Con esto habremos generado un enlace simbólico para que, cuando accedamos a /var/www/html/weewx lo estaremos haciendo, en realida a /home/weewx/public_html que es donde estarán los ficheros.

Ahora, desde un navegador podremos acceder a nuestras primeras páginas generadas

Código: [Seleccionar]
sudo systemctl start weewx


Recordad que seguimos con el simulador de Weewx, y que el resultado de todo esto, es idéntico a mi sistema, porque voy haciéndolo sobre la marcha.

Os pido disculpas por la entrega "por fascículos", pero creo que es muy ilustrativa
« Última modificación: 05 de Abril del 2021, 18:14:03 pm por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #19 en: 05 de Abril del 2021, 18:21:24 pm »
Borramos base de datos antes de configurar la o las estaciones meteorológicas

Bien, ya hemos terminado la primera parte. Weewx funciona y genera las páginas y gráficos correctamente.

Nos falta todavía un poco.

- Borrar la base de datos generada por el simulador
- Configurar la estación meteorológica o las estaciones.
- Configurar el skin. Por defecto es Seasons, pero me gusta especialmente Belchertown y nos vamos a atrever con ello.
- Subir datos a Meteoclimatic directamente con nuestra estación.

El primer paso es parar Weewx

Código: [Seleccionar]
sudo service weewx stop
Una vez parado Weewx, borramos la base de datos ficticia que había creado el simulador.

Código: [Seleccionar]
sudo rm -f /home/weewx/archive/weewx.sdb
Y a continuación nos ponemos a configurar nuestra estación FineOffset.

Yo dispongo de dos pasarelas, una GW1000 y una WH2650, ambas funcionan de forma idéntica, así  que utilizaré una de ellas para explicarlo. Usaré en concreto la GW1000.

Estas pasarelas leen varios sensores. Por un lado el bloque de sensores de la WH65, así como varios termohigrómetros y un sensor de partículas PM2.5

Recordad, si tienes una estación Fine Offset, con consola, y quiere manejar tus datos con otro software, puedes comprar un GW1000

« Última modificación: 05 de Abril del 2021, 19:18:16 pm por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #20 en: 05 de Abril del 2021, 18:54:33 pm »
Configuramos una estación Fine Offset con la pasarela GW1000

Recordad que el procedimiento es el mismo para una pasarela WH2650

Accedemos a https://github.com/gjr80/weewx-gw1000 para ver cual es la última versión del driver.

En el momento de escribir esto, es la 0.3.1

Descargamos el driver:

Código: [Seleccionar]
sudo wget -P /var/tmp https://github.com/gjr80/weewx-gw1000/releases/download/v0.3.1/gw1000-0.3.1.tar.gz
Presta especial atención a la versión del driver para su descarga.

Ejecutamos wee_extension para instalar el driver

Código: [Seleccionar]
sudo /home/weewx/bin/wee_extension --install=/var/tmp/gw1000-0.3.1.tar.gz
Modificamos el fichero de configuración para que la generación de archivos se haga por software y no por hardware

Código: [Seleccionar]
sudo sed -i 's/record_generation = hardware/record_generation = software/g' "/home/weewx/weewx.conf"
Y, a continuación, probamos que el driver se comunica con la GW1000:

Código: [Seleccionar]
PYTHONPATH=/home/weewx/bin python3 -m user.gw1000 --test-driver
Si todo funciona bien (a mi, a la primera), tendremos un resultado como este:

Citar
pi@raspberrypi:/home/weewx $ PYTHONPATH=/home/weewx/bin python3 -m user.gw1000 --test-driver
Using configuration file /home/weewx/weewx.conf

Interrogating GW1000 at 192.168.0.104:45000

2021-04-05 17:05:27 UTC (1617642327): UV: 1, dateTime: 1617642327, dayRain: 0.0, daymaxwind: 5.1, extraHumid1: 49, extraTemp1: 18.6, inHumidity: 51, inTemp: 21.8, luminosity: 18026.0, monthRain: 28.2, outHumidity: 29, outTemp: 22.0, pm2_5: 12.0, pm2_51_24h_avg: 34.9, pressure: 940.5, rain: None, rainRate: 0.0, relbarometer: 1014.5, stormRain: 0.0, usUnits: 17, uvradiation: 28.0, weekRain: 0.0, wh25_batt: 0, wh25_sig: 4, wh31_ch1_batt: 0, wh31_ch1_sig: 4, wh41_ch1_batt: 5, wh41_ch1_sig: 4, wh65_batt: 0, wh65_sig: 4, windDir: 162, windGust: 2.6, windSpeed: 2.0, yearRain: 87.9
2021-04-05 17:05:47 UTC (1617642347): UV: 1, dateTime: 1617642347, dayRain: 0.0, daymaxwind: 5.1, extraHumid1: 49, extraTemp1: 18.6, inHumidity: 51, inTemp: 21.8, luminosity: 18243.0, monthRain: 28.2, outHumidity: 28, outTemp: 21.8, pm2_5: 12.0, pm2_51_24h_avg: 34.9, pressure: 940.8, rain: 0.0, rainRate: 0.0, relbarometer: 1014.8, stormRain: 0.0, usUnits: 17, uvradiation: 28.9, weekRain: 0.0, wh25_batt: 0, wh25_sig: 4, wh31_ch1_batt: 0, wh31_ch1_sig: 4, wh41_ch1_batt: 5, wh41_ch1_sig: 4, wh65_batt: 0, wh65_sig: 4, windDir: 192, windGust: 1.5, windSpeed: 1.2, yearRain: 87.9

Y ejecutamos wee_config para configurar el driver:

Código: [Seleccionar]
sudo /home/weewx/bin/wee_config --reconfigure --driver=user.gw1000
Nos volverá a preguntar por la ubicación, el nombre de la estación, etc, etc......Tan solo tenéis que dar a la opción  que os sale por defecto y nos respetará todos los cambios que habíamos hecho hasta ahora.

Tan solo tendremos que contestar a las preguntas sobre la dirección IP de la GW1000.

Si solo tenéis un GW1000 o un WH2650, podéis decir "auto" en lugar de la IP. Si tenéis dos dispositivos, conviene que le indiquéis la dirección IP de la pasarela que queráis usar.

Cuando os pregunte por el puerto de red, dejad el que viene por defecto, que es el 45000

A continuación os pregunta por la frecuencia con la que debe interrogar al GW1000 para que le mande los datos. Salvo que tengáis un anemómetro ultrasónico WS80, podéis dejar 20 segundos, ya que el bloque de sensores envía datos de viento cada 16 segundos, con lo que la posibilidad de perder rachas de viento se minimiza. Con el WS80 podéis poner menos tiempo, 5 segundos por ejemplo.

Y a la siguiente pregunta, responded también con la opción por defecto (es sobre los intentos que hará Weewx para acceder a la GW1000 en el arranque.). Por defecto es "1"

Ya tenemos Weewx funcionando con nuestra GW1000 o GW2650

En este momento, ya tenemos Weewx completamente operativo

Pero nos sigue quedando trabajo. Lo siguiente será enviar datos a Meteoclimatic.
« Última modificación: 05 de Abril del 2021, 19:28:14 pm por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #21 en: 08 de Abril del 2021, 19:03:07 pm »
Aunque no he podido continuar, todo está funcionando tal como se quedó el otro día.



A ver si mañana puedo seguir y empiezo a configurar Belchertown.....aunque voy pillado de tiempo.

Después configuraré la Davis para que estén en el mismo ordenador y configuraremos Belchertown para que nos saque gráficos de Davis Vue + Fine Offset en Y

Alguno se sorprenderá con el resultado que da esta mierdecilla de estación que me ha costado 90 euros.

Davis ya puede ponerse las pilas, el chino rompe en relación calidad/precio
« Última modificación: 08 de Abril del 2021, 19:08:06 pm por jantoni »
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #22 en: 09 de Abril del 2021, 17:54:31 pm »
Instalamos el skin Belchertown

Vamos a instalar Belchertown.

Lo primero que tenemos que hacer es visitar su sitio web y comprobar la última versión para proceder a instalarla.

https://github.com/poblabs/weewx-belchertown

Y comprobamos que la última versión, en el momento de escribir esto, es la 1.2

Así que escribimos el comando para bajarla

Código: [Seleccionar]
cd && sudo wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.2/weewx-belchertown-release-1.2.tar.gz
Y ejecutamos el instalador:

Código: [Seleccionar]
sudo /home/weewx/bin/wee_extension --install weewx-belchertown-release-1.2.tar.gz
Ya está.....ya tenemos Belchertown funcionando.

Si has seguido estas instrucciones, tendrás

en http://xx.xx.xx.xx/weewx el skin Seasons que es el skin por defecto de Weewx
en http://xx.xx.xx.xx/weewx/belchertown el skin Belchertown.

Podemos tener los dos funcionando de modo simultáneo. Pero es una derroche de recursos.

Vamos a usar el editor.

Código: [Seleccionar]
sudo nano /home/weewx/weewx.conf

Nos vamos a la sección [StdReport]

Buscamos la sección del skin Seasons

Citar
   [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true

Y cambiamos enable = true por enable = false para deshabilitar el skin season.

Citar
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = false

Bien, ahora nos vamos a modificar la sección de Belchertown

Citar
    [[Belchertown]]
        skin = Belchertown
        HTML_ROOT = public_html/belchertown

Aunque no es necesario, para mayor claridad le pondremos enable = true aunque es la opción por defecto salvo que se ponga false.

Además, modificamos el directorio, para que Belchertown esté en /home/weewx/public_html/weewx en lugar de /home/weewx/public_html/weewx/belchertown. De ese modo podremos acceder a el con http://xx.xx.xx.xx/weewx de una forma más rápida.

Para modificar el directorio solo ponemos una "#" delante de HTML_ROOT

Citar
    [[Belchertown]]
        skin = Belchertown
        # HTML_ROOT = public_html/belchertown
        enable = true

Paramos Weewx

Código: [Seleccionar]
sudo service weewx stop
Borramos todos los ficheros que había en /home/weewx/public_html

Código: [Seleccionar]
sudo rm -r /home/weewx/public_html/*
Y reiniciamos Weewx

Código: [Seleccionar]
sudo service weewx start
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.038
    • Ver Perfil
    • Rivas-Vaciamadrid Centro
  • Estación: ESMAD2800000028522A
Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
« Respuesta #23 en: 09 de Abril del 2021, 17:58:57 pm »
Bien, ya tenemos Belchertown funcionando.

En la siguiente generación ya tendremos nuestra primera visualización, aunque ahora falta personalizar a Belchertown. Pero eso es lo más fácil.

Si accedemos ahora a http://xx.xx.xx.xx/weewx veremos algo como esto



El siguiente paso será personalizarlo
Las opiniones que pueda escribir no suponen asesoramiento profesional. Cada usuario tomará sus decisiones bajo su propio riesgo.