Software > WeeWX

Proyecto de Weewx (setup.py) + Raspi + Pincho USB-WIFI

<< < (3/15) > >>

jantoni:
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
--- Fin de la cita ---

Ahora ejecutamos:


--- Citar ---sudo /usr/sbin/locale-gen
--- Fin de la cita ---

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
--- Fin de la cita ---

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

jantoni:
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
--- Fin de la cita ---

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
--- Fin de la cita ---

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
--- Fin de la cita ---

jantoni:
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
--- Fin de la cita ---

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


--- Citar ---tar xvfz weewx-4.5.1.tar.gz
--- Fin de la cita ---

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


--- Citar ---cd weewx-4.5.1
--- Fin de la cita ---

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


--- Citar ---python3 ./setup.py build
--- Fin de la cita ---


--- Citar ---sudo python3 ./setup.py install
--- Fin de la cita ---

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]:
--- Fin de la cita ---

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.


jantoni:
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: ---sudo /home/weewx/bin/weewxd
--- Fin del código ---

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
--- Fin de la cita ---

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: ---cd /home/weewx
--- Fin del código ---

Copiamos el fichero de inicio que incluye la distribución al directorio correspondiente de Debian bajo el nombre de weewx

--- Código: ---sudo cp util/init.d/weewx.debian /etc/init.d/weewx
--- Fin del código ---

Le damos permiso de ejecución

--- Código: ---sudo chmod +x /etc/init.d/weewx
--- Fin del código ---

Actualizamos el sistema rc.d y establecemos la prioridad para Weewx.

--- Código: ---sudo update-rc.d weewx defaults 98
--- Fin del código ---

Arrancamos manualmente Weewx como servidor

--- Código: ---sudo /etc/init.d/weewx start
--- Fin del código ---

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
--- Fin de la cita ---

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

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


--- Código: ---sudo /etc/init.d/weewx stop
--- Fin del código ---

Si no recibes mensaje de error, el sistema habrá parado a Weewx. Puedes comprobarlo así:


--- Código: ---ps aux | grep weewx
--- Fin del código ---

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 $
--- Fin de la cita ---

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.

jantoni:
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: ---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
--- Fin del código ---

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: ---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

--- Fin del código ---

Y reiniciamos el sistema de log


--- Código: ---sudo service rsyslog restart
--- Fin del código ---

Ya tenemos el log de Weewx separado del sistema operativo.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa