Weather34 con Weewx en Raspberry Pi

Después de arrancar Weewx en una Raspberry Pi 3 model B con Raspbian, pensamos en publicar los resultados en web mediante Weather34, cuyo diseño nos encanta.

PWS with weeWX and weather34

Personal Weather Station with WU connection working at weeWX & weather34

Puede haber otras muchas soluciones, pero a continuación describimos la que hemos implementado y comprobado su funcionamiento:

  • Instalar PHP en Apache: sudo apt-get install php libapache2-mod-php -y
  • Descargar en la Raspberry Pi la versión de Weather34 para Meteobridge, y descomprimir.
  • Copiar los archivos y directorios descomprimidos en el directorio (Que hemos creado previamente) /var/www/html/weather34 (En /var/www/html/weewx tenemos weewx ).
  • En el directorio /etc/apache2/conf.d/ crear el archivo weather34.conf (p.e. tocuh weather34.conf y después invocar el Text Editor que se encuentra en los accesorios de Raspbian ) con el siguiente contenido (Permite que Apache2 localizar los fuentes php de weather34 para servirlos a las peticiones de un navegador, hicimos algo similar en la instalación de weewx):
Alias /weather34 /home/weather34/public_html
<Directory /home/weather34/public_html>
 Options FollowSymlinks
 AllowOverride None
 Order allow,deny
 Allow from all
</Directory>
  • Editar el fichero /etc/weewx/skins/Standar/skin.conf e incluir la entrada:
[[[MBrealtime]]]
 template = MBrealtime.tmpl
  • Editar  /etc/weewx/weewx.conf e incluir al final de la entrada [StdReport] 
[[[MBrealtime]]]
 skin = MBrealtime
  • Para probar el correcto funcionamiento de los informes podemos lanzar el proceso que los genera.
pi@raspberrypi:~ $ wee_reports /etc/weewx/weewx.conf
Using configuration file /etc/weewx/weewx.conf
Generating for all time

Con estas definiciones, cuando se ejecuta periodicamente la generación de informes, StdReport de Weewx, se invoca al skin MBrealtime que usa el template del mismo nombre que encuentra en MBrealtime.tmpl.  Cheetah, incluido en weewx a partir de la definición encontrada en MBrealtime.tmpl (En puede descargar una versión beta de http://software.sonotrigger.com/weather34/MBrealtime.tmpl ) generará un fichero con los datos en formato Meteobridge que servirán de entrada de Weather34, cuando se copien al directorio de weather34.

Para la copia del fichero de entrada y la actualización de weather34 hay que incluir dosentradas en el crontab (Se merece otra entrada):

  • /var/www/html/weather34/cronfiles/weewx.sh (Cada 5′, hay que crearlos).
  • /var/www/html/weather34/cronfiles/stationcron.php (Cada 30′, en mbdbfiles).

El scrip de copiar ficheros puede ser algo así (mbridge/MBrealtimeupload.txt  son los valores por defecto de Weather34 Meteobridge):

#!bin/bash
# /var/www/html/weather34/weewx.sh
sudo touch /var/www/html/weather34/mbridge/MBrealtimeupload.txt
sudo cp -afv /var/www/html/weewx/MBrealtime 
/var/www/html/weather34/mbridge/MBrealtimeupload.txt

Ahora solamente falta parar y arrancar Apache y a continuación weeex y poner en el navegador de la raspberry http//localhost/weather34 o en un dispositivo conectado a la red local sustituyendo localhost por la IP asignada a la Raspberry y debería funcionar.

weeex con weather34