Meteoclimatic

Software => WeeWX => Mensaje iniciado por: jantoni en 03 de Abril del 2021, 10:39:59 am

Título: Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 10:39:59 am
ATENCION: Este sistema de instalación ha quedado obsoleto con el lanzamiento de Weewx 5.0

Buenos días....

Ayer vencí a la pereza y me pongo con un proyecto que tengo en mente desde hace tiempo.

Se trata de configurar una Raspi, desde cero, con un pincho WIFI USB para que sea totalmente autónoma, Weewx y dos estaciones:


Me diréis que esto ya lo hemos tratado anteriormente. Sí, pero hay ciertas connotaciones interesantes:

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 10:42:16 am
Este procedimiento debería poder utilizarse en cualquier Raspi.

Por ejemplo en una Raspi que disponga de wifi integrado, nos saltaremos los pasos para instalar los driver, y solo tendremos que hacer la configuración del wifi.

Si utilizas otro pincho Wifi USB es posible que funcione sin necesidad de drivers. Este pincho WN725N es magnífico, pero es puñetero de narices con los drivers. Otros pinchos solo tendrás que escribir la configuración del router.

Una cuestión......esto lo voy a escribir ONLINE.....es decir, según vaya haciendo en mi raspi, iré escribiendo, por lo que iréis viendo el proceso según lo voy haciendo, y hasta que no diga FIN, no estará terminado.

Ah, el procedimiento funcionará igualmente si solo tenéis una estación. Y si tenéis 3 estaciones, pues lo tendréis fácil para modificarlo......o más estaciones.

Cuando terminemos toda la explicación, pruebas y configuración, crearé un script automático, similar a meteowee para que todo sea más sencillo. Pero estaría bien que te leyeras todo el hilo, porque aprenderás mucho más de lo que crees
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 11:06:27 am
Empezamos.

Bajamos y grabamos la imagen de Raspberry Pi OS Lite

Aunque podemos usar cualquier imagen, siempre he preferido usar las imágenes sin escritorio ya que todas mis Raspberrys son de gama baja. Si dispones de una Raspberry Pi 3 o 4, puedes usar la imagen con escritorio. No creo que cambie mucho.

Accedemos al repositorio de Raspberry Pi

https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit y descargamos la imagen de Raspberry Pi OS Lite.

A continuación, descomprimimos el fichero y extraemos la imagen (extensión .img).

Grabamos la imagen en una tarjeta SD con nuestro programa favorito para ello. Yo lo hago con Win32diskimager o BalenaEtcher.

Una vez grabada la imagen, la retiramos del PC e insertamos la tarjeta SD en la Raspberry PI (que estará conectado a un monitor o TV y un teclado)

Arrancamos el sistema y esperamos a que nos salga la petición de identificación.

Nos identificamos con el usuario y contraseña por defecto (user=pi password=raspberry)

Bien, ya estamos dentro.

Primera configuración de Raspi y Wifi

Ahora, vamos a preparar a la raspberry para que la próxima vez que arranquemos, nos permita conectarnos por SSH, puesto que la idea es que sea totalmente autónoma (sin monitor, sin teclado ni ratón ni cable de red)

Simplemente tecleamos esto:

Código: [Seleccionar]
sudo touch /boot/ssh
Ahora empezamos con la configuración del Wifi de la Raspi para que, la próxima vez que arranquemos, se conecte al Wifi de nuestro router.

Escribimos

Código: [Seleccionar]
sudo nano /boot/wpa_supplicant.conf
en el editor escribimos lo necesario para editar la configuración del wifi

Citar
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
        ssid="ssiddelwifi"
        psk="password de nuestro wifi"
        key_mgmt=WPA-PSK
}

Pulsamos CTRL-X para grabar los cambios (respondemos S o Y en función del idioma establecido en la raspi)

Comprobamos los cambios con

Código: [Seleccionar]
sudo cat /boot/wpa_supplicant.conf
Si no es correcto, volvemos a editar el fichero......si todo está bien, continuamos con la configuración del driver.

El driver para este dispositivo Wifi, aparentemente funciona. Puedes ver las redes disponibles, puedes ver que el sistema operativo ha detectado el pincho USB, pero no se va a conectar correctamente (hablamos siempre del WN725N)

Para instalar el driver correcto tecleamos en la Raspi:

Código: [Seleccionar]
uname -a
Nos responderá algo como esto:

Citar
pi@raspberrypi:/etc/wpa_supplicant $ uname -a
Linux raspberrypi 5.10.17+ #1403 Mon Feb 22 11:26:13 GMT 2021 armv6l GNU/Linux
pi@raspberrypi:/etc/wpa_supplicant $

Nos fijamos en la versión.....en nuestro caso 5.10.17+ #1403. Asi que debemos buscar el driver para el kernel 5.10.17 compilación 1403.

En el navegador web del PC, nos vamos a http://downloads.fars-robotics.net/wifi-drivers/8188eu-drivers/ y buscamos el driver para nuestro dispositivo. Recordad que si actualizáis el kernel tendréis que volver a instalar los driver.

Bajamos el driver y extraemos los 3 archivos (8188eu.ko, 8188eu.conf y install.sh) del driver en cualquier carpeta

A continuación vamos a la Raspi y la apagamos:

Código: [Seleccionar]
sudo poweroff
Extraemos la tarjeta SD de la Raspi y la insertamos en nuestro PC

Abrimos la carpeta ROOT

Copiamos los 3 ficheros del driver, que habíamos extraído anteriormente, en la carpeta ROOT.

Extraemos la tarjeta SD (con la opción de expulsión del Windows) del PC y la insertamos en la Raspi.

Arrancamos la raspi.

En el momento de arrancar, los ficheros /boot/ssh y /boot/wpa_supplicant.conf serán procesados y desaparecerán de /boot. El fichero wpa_supplicant.conf además de ser procesado, será copiado a /etc/wpa_supplicant/wpa_supplicant.conf

Una vez arrancado el sistema, nos identificamos con usuario y contraseña.

Instalamos el driver:

Código: [Seleccionar]
cd /boot
sudo ./install.sh

Esperamos que termine.

Reiniciamos

Código: [Seleccionar]
sudo reboot
Si todo ha ido bien, tenemos la raspi conectada a nuestro router wifi.

Nos volvemos a identificar y miramos la dirección IP asignada

Código: [Seleccionar]
ifconfig
Citar
pi@raspberrypi:/etc/wpa_supplicant $ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b8:27:eb:5e:29:6e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6  bytes 570 (570.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 570 (570.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.120  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::6abd:ea0f:f3e4:20f0  prefixlen 64  scopeid 0x20<link>
        ether e8:de:27:20:f1:63  txqueuelen 1000  (Ethernet)
        RX packets 33574  bytes 18287494 (17.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1927  bytes 231114 (225.6 KiB)
        TX errors 0  dropped 3 overruns 0  carrier 0  collisions 0

Veremos la dirección ip asignada, generalmente en el interface wlan0. El disponer de dirección IP significa que todo ha ido correctamente.

Es posible que veas una dirección IP extraña, que empieza por 169. Deja un poco de tiempo hasta que nuestra raspi deje de "negociar" con nuestro router. Si pasados un par de minutos no aparece una dirección IP que reconozcamos, tendremos que revisar el procedimiento.

Ya tenemos nuestra Raspi lista para trabajar con Wifi. Ya podemos desconectar el teclado y el monitor y conectarnos por SSH.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 11:20:35 am
Como es habitual en las instalaciones de Raspberry Pi, ahora nos toca hacer un par de cosas.

Iniciamos raspi-config

Código: [Seleccionar]
sudo raspi-config
Nos vamos a Performance Options - GPU Memory y le indicamos una cantidad de memoria para el video de 16. Recordad que vamos a trabajar sin monitor. Pero aunque tengas monitor, con 16 irá bien, siempre que no uses la versión Desktop del S.O.

Después nos vamos a Localisation Options y elegimos Timezone. Elegimos después "None of the above" y luego UTC, pinchamos en OK. Todos mis sistemas funcionan en UTC. Eso no es problema, posteriormente para ver la fecha y hora en el formato que queramos. Pero manejar los servidores (y la raspi no deja de ser un servidor) en formato de hora local no es una buena idea y nos traerá algún problema.

Como vamos a conectarnos a la raspi por SSH no nos hace falta modificar el teclado. Si lo queréis cambiar, a vuestro criterio. El idioma no os recomiendo cambiarlo, al menos de momento.

Siguiente paso es ir a Advanced Options y usar la opción de "Expand filesystem". Con esto el sistema operativo utilizará todo el espacio disponible en nuestra tarjeta SD.

Nos contestará con un mensaje que dice "Root partition has been resized. The filesystem will be enlarged upon the next reboot", pinchamos en OK, volviendo al menú principal.

Y finalizamos pulsando en "Finish", nos preguntará "Would you like to reboot now?", pulsamos en Yes y el sistema se reinicia.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 11:21:01 am
¿Que información voy a necesitar?

Bueno, estamos en Meteoclimatic. Aunque me consta que por ahí, en toda la geografía nacional, se redirige a los usuarios a Meteoclimatic para configurar sus estaciones (¿por qué será?), vamos a dar las instrucciones para configurar todo este invento para que envíe datos a Meteoclimatic.

Por tanto, voy a necesitar esta información para dejarlo todo niquelado:

Ubicación
Latitud de la estación en grados decimales. En mi caso 40.356510
Longitud de la estación en grados decimales (Oeste negativo, Este positivo). En mi caso -3.520050

Códigos de Meteoclimatic
Código de estación en Meteoclimatic: En mi caso ESMAD2800000028522A
El password de nuestra estación en Meteoclimatic. Un churro muy largo que no se puede compartir con nadie, aunque últimamente hay usuarios que lo van dando alegremente, tanto por el foro, como a otras páginas web para que generen la plantilla de Meteoclimatic.

Igualmente nos hará falta tener a mano, los usuarios y contraseñas de aquellos servicios meteorológicos a los que vayáis a subir datos desde Weewx, además de Meteoclimatic. Aquí veremos como hacerlo con Awekas, CWOP, WU, PWSweather, WOW MetOffice y alguna más que ahora no me acuerdo.

Además, configuraremos a Weewx para que envíe nuestros bonitas páginas resultantes a un servidor web.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 19:07:52 pm
Vamos a instalar lo que necesitamos para después.

Según la página web de Weewx, previo a la instalación de Weewx, necesitamos todo esto:

Citar
sudo apt update

# Required
sudo apt install python3-configobj
sudo apt install python3-pil
sudo apt install python3-serial
sudo apt install python3-usb
sudo apt install python3-pip

# This works for most installations...
sudo apt install python3-cheetah
# ... if not, try this:
sudo pip3 install Cheetah3

# Optional: for extended almanac information
sudo apt install python3-ephem

# Required if you are using MySQL (MariaDB):
sudo apt install mariadb-client
sudo apt install python3-mysqldb

Así que nos ponemos a ello. Recordad que estamos instalando una Raspberry Pi con el sistema operativo recién salido del horno. En concreto la versión del 4-3-2021 por lo que estará totalmente o casi totalmente actualizada.

Comenzamos el proceso.

Primero actualizamos la lista de paquetes de nuestra querida Raspberry.

Código: [Seleccionar]
sudo apt update

Una vez actualizada la lista de paquetes, vemos que tenemos 24 paquetes para actualizar. Pues lo hacemos. Esto tardará un poco, las viejas Raspberrys son lentas y con poca memoria.

Código: [Seleccionar]
sudo apt --yes upgrade
Y continuamos con el procedimiento publicado en las instrucciones de Weewx.

Código: [Seleccionar]
sudo apt install --yes python3-configobj python3-pil python3-serial python3-usb python3-pip python3-cheetah python3-ephem
Tras un ratito, tendremos todo lo necesario instalado en nuestro dispositivo.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 19:48:05 pm
Si no vas a instalar Apache2, sáltate este post y pasa al siguiente.

A continuación vamos a instalar Apache2. Si quieres instalar otro software como lighthttpd o nginx, tendrás que buscar por ahí las instrucciones.

Instalamos Apache2 y PHP 7.3. Ya hay versiones más recientes de PHP, pero la 7.3 es la versión distribuida con Debian Buster. La versión de Raspberry Pi está basada casi al completo en Debian Buster (Debian 10)

Código: [Seleccionar]
sudo apt install --yes apache2 php7.3
La instalación de Apache2 y PHP tarda bastante tiempo.....sé paciente si no tienes una Raspi3 o 4

Más adelante, veremos como crear un disco RAM para el log de Apache....totalmente necesario si usas Apache2. Pero ya llegaremos.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 03 de Abril del 2021, 20:03:51 pm
A continuación vamos a instalar más software que nos va a hacer falta.

Citar
sudo apt --yes install xrdp ntp libimagequant0 libjbig0 liblcms2-2 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 python3-dev python3-olefile python3-six sqlite ftp rsync
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 04 de Abril del 2021, 11:13:34 am
Empezamos a hacer cambios en nuestro sistema

Cambiamos la zona horaria

Sí, sí. Ya sé que antes, mediante raspi-config cambiamos la zona horaria......pero soy obsesivo. Así que volvemos a la carga.

Si quieres poner hora UTC en tu Raspi, ejecuta esto:

Citar
sudo ln -fs /usr/share/zoneinfo/UTC /etc/localtime && sudo dpkg-reconfigure -f noninteractive tzdata

Si quieres poner hora de España peninsular, ejecuta esto:

Citar
sudo ln -fs /usr/share/zoneinfo/Europe/Madrid /etc/localtime && sudo dpkg-reconfigure -f noninteractive tzdata

Si quieres poner hora de Canarias, ejecuta lo siguiente:

Citar
sudo ln -fs /usr/share/zoneinfo/Europe/Lisbon /etc/localtime && sudo dpkg-reconfigure -f noninteractive tzdata

Insisto.

No es buena idea tener un servidor en hora local. Es preferible ponerlo en UTC. Ya nos apañaremos luego para mostrar la hora local.

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 04 de Abril del 2021, 11:18:32 am
Vamos a hacer unos cambios para mejorar la vida de nuestra tarjeta SD.

Creamos un disco virtual en RAM, de 20 Megas, para hacer el log de la Raspi

Citar
echo "tmpfs   /var/log    tmpfs    defaults,noatime,nosuid,mode=0755,size=20m    0 0" | sudo tee -a /etc/fstab

Si elegimos, anteriormente, instalar Apache2, entonces creamos un directorio para su log en RAM.

Citar
echo "tmpfs   /var/log/apache2    tmpfs    defaults,noatime,nosuid,mode=0755,size=20m    0 0" | sudo tee -a /etc/fstab

Opcionalmente modificamos el sistema de ficheros, para que no se guarde la fecha y hora en la que accedemos a un directorio. Esto lo hacemos para minimizar el número de escrituras en SD.

Citar
sudo sed -i 's/noatime/noatime,nodiratime/g' "/etc/fstab"

Deshabilitamos el Swaping (disco de intercambio) para, igualmente, minimizar el número de escrituras en disco. Si vas a usar la Raspberry para otras cosas que no sean manejar la estación meteorológica, no lo elimines, pues te podrías quedar sin RAM en un momento dado.

Citar
sudo swapoff --all

Y eliminamos el sistema de swaping. Aprovechamos para eliminar el falso reloj de la Raspberry.

Citar
sudo apt-get purge --yes fake-hwclock dphys-swapfile >> /dev/null
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 04 de Abril del 2021, 19:42:16 pm
Generamos el locale en español (Castellano) en nuestra Raspberry Pi

Citar
sudo sed -i 's/# es_ES.UTF-8/es_ES.UTF-8/g' /etc/locale.gen

Ahora ejecutamos:

Citar
sudo /usr/sbin/locale-gen

Y, por último:

Citar
echo -e "LANG=\"es_ES.UTF-8\"\nLANGUAGE=\"es_ES.UTF-8\"\nLC_ALL=\"es_ES.UTF-8\"" | sudo tee -a /etc/environment > /dev/null

Si quieres generar en otros idiomas:

Catalán: Sustituye es_ES en todos los comandos de más arriba por ca_ES
Gallego: Sustituye es_ES en todos los comandos de más arriba por gl_ES

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 04 de Abril del 2021, 19:52:04 pm
Descargamos Weewx

Como ya os he dicho, en esta ocasión vamos a usar el método de instalación setup.py que es el estándar de Weewx, aunque la inmensa mayoría hemos usado, hasta ahora, el método de instalación con paquetes Debian.

Accedemos a https://weewx.com/donwloads y vemos cual es la versión actual para descargar.

En el momento de escribir estas instrucciones es la 4.5.1 (lanzada hace un par de días), así que nos disponemos a bajarnos el archivo mediante wget

Primero nos situamos en nuestro directorio "personal"

Citar
cd

Y nos bajamos el fichero, modifica la versión según sea la última publicada. Si quieres instalar una versión antigua, tendrás que buscarla en https://weewx.com/downloads/released_versions/

Citar
wget https://weewx.com/downloads/weewx-4.5.1.tar.gz

Aprovechamos y descargamos la rutina de envío a Meteoclimatic con Python de Jmviper

Citar
wget https://raw.githubusercontent.com/jantoni/meteowee/master/star_meteoclimatic/meteoclimatic.py

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 04 de Abril del 2021, 20:04:26 pm
Instalación de Weewx

Y llega la hora de ejecutar la instalación de Weewx

Nos aseguramos de estar en nuestro directorio, que es donde bajamos los ficheros anteriormente

Citar
cd

Ejecutamos la extracción de los ficheros contenidos en la carpeta comprimida

Citar
tar xvfz weewx-4.5.1.tar.gz

Una vez descomprimidos los ficheros, nos movemos al directorio donde se han extraido los ficheros:

Citar
cd weewx-4.5.1

Y ejecutamos la instalación.....cruzamos los dedos:

Citar
python3 ./setup.py build

Citar
sudo python3 ./setup.py install

Al cabo de unos segundos, la rutina de instalación nos pregunta por datos de la estación:

Citar
Enter a brief description of the station, such as its location.  For example:
Santa's Workshop, North Pole
description [My Little Town, Oregon]:

Respondemos con nuestra descripción de la estación. En mi caso, le responderé "Rivas-Vaciamadrid Centro"

A continuación nos pregunta por la altitud a la que se encuentra la estación. Hay que indicar el número y la unidad. En mi caso, le responderé "625, meter"

A continuación nos pide la latitud en grados decimales (norte positivo). Yo le indicaré "40.356510"
Y la longitud (Oeste negativo). Yo le indico " -3.520050"

A continuación nos pregunta si queremos registrar nuestra estación en weewx.com. Esto tiene como utilidad el aparecer en el mapa de estaciones con Weeewx de todo el mundo que está en http://weewx.com/stations.html Yo le indico que "y" para decir que sí.

Y una URL donde buscará los datos para sacar en el mapa.....esto luego lo podreís cambiar en la sección [Station] del fichero de configuración, tranquilos.

A continuación os pregunta por las unidades en las que queréis mostrar los datos. Opción us o metric. Indicamos "metric"

Y, por último nos pregunta por el tipo de estación. Bien. Aquí podéis indicar vuestra estación directamente o, como yo, indicar "Simulator" para posteriormente cambiar todo a nuestro gusto. Yo indico Simulator, que es la opción por defecto, es decir, pulsando el "3"

Y hemos terminado, por ahora.


Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 05 de Abril del 2021, 10:42:54 am
Puesta en marcha de Weewx

Bien, ya tenemos instalado Weewx, aunque no configurado.

Ahora volvemos al manual de instalación oficial y procedemos a ejecutarlo por primera vez y a configurar el arranque automático.

Primero comprobamos que la instalación ha sido correcta y que Weewx funciona. Lo vamos a iniciar de forma manual. Como hemos configurado el driver interceptor, los datos serán ficticios (si configuraste un driver real y ves datos, entonces funciona correctamente)

Código: [Seleccionar]
sudo /home/weewx/bin/weewxd
Veremos algo así:

Citar
pi@raspberrypi:~ $ sudo /home/weewx/bin/weewxd
LOOP:   2021-04-05 08:35:31 UTC (1617611731) altimeter: 33.45987854396733, appTemp: 28.46010918752483, barometer: 31.099999998967093, cloudbase: 3294.8532073708884, consBatteryVoltage: 13.10144387794729, dateTime: 1617611731, dewpoint: 27.203560993945757, heatindex: 32.67858297022247, heatingVoltage: 12.0, humidex: 32.67858297022247, inDewpoint: 31.079533828013187, inHumidity: 29.999999958683617, inTemp: 63.00000002065819, inTempBatteryStatus: 0, maxSolarRad: 454.0272154296771, outHumidity: 79.99999996901272, outTemp: 32.67858297022247, outTempBatteryStatus: 0, pressure: 31.099999998967093, radiation: 393.9111639217769, rain: 0, rainBatteryStatus: 0, rainRate: 0.0, referenceVoltage: 12.0, rxCheckPercent: 43.72395975692641, supplyVoltage: 12.0, txBatteryStatus: 0, usUnits: 1, UV: 5.514756294904877, windBatteryStatus: 0, windchill: 32.67858297022247, windDir: 359.9999998140763, windGust: 6.197456769996279e-09, windGustDir: 359.9999998140763, windSpeed: 5.164547900449179e-09
LOOP:   2021-04-05 08:35:34 UTC (1617611734) altimeter: 33.459878535199515, appTemp: 28.45807365032865, barometer: 31.099999990703814, cloudbase: 3294.842737254356, consBatteryVoltage: 10.803391738510452, dateTime: 1617611734, dewpoint: 27.20178958368346, heatindex: 32.67676549144743, heatingVoltage: 11.947692905885257, humidex: 32.67676549144743, inDewpoint: 31.07953369929752, inHumidity: 29.999999628152565, inTemp: 63.00000018592372, inTempBatteryStatus: 0, maxSolarRad: 454.2003857745868, outHumidity: 79.99999972111442, outTemp: 32.67676549144743, outTempBatteryStatus: 0, pressure: 31.099999990703814, radiation: 394.05330091118185, rain: 0, rainBatteryStatus: 0, rainRate: 0.0, referenceVoltage: 12.575158678066588, rxCheckPercent: 48.22530832250196, supplyVoltage: 11.251614145652537, txBatteryStatus: 0, usUnits: 1, UV: 5.516746212756546, windBatteryStatus: 0, windchill: 32.67676549144743, windDir: 359.9999983266865, windGust: 5.577711537085861e-08, windGustDir: 359.9999983266865, windSpeed: 4.648092932768577e-08
LOOP:   2021-04-05 08:35:36 UTC (1617611736) altimeter: 33.45987851766391, appTemp: 28.45603873598603, barometer: 31.099999974177262, cloudbase: 3294.8322875435697, consBatteryVoltage: 13.039198294052465, dateTime: 1617611736, dewpoint: 27.20001865622259, heatindex: 32.6749485852591, heatingVoltage: 12.932092027833903, humidex: 32.6749485852591, inDewpoint: 31.079533441866158, inHumidity: 29.99999896709047, inTemp: 63.00000051645476, inTempBatteryStatus: 0, maxSolarRad: 454.3158490755287, outHumidity: 79.99999922531785, outTemp: 32.6749485852591, outTempBatteryStatus: 0, pressure: 31.099999974177262, radiation: 394.2665232004942, rain: 0, rainBatteryStatus: 0, rainRate: 0.0, referenceVoltage: 11.665753934582595, rxCheckPercent: 48.22530832250196, supplyVoltage: 12.0, txBatteryStatus: 0, usUnits: 1, UV: 5.519731324806919, windBatteryStatus: 0, windchill: 32.6749485852591, windDir: 359.99999535190705, windGust: 1.5493643079622643e-07, windGustDir: 359.99999535190705, windSpeed: 1.2911369218215896e-07

Bien, de momento todo funciona. Pulsamos CTRL-C para terminar Weewx.

Configuramos el inicio automático de Weewx cuando la Raspi arranque:

Vamos al directorio /home/weewx
Código: [Seleccionar]
cd /home/weewx
Copiamos el fichero de inicio que incluye la distribución al directorio correspondiente de Debian bajo el nombre de weewx
Código: [Seleccionar]
sudo cp util/init.d/weewx.debian /etc/init.d/weewx
Le damos permiso de ejecución
Código: [Seleccionar]
sudo chmod +x /etc/init.d/weewx
Actualizamos el sistema rc.d y establecemos la prioridad para Weewx.
Código: [Seleccionar]
sudo update-rc.d weewx defaults 98
Arrancamos manualmente Weewx como servidor
Código: [Seleccionar]
sudo /etc/init.d/weewx start
Y, vamos a comprobar que todo está bien y Weewx está funcionando:

Citar
pi@raspberrypi:/home/weewx $ ps aux | grep weewx
root     18393  3.3  3.2  34432 15860 ?        Sl   08:43   0:01 /usr/bin/python3 /home/weewx/bin/weewxd --daemon --pidfile=/var/run/weewx.pid /home/weewx/weewx.conf
pi       18415  0.0  0.4   7340  2044 pts/0    S+   08:44   0:00 grep --color=auto weewx

Enhorabuena.....tienes un bonito Weewx que funciona.

Para continuar con nuestro viaje, paramos Weewx para seguir configurando:

Código: [Seleccionar]
sudo /etc/init.d/weewx stop
Si no recibes mensaje de error, el sistema habrá parado a Weewx. Puedes comprobarlo así:

Código: [Seleccionar]
ps aux | grep weewx
Y verás que no hay ningún proceso llamado Weewx en funcionamiento

Citar
pi@raspberrypi:/home/weewx $ ps aux | grep weewx
pi       18468  0.0  0.4   7340  1968 pts/0    S+   08:49   0:00 grep --color=auto weewx
pi@raspberrypi:/home/weewx $

Hay otros métodos de comprobar si está funcionando o no un proceso, pero ahora no vienen a cuento.

Pasamos a modificar más cosas.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 05 de Abril del 2021, 11:00:33 am
Queremos que Weewx tenga un log solo para él

Si tuviéramos Weewx funcionando en este momento, veríamos que el log se genera en el fichero /var/log/syslog.

Esto tiene un problema, se mezclan los mensajes de log de Weewx con otros mensajes del sistema operativo.

Aquí vamos a ver como establecer un log exclusivo para Weewx

Código: [Seleccionar]
echo ":programname,startswith,\"weewx\"" /var/log/weewx.log | sudo tee -a /etc/rsyslog.d/99-weewx.conf > /dev/null

echo ":programname,startswith,\"weewx\"" \~\ | sudo tee -a /etc/rsyslog.d/99-weewx.conf > /dev/null

Ahora modificamos la rotación de los log para que no se haga un log inmenso, aunque estaría limitado a 20 Megas por lo que hicimos anteriormente.

Código: [Seleccionar]
echo -e "/var/log/weewx.log {\n  $WEELOGPER\n  missingok\n  rotate $WEELOGMAX\n  compress\n  delaycompress\n  notifempty\n  sharedscripts\n  postrotate\n  /etc/init.d/rsyslog stop\n  /etc/init.d/rsyslog start\n  endscript\n}" | sudo tee -a /etc/logrotate.d/weewx > /dev/null

Y reiniciamos el sistema de log

Código: [Seleccionar]
sudo service rsyslog restart
Ya tenemos el log de Weewx separado del sistema operativo.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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"
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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
(https://forum.meteoclimatic.net/index.php?action=dlattach;topic=3486.0;attach=5493;image)

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
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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.

(https://forum.meteoclimatic.net/index.php?action=dlattach;topic=3486.0;attach=5510;image)

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
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni 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

(https://forum.meteoclimatic.net/index.php?action=dlattach;topic=3486.0;attach=5518;image)

El siguiente paso será personalizarlo
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 12 de Abril del 2021, 10:50:02 am
Vamos a mandar datos a Meteoclimatic.

Entramos en la ficha de nuestra estación en Meteoclimatic.

Veremos un botón para descargarnos la plantilla.

(https://forum.meteoclimatic.net/index.php?action=dlattach;topic=3486.0;attach=5593;image)

Pinchamos en "Descargar Plantilla"

Nos bajará un fichero llamado meteoclimatic.html.tmpl donde podremos ver la plantilla para Weewx, junto con el código de estación y la password o SIG.

Vamos a editar, ya que usamos el skin Belchertown, una plantilla en su directorio.

Código: [Seleccionar]
sudo nano /home/weewx/skins/Belchertown/meteoclimatic.html.tmpl
Y copiamos esto.

Citar
*VER=DATA2
*COD=
*SIG=
*UPD=$current.dateTime.format("%d-%m-%Y %H:%M")
*TMP=$current.outTemp.formatted
*WND=$current.windSpeed.formatted
*AZI=$current.windDir.formatted
*BAR=$current.barometer.formatted
*HUM=$current.outHumidity.formatted
*SUN=$current.radiation.formatted
*UVI=$current.UV.formatted
*DHTM=$day.outTemp.max.formatted
*DLTM=$day.outTemp.min.formatted
*DHHM=$day.outHumidity.max.formatted
*DLHM=$day.outHumidity.min.formatted
*DHBR=$day.barometer.max.formatted
*DLBR=$day.barometer.min.formatted
*DGST=$day.windGust.max.formatted
*DSUN=$day.radiation.max.formatted
*DHUV=$day.UV.max.formatted
*DPCP=$day.rain.sum.formatted
*WRUN=
*MHTM=$month.outTemp.max.formatted
*MLTM=$month.outTemp.min.formatted
*MHHM=$month.outHumidity.max.formatted
*MLHM=$month.outHumidity.min.formatted
*MHBR=$month.barometer.max.formatted
*MLBR=$month.barometer.min.formatted
*MGST=$month.windGust.max.formatted
*MSUN=$month.radiation.max.formatted
*MHUV=$month.UV.max.formatted
*MPCP=$month.rain.sum.formatted
*YHTM=$year.outTemp.max.formatted
*YLTM=$year.outTemp.min.formatted
*YHHM=$year.outHumidity.max.formatted
*YLHM=$year.outHumidity.min.formatted
*YHBR=$year.barometer.max.formatted
*YLBR=$year.barometer.min.formatted
*YGST=$year.windGust.max.formatted
*YSUN=$year.radiation.max.formatted
*YHUV=$year.UV.max.formatted
*YPCP=$year.rain.sum.formatted
*EOT*

Donde dice "*COD=" tendremos que continuar con nuestro código de estación en Meteoclimatic.
Donde dice "*SIG=" tendremos que continuar con la firma o password que tiene nuestra estación en Meteoclimatic.

Una vez escritos estos dos datos, pulsamos CTRL-X y respondemos que S o Y para grabar el fichero

O podemos copiar el fichero descargado como meteoclimatic.html.tmpl a /home/weewx/skins/Belchertown/meteoclimatic.html.tmpl

Ya tenemos la plantilla modelo grabada. Ahora tenemos que decirle a Belchertown que, cada vez que genere gráficos (por lo general cada 5 minutos), nos genere una plantilla con este modelo.

Para ello insertamos unas líneas en el fichero de configuración del skin, en la subsección ToDate de la sección CheetahGenerator.

Lo editamos con nano

Código: [Seleccionar]
sudo nano /home/weewx/skins/Belchertown/skin.conf
E insertamos nuestras líneas:

Citar
    [[ToDate]]
        # Reports that show statistics "to date", such as day-to-date,
        # week-to-date, month-to-date, etc.
        [[[weewx_data]]]
            template = json/weewx_data.json.tmpl

debería quedar algo así:

Citar
    [[ToDate]]
        # Reports that show statistics "to date", such as day-to-date,
        # week-to-date, month-to-date, etc.

        [[[Meteoclimatic]]]
            template = meteoclimatic.html.tmpl

        [[[weewx_data]]]
            template = json/weewx_data.json.tmpl

Grabamos con CTRL-X

En la próxima generación se debe grabar un fichero con los datos de nuestra estación.

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 15 de Abril del 2021, 14:09:16 pm
Enviando nuestros datos a Meteoclimatic

Nos bajamos e instalamos los programas de envío en Python

Código: [Seleccionar]
cd
wget https://raw.githubusercontent.com/jantoni/meteowee/master/star_meteoclimatic/meteoclimatic.ini
wget https://raw.githubusercontent.com/jantoni/meteowee/master/star_meteoclimatic/meteoclimatic.py
sudo cp meteoclimatic.ini /home/weewx
sudo cp meteoclimatic.py /home/weewx
cd /home/weewx

Editamos meteoclimatic.ini

Código: [Seleccionar]
sudo nano meteoclimatic.ini
Cambiamos el directorio....si has seguido estas instrucciones es /home/weewx/public_html/meteclimatic.html

En Password pondremos la password o SIG que nos ha asignado Meteoclimatic.

Citar
Log=0
Path=/home/weewx/public_html/meteoclimatic.html
Password=

Grabamos con CTRL-X

Si quieres saber sobre la configuración del Log de esta utilidad, visita el foro en este hilo: https://forum.meteoclimatic.net/index.php/topic,2622.0.html

A continuación, le damos permiso de ejecución a meteoclimatic.py

Código: [Seleccionar]
sudo chmod +x /home/weewx/meteoclimatic.py
Y editamos crontab para que, cada 5 minutos, envíe la plantilla a Meteoclimatic.

Código: [Seleccionar]
sudo nano /etc/crontab
Citar
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly$
#
# Envía datos a Meteoclimatic cada 5 minutos, empezando en el minuto 1 de cada hora
1-59/5 *   * * *   root    /home/weewx/meteoclimatic.py

Grabamos con CTRL-X y esperamos unos minutos.

¡Voilà! Ya tenemos datos en Meteoclimatic.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 15 de Abril del 2021, 17:44:01 pm
Listo.....

Ya tenemos una Raspberry Pi funcionando con Weewx, con el proceso de instalación setup.py en lugar del hasta ahora habitual paquete Debian.

Además tenemos funcionando el Skin Belchertown 1.2

Y enviamos datos a Meteoclimatic sin problema (siempre que hayas seguido las instrucciones al pie de la letra)

Ahora tenemos más tareas:

1.- Crear un script que lo haga todo de forma automática. Un meteowee especial para setup.py.
2.- Traducir Belchertown. Tengo traducido al completo la versión 1.0 pero tengo que revisar si hay diferencias.
3.- Modificar todo el sistema para soportar varias estaciones meteorológicas, fusionando informes.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 05 de Junio del 2021, 13:12:57 pm
Buenos días....

Ayer vencí a la pereza y me pongo con un proyecto que tengo en mente desde hace tiempo.

Se trata de configurar una Raspi, desde cero, con un pincho WIFI USB para que sea totalmente autónoma, Weewx y dos estaciones:

  • Davis Vantage Vue
  • Fine Offset GW1000/WH2650

Me diréis que esto ya lo hemos tratado anteriormente. Sí, pero hay ciertas connotaciones interesantes:

  • Vamos a utilizar el pincho Wifi más vendido del mercado, el TP-LINK TL-WN725N, que funciona de maravilla, pero es puñetero de iniciar por un tema de drivers
  • Vamos a utilizar dos estaciones de forma simultánea con Weewx y vamos a generar informes y gráficos, tanto de cada una de las estaciones, como mezclando datos de una y otra.
  • Vamos a utilizar el procedimiento de instalación setup.py. Este procedimiento no es habitual en estas tierras, y tiene muchas ventajas sobre el procedimiento de instalación con paquete Debian. El inconveniente es que nuestro querido script meteowee no va a funcionar, y habrá que reescribirlo más adelante.
  • Instalaremos el skin Belchertown, pero básico. Es decir, sin informes de terremotos ni el estado actual del cielo ni previsiones, porque fallan más que aciertan. En su lugar instalaremos el meteograma de yr.no

Buenos días.

¿Puedes concretar un poco cuales son las ventajas de instalar por setup.py en lugar de apt Debian?, aparte de que todo este agrupado en /home/weewx. A ver si consigo vencer yo también la pereza y probar dicha instalación mediante setup.py.

Saludos.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 05 de Junio del 2021, 13:33:51 pm
Las ventajas más importantes son:

- Facilidad de actualización a nuevas versiones
- Mayor facilidad para utilizar varias instancias de weewx (varias estaciones).

Eso no quiere decir que no se pueda actualizar con los paquetes Debian y que no se puedan tener varias estaciones con Debian.

De hecho yo he usado varias instancias de Weewx, hace años, con Debian.

Insisto que es mayor facilidad para ambas cosas.

Y por otro lado, cualquier fichero se aloja en /home mientras que con Debian quedan dispersos, sobre todo los binarios y driver.

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Septiembre del 2021, 17:22:47 pm
Hola.

Instalado por este método en Orangepipc+ con Weewx 4.5.1 y Belchertwn 1.3b1 y funcionando correctamente en pruebas. Con alguna ayuda.

Si todo va bien la usare para una de las estaciones.

Saludos.

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 09 de Octubre del 2021, 19:11:18 pm
Otra duda.

Tengo las estaciones funcionando con la toma de la plantilla por el "robot meteoclimatic" sin problemas.

Si como se explica en el proyecto utilizo el método de envío mediante "meteoclimatic.py". ¿Tengo que modificar algo en "Mis estaciones", borrar la URL de la plantilla o no toco nada?
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jmviper en 09 de Octubre del 2021, 21:54:53 pm
Si la envías con meteoclimatic.py no haría falta hacer nada, envía la plantilla y todo es automático en meteoclimatic al igual que con Visual Star.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: garbatella en 22 de Octubre del 2021, 16:31:34 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.

Hola.

Me dispongo a instalar la skin de Belchertown, pero me está ocurriendo algo raro. Tras ejecutar esto para descargarlo:

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

Me dispongo a hacer esto:

Código: [Seleccionar]
sudo /home/weewx/bin/wee_config --reconfigure --driver=user.gw1000 pero me dice lo siguiente:

Código: [Seleccionar]
Request to install 'weewx-belchertown-release-1.2.tar.gz'
Traceback (most recent call last):
  File "/usr/share/weewx/wee_extension", line 88, in <module>
    main()
  File "/usr/share/weewx/wee_extension", line 80, in main
    ext.install_extension(options.install)
  File "/usr/share/weewx/weecfg/extension.py", line 134, in install_extension
    raise InstallError("Extension '%s' not found." % extension_path)
weecfg.extension.InstallError: Extension 'weewx-belchertown-release-1.2.tar.gz' not found.

Y me he quedado con dudas de si tengo todo bien, porque un poco más arriba en el hilo Jantoni comenta que debería haber /home/weewx, pero yo en home simplemente tengo carpeta pi.

Gracias!
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 24 de Octubre del 2021, 18:46:14 pm
Si tienes una Sainlogic WS3500 no puedes usar el driver GW1000, tienes que usar Interceptor.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 24 de Octubre del 2021, 18:48:42 pm
Pero algo me pierdo.....

No acabo de entender esos pasos.....

Después de descargar Belchertown, tienes que instalarlo.

No sé si estás siguiendo algún tutorial mio y si ese tutorial está mal.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: garbatella en 24 de Octubre del 2021, 21:13:42 pm
Hola jantoni.

Nada, conseguí avanzar. Efectivamente instalé Belchertown. Y luego, queriendo montar los forecasts, instalé el modulo de forecast y no sé si fue eso, o que toqueteé la base de datos sql, que de alguna forma la estación ya no envía datos a weewx. Es algo con weewx, ya que sí que está enviando datos correctamente a wu y a ecowitt, pero me estoy planteando empezar de cero.

Si corro el script meteowee, ¿sobreescribirá sobre todo lo que hay actualmente instalado? Es que lo que no querría sería instalar raspian de cero o formatear la SD ya que como me has leído en otro hilo, en esa rpasberry tengo pihole y un más cosas actualmente funcionando...
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 25 de Octubre del 2021, 09:49:15 am
Si quieres reinstalar weewx con el meteowee específico para setup.py es súper fácil

Borras todo el directorio /home/weewx y vuelves a ejecutar meteowee.

Es lo bueno de setup.py, con paquete Debian tendrías que ejecutar

sudo apt -remove weewx —purge

Si no me falla la memoria, ja ja ja…que ahora estoy en el metro y no puedo ver gran cosa en el móvil
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: garbatella en 25 de Octubre del 2021, 13:42:34 pm
Ahora mismo estoy operativo tras la instalación desde cero.

Ahora bien, por alguna razón que no logro entender, si activo el skin Belchertown, no alimenta datos la consola a la raspberry. Si vuelvo al skin standard, sin problema. A ver si encuentro la razón...
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: manolodos en 19 de Enero del 2022, 19:56:51 pm
Listo.....

Ya tenemos una Raspberry Pi funcionando con Weewx, con el proceso de instalación setup.py en lugar del hasta ahora habitual paquete Debian.

Además tenemos funcionando el Skin Belchertown 1.2

Y enviamos datos a Meteoclimatic sin problema (siempre que hayas seguido las instrucciones al pie de la letra)

Ahora tenemos más tareas:

1.- Crear un script que lo haga todo de forma automática. Un meteowee especial para setup.py.
2.- Traducir Belchertown. Tengo traducido al completo la versión 1.0 pero tengo que revisar si hay diferencias.
3.- Modificar todo el sistema para soportar varias estaciones meteorológicas, fusionando informes.
Hola
Retomo este hilo, ya que me interesa tener 2 instancias de Weewx en una Raspberry Pi 3, una con la estación OregonWMR300, de mi casa  conectada por USB y la segunda para una FineOffset WH2650, que está en una segunda residencia, por lo que creo que tendría que usar en esa segunda instancia el driver interceptor

No encuebtro en este hilo como hacer lo de la segunda instancia
Si es así, Jantoni, te ruego me ayudes en la tarea

Gracias
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 20 de Enero del 2022, 00:24:30 am
No necesitas interceptor necesariamente.

Puedes usar el driver GW1000 abriendo el puerto correspondiente en el router donde se encuentra la WH2650
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 20 de Enero del 2022, 00:25:13 am
No busques......no lo he documentado en Meteoclimatic.

Puedes encontrarlo en la documentación de Weewx.....

Ahora te busco el sitio
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 20 de Enero del 2022, 00:27:17 am
https://github.com/weewx/weewx/wiki/weewx-multi

Como se puede ver, es mucho más fácil con setup.py que con paquetes DEB......aunque no es complicado en ninguno de los dos casos
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: manolodos en 20 de Enero del 2022, 12:31:12 pm
Muchas gracias Jantoni

Las instrucciones para la segunda instancia de Weewx pienso que realmente son fáciles de seguir

Para evitar, en lo posible, dar por válidas situaciones o afirmaciones que no hayan sido previamente expuestas, o "ley de las suposiciones supuestas" *-* que decía mi padre, voy a explicar de forma breve pero detallada, los recursos de que dispongo, su configuración, lo que quiero conseguir y de que forma, especialmente para no hacer perder tiempo a Jantoni y otros miembros del foro que siempre están dispuestos a ayudar

Punto A: Mi casa en Málaga
estación WMR300 con consola y conectada a Raspberry Pi 3 B, con Raspbian 10 Buster (version con escritorio), con Weewx versión 4.3 (instalado mediante setup.py) y conectada por cable a
Módem Router de Vodafone con servicio DDNS configurado con redirección a dominio propio tipo www.xxx.es
La Raspberry la controlo por SSH, de forma local desde pc con Linux y de forma remota con tablet Android y la app RaspController

Punto B: segunda residencia en Nerja
Estación Fine Offset WH2650 ( Waldbeck Halley) y firmware 1.6.8, configurada mediante la app WSView, y actualmente enviando datos a Meteoclimatic mediante Atmos.cat, y también a Ecowitt y Wunderground
Módem Router de Movistar sin nada especial añadido

Lo que quiero es que la Raspberry del punto A, recoja, almacene, genere una web y envíe los datos a Meteoclimatic de la estación del punto B

Entiendo que tengo 2 alternativas, que “supongo”  *+* funcionan de esta forma

Opción 1
- Driver interceptor en la segunda instancia de Weewx configurado así

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
    driver = user.interceptor
    device_type = ecowitt-client
    port = 8000
#################################
- Redirigir el tráfico del puerto 8000 entrante del Router del punto A a la IP local por el puerto 8000 de la Raspberry

- Configurar en el punto B, la app WSView así
Opcion Customized
Protocolo: Ecowitt   Server IP: www.xxx.es ( o sea mi dominio en punto A)
Path: /    (no estoy seguro de si hay que especificar algo más)
Port: 8000
Upload Interval: 60 (¿se podría reducir a 16?)
___________________

Opción 2
- Driver GW1000 en la segunda instancia de Weewx configurado así

driver = user.gw1000
ip_address = La IP publica del Router del punto B
port = 45000
poll_interval = 60
- Configurar algún servicio DDNS en el router B
- Redirigir el puerto 45000 entrante del Router del punto B a la IP local por el puerto 45000 de la pasarela WH2650

- Configurar en el punto B, la app WSView (No estoy nada seguro, pero)
Opcion Customized
Protocolo: Ecowitt   Server IP: www.xxx.es ( o sea mi dominio en punto A)
Path: /    (no estoy seguro de si hay que especificar algo más)
Port: 45000
Upload Interval: 60 (¿se podría reducir a 16?)
_____________________

Creo que con el primer método con driver Interceptor Weewx escucha los datos que envía de forma periódica la pasarela WH2650

Creo que con el segundo método con driver GW1000, Weewx pregunta a la pasarela WH2650 por los datos y esta los envía entonces
_________________________________

El objetivo es archivar los datos históricos de mi estación en mis propios discos de almacenamiento y prescindir y no depender de Atmos.cat y terceros
Muchisimas gracias a Casacota por todo lo que hace apla3


Perdón por el “ladrillo” y corrígeme todo lo que sea necesario, Jantoni
gracias nuevamente
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 21 de Enero del 2022, 17:09:14 pm
A ver.....te contesto pero no en profundidad, porque grosso modo lo has pillado perfectamente.

En cuanto a las opciones, sin dudarlo. Driver GW1000.

Matizaciones:

- Con GW1000 podrás interrogar al WH2650 con la periodicidad que quieras. Adiós al problema de los datos actuales del último minuto. Si interrogas cada 16 segundos, tendrás los últimos datos actualizados desde el bloque de sensores a la pasarela.
- Más que la IP pública del router donde se encuentra ubicada la WH2650, deberías dar un dominio para resolver del tipo  no-ip, dyndns o lo que te apetezca. Así tendrás siempre conexión aunque cambia la IP de la vivienda de Nerja.
- Debes abrir el puerto 45000 en el router de Nerja hacia la IP privada de la WH2650. Recuerda que a los dispositivos Fine Offset, al menos de momento, no se le puede poner una IP privada fija, por lo que deberás "enseñar" al router que a la WH2650 le debe asignar siempre la misma IP.
- En WSView, usando el driver GW1000 no debes poner nada en la secciones customized de los servicios web externos. De ese modo, por ejemplo, podrías mandar datos a atmos.cat y a la vez que tu ordenador de Málaga recopila datos con Weewx.

Por último, indicar que el driver GW1000 ha venido para imponerse. De tal modo que ya dispone de wiki propia https://github.com/gjr80/weewx-gw1000/wiki y con multitud de documentación y ejemplos.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 21 de Enero del 2022, 17:14:14 pm
Ah......los afortunados propietarios de anemómetros separados, pueden hacer la petición de datos cada menos tiempo.

Los WS80 envían datos cada 4,75 segundos.

Sí, no es como una Davis que los envía cada 2 segundos y pico y hace cálculos de los datos intermedios, etc, etc......pero enviar datos cada 5 segundos, si los leemos con el driver GW1000 no parece que vamos a perder datos importantes entre lectura y lectura
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 21 de Enero del 2022, 17:20:12 pm
A más.....el driver interceptor fue un buen apaño para salir del paso, y sigue funcionando para estaciones que no tienen integrada la API GW1000. Solo las pasarelas GW1000, WH2650 y GW1100, así como la consola WN1900 disponen de dicha API.

Así que

Estaciones con consola y que no disponen de API GW1000: Interceptor
Estaciones con pasarelas y consola WN1900: GW1000

Sin dudarlo un solo instante

Ahora bien.....si ya las tenéis funcionando con interceptor, y salvo que os planteéis hacer algún cambio, recordad la premisa:

Si funciona, no lo toques
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: manolodos en 21 de Enero del 2022, 23:50:10 pm
A ver.....te contesto pero no en profundidad, porque grosso modo lo has pillado perfectamente.

En cuanto a las opciones, sin dudarlo. Driver GW1000.

Matizaciones:

- Con GW1000 podrás interrogar al WH2650 con la periodicidad que quieras. Adiós al problema de los datos actuales del último minuto. Si interrogas cada 16 segundos, tendrás los últimos datos actualizados desde el bloque de sensores a la pasarela.
- Más que la IP pública del router donde se encuentra ubicada la WH2650, deberías dar un dominio para resolver del tipo  no-ip, dyndns o lo que te apetezca. Así tendrás siempre conexión aunque cambia la IP de la vivienda de Nerja.
- Debes abrir el puerto 45000 en el router de Nerja hacia la IP privada de la WH2650. Recuerda que a los dispositivos Fine Offset, al menos de momento, no se le puede poner una IP privada fija, por lo que deberás "enseñar" al router que a la WH2650 le debe asignar siempre la misma IP.
- En WSView, usando el driver GW1000 no debes poner nada en la secciones customized de los servicios web externos. De ese modo, por ejemplo, podrías mandar datos a atmos.cat y a la vez que tu ordenador de Málaga recopila datos con Weewx.

Por último, indicar que el driver GW1000 ha venido para imponerse. De tal modo que ya dispone de wiki propia https://github.com/gjr80/weewx-gw1000/wiki y con multitud de documentación y ejemplos.

Pues ya lo tengo funcionando plau2 con el driver GW1000, de momento en pruebas, pero parece que va bien ya que se generan los archivos para la página web y el correspondiente *.sdb
En el router de Nerja he configurado un DDNS de noip.com, he abierto el puerto 45000 a la IP de la WH2650 que he dejado fija
Cuando vuelva a Málaga terminaré de configurar la web, cambiar el skin, etc...
Realmente es mejor solución GW1000 que interceptor

Otro tema que tengo que resolver es la escritura en la tarjeta microSD.
Esta Raspberry va a controlar 2 estaciones por ahora y quizás otra en un futuro próximo, además tiene conectado un receptor Receptor RTL-SDR R820T para recepción de tráfico aéreo y envío de datos a FlightRadar24 y FlightAware, así que creo que debería añadirle un disco externo tipo SSD ( tengo uno de 256 Gb y conexión USB sin usar)
Así que vuelvo a pedir ayuda para la configuración.....

Jantoni, de nuevo, Muchas gracias
Saludos


Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 22 de Enero del 2022, 01:23:22 am
A ver, me imagino que te refieres a poner un disco SSD por usb y que sea este el que arranque el Sistema operativo.

No sé que Raspi tienes.....yo me quedé en la 2 y anteriores, y alguna Raspi Zero.

En ellas tienes que grabar una SD para que arranque el sistema y pasarle el control al disco SSD....creo que hace años escribí sobre esto en este foro.

En el caso de las Raspi 3 y superiores, ni idea. Sé que pueden arrancar por USB, pero no puedo hablar de lo que no he "palpado"
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 22 de Enero del 2022, 01:34:37 am
A lo bruto.....haciendo memoria.....

Copiar la SD en el disco SSD. La mejor opción es un ordenador de sobremesa o portátil con linux. También lo puedes hacer con la misma Raspberry Pi, pero con un lector de tarjetas adicional (no se puede duplicar la tarjeta que tiene montado el sistema operativo en funcionamiento)

Para ello usamos el archiconocido comando "dd"

Una vez copiada la SD en el disco SSD, entramos en la partición /boot del disco (todo ello funcionando con otra tarjeta SD), cambiamos la linea del fichero cmdline.txt.......cambiamos donde pone "root=/dev/mmblkxxxx" o algo así por "root=/dev/sda1" (por lo general será /dev/sda1 lo puedes comprobar antes.

Luego, con gparted se modifica el disco para que podamos usar toda la capacidad del disco. Gparted no estará en un sistema raspi lite, tiene que ser en un sistema raspberry pi con escritorio, o en un ordenador portátil o de sobremesa con linux.

Y poco más.

insisto.....en Raspi 3 o Raspi 4 , no tengo ni idea, porque sus precios son muy elevados y desvirtuan el concepto de la Raspberry Pi original (tengo una funcionando del 2012.....como una campeona durante 10 añitos)
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: manolodos en 22 de Enero del 2022, 17:27:45 pm
La Raspberry es el modelo Pi 3B+ y el disco que quiero utilizar es un SSD de 256 GB con conexión USB
Ya he buscado información para conseguir que ese SSD contenga el sistema operativo y la Raspi arranque desde ahí, prescindiendo de la micro SD
Creo que buscaré un alimentador de 5 voltios de al menos 2 amperios, para que vaya holgado

Gracias de nuevo
Saludos
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: aerf en 02 de Febrero del 2022, 20:33:32 pm
A ver.....te contesto pero no en profundidad, porque grosso modo lo has pillado perfectamente.

En cuanto a las opciones, sin dudarlo. Driver GW1000.

Matizaciones:

- Con GW1000 podrás interrogar al WH2650 con la periodicidad que quieras. Adiós al problema de los datos actuales del último minuto. Si interrogas cada 16 segundos, tendrás los últimos datos actualizados desde el bloque de sensores a la pasarela.
- Más que la IP pública del router donde se encuentra ubicada la WH2650, deberías dar un dominio para resolver del tipo  no-ip, dyndns o lo que te apetezca. Así tendrás siempre conexión aunque cambia la IP de la vivienda de Nerja.
- Debes abrir el puerto 45000 en el router de Nerja hacia la IP privada de la WH2650. Recuerda que a los dispositivos Fine Offset, al menos de momento, no se le puede poner una IP privada fija, por lo que deberás "enseñar" al router que a la WH2650 le debe asignar siempre la misma IP.
- En WSView, usando el driver GW1000 no debes poner nada en la secciones customized de los servicios web externos. De ese modo, por ejemplo, podrías mandar datos a atmos.cat y a la vez que tu ordenador de Málaga recopila datos con Weewx.

Por último, indicar que el driver GW1000 ha venido para imponerse. De tal modo que ya dispone de wiki propia https://github.com/gjr80/weewx-gw1000/wiki y con multitud de documentación y ejemplos.

Pues ya lo tengo funcionando plau2 con el driver GW1000, de momento en pruebas, pero parece que va bien ya que se generan los archivos para la página web y el correspondiente *.sdb
En el router de Nerja he configurado un DDNS de noip.com, he abierto el puerto 45000 a la IP de la WH2650 que he dejado fija
Cuando vuelva a Málaga terminaré de configurar la web, cambiar el skin, etc...
Realmente es mejor solución GW1000 que interceptor

Otro tema que tengo que resolver es la escritura en la tarjeta microSD.
Esta Raspberry va a controlar 2 estaciones por ahora y quizás otra en un futuro próximo, además tiene conectado un receptor Receptor RTL-SDR R820T para recepción de tráfico aéreo y envío de datos a FlightRadar24 y FlightAware, así que creo que debería añadirle un disco externo tipo SSD ( tengo uno de 256 Gb y conexión USB sin usar)
Así que vuelvo a pedir ayuda para la configuración.....

Jantoni, de nuevo, Muchas gracias
Saludos

Pues tambien es interesante el tema del receptor de tráfico aereo! madre mia, uno no gana para trastos al final. Voy a googleear porque me ha gustado  *+*
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: manolodos en 02 de Febrero del 2022, 20:45:18 pm
Pues tambien es interesante el tema del receptor de tráfico aereo! madre mia, uno no gana para trastos al final. Voy a googleear porque me ha gustado  *+*

Aunque no es tema de este hilo y ni de Meteoclimatic, en este enlace tienes buena información
https://es.flightaware.com/adsb/piaware/build

Si necesitas más información , escribeme por privado
Saludos
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 21 de Agosto del 2022, 11:12:55 am
Buenos días:
A día de hoy ¿que driver serviría ó donde conseguirlo para una raspberrypi 2 con ( 5.15.56-v7+ #1575)? ya que el ultimo publicado en el enlace es [ 8188eu-5.10.73-v8-1469.tar.gz   2021-10-15 22:54   557K     ]    
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 21 de Agosto del 2022, 21:31:53 pm
Driver ¿de qué?
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Agosto del 2022, 08:55:39 am
Hola.
El driver del dongle USB TL-WN725N o si hay otro dongle para conectar por wifi una antigua raspberrypi 2 ya que no puedo por cable Lan.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jmviper en 22 de Agosto del 2022, 09:28:48 am
Ese pincho wifi me ha dado verdaderos quebraderos de cabeza en mi orange pi, recuerdo que incluso una vez lo quitó el desarrollador de armbian del kernel y al actualizarlo me encontré sin wifi.
Pillé el Ralink RT5370 que es bastante barato y cero problemas.

Resultado de mi listado de dispositivos USB lsusb

root@orangepipc:~# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@orangepipc:~# lsmod | grep rt2800
rt2800usb              24576  0
rt2800lib              90112  1 rt2800usb
rt2x00usb              20480  1 rt2800usb
rt2x00lib              45056  3 rt2800lib,rt2800usb,rt2x00usb
mac80211              565248  3 rt2800lib,rt2x00lib,rt2x00usb

Si tienes con este último comando los drivers rt2800  será enchufar y configurar.

Estoy hablando de la Orange Pi y de armbian como SO... en las raspis lo desconozco pero será muy parecido porque los drivers del TL-WN725N
creo que no vienen en su kernel y hay que pillarlos.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 22 de Agosto del 2022, 12:35:30 pm
Creo que hace tiempo hablé de ese chip wifi por estas tierras.

El problema es que es un chip cuyos drivers no están instalados en la mayoría de distribuciones Linux, aunque con Windows se reconoce a la primera.

No es difícil encontrar los driver para cada kernel, pero…ese es el problema, para cada kernel. Es decir, cada vez que actualices el kernel de tu raspi, el wifi dejara de funcionar y habrá que buscar e instalar los drivers compilados para el nuevo kernel.

También tienes la opción de compilar tu propio kernel, con lo que se acaban los problemas. Esta opción no te la recomiendo si no sabes lo que estás haciendo. Yo hace casi 20 años que no compilo un kernel de Linux.

Y como te dice jmviper tienes otros wifi usb mas estándar en relación a los driver .
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 22 de Agosto del 2022, 12:40:15 pm
Buenos o, el tema de los driver lo contaba al inicio de este mismo hilo.

Pero parece que a partir de la 5.10.73 ya no se han compilado más para este pincho.

Tendrás que acudir a github y compilarlos tú mismo

https://github.com/lwfinger/rtl8188eu
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Agosto del 2022, 12:43:12 pm
Bien ya miro ambas opciones. Gracias.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Agosto del 2022, 17:40:34 pm
Nada no sé como hacer funcionar el TL-WN725N y el RT5370 no aparece el rt2800 por ningún lado al ejecutar "lsmod | grep rt2800" por lo que entiendo que no están en el kernel, luego tendría que localizar drivers y compilar... Cosa que no he echo nunca y creo que no hare.

Conclusión les van a dar a las viejas RaspberryPi 2 y se irán al punto limpio. Me apañare con una RPi zero W que tengo por ahí despistada.

Salud
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jmviper en 22 de Agosto del 2022, 19:06:23 pm
No estará el driver en el kernel.

Prueba a ver si está en el repositorio:

apt show firmware-ralink

Si está instálalo y ya lo tienes.

Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Agosto del 2022, 22:14:18 pm
Parece que no hay suerte para esta versión de Raspberry Pi OS.

pi@Meteoraspi:~ $ apt show firmware-ralink
Package: firmware-ralink
State: no es un paquete real (virtual)
N: No se puede seleccionar la versión candidata del paquete firmware-ralink dado que no tiene candidatos
N: No se pueden seleccionar distintas versiones del paquete «firmware-ralink» porque es puramente virtual
N: No se encontró ningún paquete
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jmviper en 22 de Agosto del 2022, 22:27:05 pm
Qué te pone sudo lsmod ?
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 22 de Agosto del 2022, 22:41:52 pm
pi@Meteoraspi:~ $ sudo lsmod
Module                  Size  Used by
mt7601u               110592  0
8021q                  32768  0
garp                   16384  1 8021q
stp                    16384  1 garp
mac80211              815104  1 mt7601u
llc                    16384  2 garp,stp
snd_soc_hdmi_codec     20480  1
libarc4                16384  1 mac80211
sha256_generic         16384  0
vc4                   286720  2
r8188eu               598016  0
cfg80211              765952  2 mac80211,mt7601u
cec                    49152  1 vc4
drm_kms_helper        274432  3 vc4
snd_soc_core          233472  2 vc4,snd_soc_hdmi_codec
rfkill                 32768  2 cfg80211
snd_compress           20480  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
bcm2835_v4l2           45056  0
bcm2835_isp            32768  0
bcm2835_codec          45056  0
v4l2_mem2mem           36864  1 bcm2835_codec
raspberrypi_hwmon      16384  0
videobuf2_vmalloc      16384  1 bcm2835_v4l2
bcm2835_mmal_vchiq     32768  3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2
videobuf2_dma_contig    20480  2 bcm2835_isp,bcm2835_codec
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2         32768  4 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common       65536  8 bcm2835_isp,bcm2835_codec,videobuf2_dma_contig,videobuf2_vmalloc,videobuf2_memops,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd_bcm2835            24576  0
snd_pcm               114688  5 snd_compress,snd_pcm_dmaengine,snd_soc_hdmi_codec,snd_bcm2835,snd_soc_core
i2c_bcm2835            16384  0
videodev              245760  6 bcm2835_isp,bcm2835_codec,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
snd_timer              32768  1 snd_pcm
snd                    81920  6 snd_compress,snd_soc_hdmi_codec,snd_timer,snd_bcm2835,snd_soc_core,snd_pcm
mc                     45056  6 bcm2835_isp,bcm2835_codec,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
vc_sm_cma              32768  2 bcm2835_isp,bcm2835_mmal_vchiq
uio_pdrv_genirq        16384  0
uio                    20480  1 uio_pdrv_genirq
fixed                  16384  0
drm                   536576  3 vc4,drm_kms_helper
fuse                  131072  1
drm_panel_orientation_quirks    16384  1 drm
backlight              20480  2 drm_kms_helper,drm
ip_tables              28672  0
x_tables               32768  1 ip_tables
ipv6                  520192  39
pi@Meteoraspi:~ $
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jmviper en 23 de Agosto del 2022, 12:04:53 pm
No te puedo decir uno u otro adaptador.

Veo que tienes el driver r8188eu que en teoría mirando por google valdría para el TP Link tl-wn725n ... pero hay tres versiones de éste ... a saber si ese driver vale para una versión y no para otra.

Supongo que lo mejor será buscar por Google algún adaptador conocido que se sepa funcione bien con la Raspi 2
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 24 de Agosto del 2022, 18:44:22 pm
No hombre, mándamelas a mi, que hago colección *+* *+* *+* *+*
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 26 de Agosto del 2022, 20:53:21 pm
Creo que es un problema de la versión del S.O. Lite Debian version: 11 (bullseye) que mata el Wifi. Hay muchos casos en foros de RaspberryPi. instale en una Zero W y no había forma de que funcionara tampoco.

He instalado en la SD Debian Buster y a la primera en Zero W, con la Pi 2 con pinchos USB aún no he probado.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 26 de Agosto del 2022, 21:44:13 pm
A ver si tengo tiempo de coger la Raspi Zero W que probar CumulusMX en ella y veo que pasa con el wifi
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: miguelru en 27 de Agosto del 2022, 23:29:41 pm
Confirmado también en RPi 2 B v1.2, con Debian version: 11 (bullseye) Lite no funcionan ninguno de los dos dongle USB WIFI, RTL8188EUS y MT7601U.

Ahora con Debian version: 10 (buster) funciona sin problemas el MT7601U pero no funciona el RTL8188EUS...
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 28 de Agosto del 2022, 00:22:29 am
Ya lo hemos comentado en otra ocasión.

Los RTL8188EU hay que descargar o compilar para cada kernel.

Si lo tienes funcionando en un kernel, al actualizarse el driver deja de funcionar.

Antiguamente se podía descargar e instalar, pero como decía un poco antes en este mismo hilo, desde el kernel 5.10.73 no se ha vuelto a compilar.

Es una buena oportunidad para dar los primeros pasos en compilación 8) 8) 8)
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: ogalvan en 27 de Diciembre del 2023, 03:15:15 am
Gracias por este hilo que me ha ayudado a volver a instalar desde cero Weewx en una raspberry.

Todavía me falta de pulir alguna cosa ya que en los reportes NOAA me aparecen comas en vez de puntos en los valores de los datos y acabar de configurar el skin de Belchertown.

Ha sido entretenida la lectura.
Título: Re:Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI
Publicado por: jantoni en 10 de Enero del 2024, 11:02:01 am
Tan solo comentar que este sistema de instalación dejará de funcionar con Weewx 5.0 al decaer el desarrollo de setup.py

Con 4.10 y anteriores seguirá funcionando.

Saludos.