Nuevas estaciones meteorológicas de FOSHK

El fabricante chino FOSHK cuyas estaciones meteorológicas personales (PWS) son distribuidas bajo diversas marcas en todo el mundo (Ambient WeatherConrad – RenkforceFroggitAercus Instruments, Watson, Weather Ranger, Maplin …), y con los que hemos colaborado en el pasado desarrollando app, ha lanzado recientemente dos nuevas estaciones meteorológicas que presentan las siguientes característica:

  • Admitir tarjetas de telefonía SIM lo que les permite conectarse a la red de telefonía móvil para la transmisión de datos mediante SMS (Mensajes de texto enviados o recibidos desde un teléfono), GRPS (General Packet Radio Services, envío de datos a través de un punto de acceso o APN) y 2G/3G (Red de datos – Internet), según el modelo
  • Usar un panel solar para su alimentación eléctrica autónoma, junto a una batería recargable.

Estas dos propiedades las hace candidatas para su instalación en lugares apartados que no cuentan con red eléctrica y/o conexión a Internet mediante cable/ fibra, con el fin de conocer la meteorología en zonas rurales como puede ser un paraje natural (montaña, playa, manantial, zona de recreo o acampada, refugio de montaña, etc.), en una explotación agrícola o ganadera, etc. …

El modelo WH6003 permite que los datos meteorológicos puedan ser:

  • Almacenados en una memoria SD interna.
  • Descargados mediante un cable USB a un ordenador.
  • Transmitidos mediante GSM/GRPS a un servidor como Wundergound.
  • Consulados mediante un mensaje SMS (También permite enviar alarmas).

 

WH6003 de FOSHK

WH6003 de FOSHK

El modelo WH6006 además incluye la posibilidad de usar  2G/3G si hay cobertura.

WH6006 de FOSHK

WH6006 de FOSHK

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

Weewx en una Raspberry Pi

Weewx es un software libre desarrollado por Tom Keffer en 2008-2009 para controlar un gran número de modelos de estación meteorológica personales (PWS) como las 10xx, 20xx, 30xx de FOSHK.

Weewx permite, entre otras funciones,  enviar la información meteorológica a redes como: Weather Underground WUAwekas, CWOP, PWSweather, WOW; almacenarla en una base de datos SQLite o MySQL, publicarla en Intenet de forma gráfica, enviarla a un servidor con FTP o RSYNC.

Además mediante la instalación del driver interceptor de MWALL Weewx puede capturar la información meteorológica de prácticamente cualquier PWS que la reenvie a WU como  hacen, entre otras, las PWS HP1000, WS2600, WH2950 y la WH2650  de FOSHK. La captura de la información la puede hacer:

  • de forma directa o invasiva: configurando en la PWS la dirección IP de Weewx como si fuera la del  servidor de WU y configurando el servidor WU en Weewx para que a continuación la reenvie a WU (invasiva)
  • de forma indirecta o no invasiva: configurando weewx de forma que esnife el tráfico IP dirigido a WU

Lo interesante, en este momento, es que es posible instalar y ejecutar el software Weewx en una Raspberry Pi modelos 2 y 3 con Rasbian (Pequeño tamaño y muy económicas) pues ambos modelos disponen de WIFI y de conexión Ethernet, si bien el modelo 3 posibilita la conexión de un display con lo que se puede convertir a la Raspberry Pi en un monitor de la PSW.

Para instalar Weewx (V 3.8.0) en la Raspberry PI debemos ejecutar en el terminal:

  • sudo apt-get update
  • sudo apt-get install weewx

Para instalar el driver interceptor:

  • sudo wget -O weewx-interceptor.zip https://github.com/matthewwall/weewx-interceptor/archive/master.zip
  • sudo wee_extension –install weewx-interceptor.zip
  • sudo wee_config –reconfigure –driver=user.interceptor –no-prompt

Además hay que editar y modificar weewx

[Interceptor]
 driver = user.interceptor
 device_type = observer

Para el modo sniffer del interceptor hay que instalar suplementariamente:

  • sudo apt-get install python-libpcap

Debiendo editar y modificar weewx

[Interceptor]
 driver = user.interceptor
 device_type = observer
 mode = sniff
 iface = eth0
 pcap_filter = src 192.168.1.100 and dst port 80

Los comandos de terminal para gestionar weewx son:

pi@raspberrypi:~ $ sudo /etc/init.d/weewx
Usage: /etc/init.d/weewx {start|stop|status|restart|reload}

Por lo que para arrancar weewx hay que hacer:

  • sudo /etc/init.d/weewx start

Weewx para publciar la información meteorológica utiliza  Apache que viene preinstalado con Raspbian y para comprobar el funcionamiento correcto de weex podemos::

  • En un navegador poner file:///var/www/html/weewx/index.html
  • Si está arrancado Apache http://localhost/weewx

Desinstalar weeWX pero mantiene ficheros y datos

  • sudo apt-get remove weewx

Desistala weeWX borra configuración pero guarda datos:

  • sudo apt-get purge weewx

Borrar datos

  • sudo rm -r /var/lib/weewx
  • sudo rm -r /var/www/html/weewx

Complementos:

  • Utilidades:  http://www.weewx.com/docs/utilities.htm
  • Consideraciones prácticas:  https://github.com/weewx/weewx/wiki/Raspberry-Pi

Para intalar el software wview (Una alternativa, más limitada y menos usada que weeex) en Raspberry PI, mirar VK3BQ

 

Estaciones WH2950 y WH2650 de FOSHK

FOSHK fabrica, entre otras, las estaciones meteorológicas  WH2950 y WH2650  (FOSHK no vende directamente por lo que se comercializan con esos u otros nombres, por distribuidores como  misol y pueden comprarse en tiendas como amazon , aliexpress,  etc.) para las cuales no hemos desarrollado ninguna app, como lo hicimos con HP1000, WS2600 y Meteobridge. Con todo con mucha  frecuencia nos preguntan sobre ello, y de cómo se puede acceder a los datos que recogen y envían a Weather Underground y por esta razón publicamos este post.

En este momento no tenemos previsto hacer ningún desarrollo para estas dos estaciones de FOSHK, pues pensamos que Weewx cubre con crece las necesidades de los usuarios. Con todo, el protocolo de subida de datos (upload) a la red WU – Weather Underground  es público y por ello es posible desarrollar aplicaciones, pero antes de ponerse a tirar de código siga leyendo.

Weewx es un desarrollod e código abierto y gratuito que hace de puente o bridge entre la estación meteorológica que envía via WiFi datos a WU y WU.  Modificando adecuadamente la  URL/dirección web del servidor  WU por la IP del ordenador donde se ejecuta Weewx, pasamos a disponer del control  y de los datos y por ello podemos:

  • Reenviarlos a los servidores de redes como WeatherUnderground, PWSweather.com, CWOP, WOW, AWEKAS, etc.
  • Enviarlos a un servidor con FTP or rsync para su procesamiento o hacerlos públicos con weather34 o similar.
  • Almacenarlos en una base de datos como sqlite o MySQL .
  • Publicarlos en un servidor web al cual podemos acceder con un navegador desde cualquier dispositivo que esté en la red (Ordenador, teléfono móvil, tableta)

Weewx está escrito en Python para ser ejecutado sobre LINUX por lo que puede ejecutarse en cualquier ordenador que no usemos, aunque parece que Raspberry Pi 3 puede ser el candidato ideal.

La diferencia más importante entre meteobridge y weewx es que meteobridge es trasparente o no invasivo, en otras palabras captura los datos sin necesidad de modificar nada, mientras que para weewx si que es necesario dicha modificación al pasar a ser un elemento intermedio disminuyendo la fiabilidad del sistema en su conjunto.

Nosotros no hemos probado todavía weewx, aunque no lo descartamos, pero pinta bien.