I.E.S. Francisco Romero Vargas
    Jerez de la Frontera (Cádiz)           Tlf.: 671 530 256 /7 /8  -  956 70 99 17                    
 
Desde 2007
   
Visitas:
Estadísticas
Zona restringida:
Código Profesor:
Clave SGD:

 

 

LINUX Ubuntu Guadalinex para la estación FWS 20

Programas LINUX Ubuntu Guadalinex para la estación FWS 20.
Apuntes, anotaciones, consejos, ideas...

Información relacionada:
0.- Los datos de nuestra estación meteorológica.
1.- Estación meteorológica.

2.- Instalación del servidor web Apache
3.- Vinculación de datos de la estación meteorológica a una página web. Cumulus.
4.- Creación de un temporizador para subir los archivos automáticamente mediante FTP.
5.- Realización de un programa personalizado basado en el Cumulus. Visual Basic.
6.- Realización de un programa personalizado con el AutoIt.
7.- Cambiar la apariencia de Cumulus, EasyWeather,... con Reshacker. Traducción al español .
8.-
Control de un dispositivo conectado al Puerto paralelo del ordenador mediante los datos de la estación meteorológica
8B.- Controlar un dispositivo externo mediante la estación meteorológica y Arduino. (NUEVO)
9.- La estación en UBUNTU - LINUX.
10.-
Construcción de un reloj analemático
11.- Nos damos de alta en AWEKAS, red internacional de estaciones meteorológicas.
12.- Nos damos de alta en Weather Underground, red internacional de estaciones meteorológicas.
13.- Nos damos de alta en Personal Weather Stations, red internacional de estaciones meteorológicas.
14.- Utilización del archivo realtime.txt y PHP para crear una página web personalizada.
15.- Configuración de la Cámara web

16.- ¡¡¡Se me apaga el ordenadorrrr!!!
17.- Formulario y programación en AutoIt
18.- Capturas automáticas de mapas meteorológicos de una página web

_________________________________________________

 

Vamos a instalar programas en LINUX (en mi caso en la distribución de Ubuntu-9.10) para ver los datos de la estación FWS 20 ( W 8681, Fine Offset WH1080 / WH1081 ) conectada a un puerto USB.

Instalaremos:

- XAMPP bajo LINUX
- Weater Station 0.3rc1 (wwsr)
- Weather Station 0.9 r160 con Python
- Wine
- VirtualBox.

Vendor y Product de un USB

Lo primero que vamos hacer es conectar la estación a un Windows para ver fácilmente algunos de sus datos.
Conectamos la estación mediante USB a Windows, pulsamos en
Inicio / con el botón derecho Mi PC / Administrar / Administrador de dispositivos / Dispositivos de interfaz de usuario (HID) / Dispositivo de interfaz humana USB / Detalles

Cada USB tiene asignado dos números, uno llamado Vendor ID y otro Product ID
(estos números lo asigna http://www.usb.org/developers/vendor/)

El USB de nuestra estación meteorológica es: Vendor ID es 1941 y el Product ID es 8021

Aquí tenemos un listado de fabricantes y productos USB, observamos que el Vendor de la estación meteorológica es Dream Link y el Product USB Missile Launcher (Listado de Vendor y Product de USB)

_________________________________________________

 

- Instalación de Apache, php5, MySQL y phpmyadmin en nuestro ordenador con LINUX (Ubunto 9.10)

Recuerda que para instalar este tipo de programas en Ubuntu debes ser Administrador (root) o saber la contraseña del sudo. Por eso la mayoría de las líneas de comandos comienzan por sudo (hacer de superusuario)

- Bajamos el XAMPP (50 MB)

- Creamos el directorio /opt:

sudo mkdir /opt                      (Es posible que ya estuviera creado de antes)

- Copiamos el archivo xampp-linux-1.6.5a.tar.gz al directorio /opt

sudo cp /home/minombredeusuario/Descargas/xampp-linux-1.6.5a.tar.gz    /opt

- Lo descomprimimos y desempaquetamos

sudo tar      -vzxf       /opt/xampp-linux-1.6.5a.tar

- Para ver si funciona, lo iniciamos:

sudo /opt/lampp/lampp start

Vamos al FireFox y en Dirección ponemos http://localhost

Si sale una página como esta, es que vamos por buen camino...

Para pararlo sudo /opt/lampp/lampp stop

Si queremos poner otras páginas web, la debemos situar en el directorio... /opt/lampp/hdocs/

Pero si tenemos las páginas web en otro directorio y no queremos moverla al directorio por defecto ( "/opt/lampp/hdocs/), vamos al archivo de configuración del Apache ( /opt/lampp/etc/httpd.conf ) y cambiamos estas líneas como indico...

sudo gedit  /opt/lampp/etc/httpd.conf

# DocumentRoot "/opt/lampp/hdocs/"
DocumentRoot "/home/minombredeusuario/meteo/"

# <Directory "/opt/lampp/hdocs/">
<Directory "/home/minombredeusuario/meteo/">

Cada vez que hacemos un cambio en el archivo httpd.conf, debemos parar, stop y arrancar, start, el servicio del Apache (restart).
sudo /opt/lampp/lampp restart

_________________________________________________

Creación de una Base de datos

El paquete XAMPP ha instalado el servidor web Apache, pero también ha instalado la utilidad de datos MySQL y un gestor phpmyadmin, vamos a crear una base de datos.

Vamos al FireFox y escribimos: http://localhost/phpmyadmin

Luego creamos una base de datos llamada weather

Entramos en la base de datos que hemos creado weather e Importamos este archivo... wwsr.sql

Este archivo es del progama que vamos a instalar y mediante él, se construye la tabla de la base de datos

Ya hemos creado una base de datos llamada weather con una tabla llamada wwsr

Mediante la pestaña de Privilegios podemos poner permisos.

_________________________________________________

 

Vamos a instalar un programa para recibir los datos de la estación meteorológica FWS 20 conectada al puerto USB de nuestro ordenador.

Antes de instalar el programa vamos a instalar una biblioteca (library) para que se pueda leer el dispositivo USB de la estación meteorológica, para ello debes bajar la biblioteca (library) libusb de libusb.sf.net

Bajamos libusb-1.0.6.tar.bz2, la descomprimimos.

Entramos en el directorio de la librería

cd libusb-1.0.6

Debemos de compilar esta library, para ello escribimos los siguientes comandos:

sudo ./configure

sudo make

sudo make install

¡¡A mí no funcionó!!. No me creaba la cabecera usb.h cuando compilaba el programa wwsr que veremos posterior mente, así que fuí al Gestor de paquetes Synaptic e instalé varias versiones del libusb, la que mejor me fue la libusb-dev

Con la librería libusb-dev ya no me dió problemas el archivo usb.h al compilar el programa wwsr que veremos a continuación, así que te recomiento que instales todas las que ves marcada de verde en el caso de que cuando compiles wwsr te de problemas el archivo usb.h.

_________________________________________________

 

- Instalación del programa Wireless Weather Station Reader (wwsr)

El programa es de Michael Pendec http://www.pendec.dk/weatherstation.htm pero parece que lo dejó en 2007.

Michael Andersson lo ha modificado y ha creado nuevas versiones para que se puedan guardar la información en una base de datos MySQ, pero es complicado configurarlo para que funcione la base de datos. http://oh1jty.toimii.net/wh1080/

Aquí lo tenemos también ... weather-station-0.3rc1.tar.gz (58 KB)

La bajas a tu directorio /home/tunombredeusuario/Descargas.

Pulsa para descomprimirlo, yo la puse en el directorio: /home/nombredeusuario/weater_station-0.3rc1

El programa está en código fuente y hay que compilarlo para hacerlo ejecutable.

Vamos al directorio /home/usuario/weater_station-0.3rc1

sudo make clean

sudo make all

___________________________

Ahora vamos a realizar esta copia...

sudo cp     wwsr.conf      /usr/local/etc/wwsrc.conf

Vamos a ver el contenido dell archivo /usr/local/ect/wwsrc.conf

sudo gedit /usr/local/etc/wwsrc.conf

Aquí hay información sobre la base de datos de MySQL, nos dice que se va a utilizar la base de datos weather, el usuario propietario de esa base de datos es wwsr, la clave de esa base de datos es passw0rd.

___________________________

Vamos a copiar también el archivo wwsr

sudo cp   /home/usuario/weater_station-0.3rc1/wwsr    /user/local/bin/

___________________________

Lo ejecutamos en el terminal, escribimos wwsr -a, puede que salga esto...

da este error:
wwsr: wwsr.c:131: _open_readw: Assertion 'dev' failed

esto significa que no lee el puerto USB

Vamos a comprobar si lee el puerto USB, para ello escribimos la siguiente orden para comprobar qué puertos USB tienen algo conectado.

lsusb

(Nota: si escribes lsusb -v te saldrán más datos de los puertos USB)

Ummmm... no está leyendo ningún puerto USB.

Si te hubiera salido lo siguiente, significaría que está leyendo la estación...

Fíjate que está leyendo el Dispositivo 1941:8021 que es el puerto de la estación meteorológica, como vimos al principio de esta página, el Vendor es Dream Link y el Product USB Missile Launcher.

En este caso cuando escribas wwsr -a te debe salir la siguente pantalla...

___________________________

- Cuando escribo lsusb me reconoce el Dream Link USB Missile Launcher, pero cuando pongo wwsr -a me sale esto...

Reading last updated record from device
Could not open usb device, errorcode - -1

___________________________

Corrección de errores

Tal vez sigas sin poder conectar... bueno, podemos hacer dos cosas:

1.- Crear un grupo llamado usb y añadir a los usuarios que queramos que ejecuten el programa, la manera de crear un grupo usb se verá en el apartado siguiente.

2.- Pero la forma más fácil es la siguiente... abrimos el archivo /etc/udev/rules.d/70-persistent-cd.rules

sudo     gedit        /etc/udev/rules.d/70-persistent-cd.rules

y ponemos el MODO de permisos de manera que todos los usuarios puedan entrar en el 1941:8021, para ello cambiamos MODE="0660" por MODE="0666"

SYSFS{idVendor}=="1941", SYSFS{idProduct}=="8021", MODE="0666",GROUP="usb"

Es importante reiniciar (restart) el ordenador para que los cambios se ejecuten.

Bueno, creo que ya a estas alturas el programa te funcionará.

___________________________

Otro programa basado en éste http://www.ogimet.com/pub/freewestat-0.3.tar.gz

_________________________________________________

Crear un grupo llamado usb e introducir en él, a los usuarios root y el actual, en mi caso utele11

Sistema / Administración / Usuarios y grupos. Pulse para realizar los cambios

En la línea del archivo sudo     gedit        /etc/udev/rules.d/70-persistent-cd.rules

SYSFS{idVendor}=="1941", SYSFS{idProduct}=="8021", MODE="0660",GROUP="usb"

observamos que pueden entrar en el dispositivo los usuarios del grupo usb, así que o creamos usuarios en el grupo usb para que puedan entrar o bien cambiamos el permiso MODE a 0666, tal vez sea mejor esta última opción y así nos evitamos crear al grupo usb.

Es importante reiniciar (restart) el ordenador para que los cambios se ejecuten.

_________________________________________________

 

Entrar en la configuración de mysql y cambiar su contraseña

Debemos evitar que cualquiera entre en http://localhost/phpmyadmin sin contraseña y cambie las bases de datos. Para ello le debemos poner contraseña a MySQL y a phpmyadmin.

sudo /opt/lampp/bin/mysql

mysql> SET PASSWORD FOR root@localhost=PASSWORD('1234');

mysql> exit

Ahora vamos al archivo... config.inc.php que se encuentra en /opt/lampp/phpmyadmin

sudo gedit      /opt/lampp/phpmyadmin/config.inc.php

y modificamos estas lineas

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'pass';

cambiar por estas

$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '1234';

Vamos a http://localhost/phpmyadmin y observamos que ahora nos pide usuario: root y contraseña: 1234

y a partir de ahora para entrar en mysql tendremos que escribir:

sudo /opt/lampp/bin/mysql -p

_________________________________________________

¿Cómo hacer que un servicio arranque de forma automática?

update-rc.d /opt/lampp/lampp start 20 3 4 5 . stop 20 1 2 6 .

Supongamos que teníamos un apache2 que arrancaba al inicio automáticamente y no queremos que vuelva a arrancar auotmáticamente ¿Cómo lo hacemos?

update-rc.d -f apache2 remove

_________________________________________________

- WeatherStation. Otro programa para recibir datos de la estación meteorológica basado en Python.

Vamos a ver otro programa para obtener los datos de la estación meteorológica bajo Ubuntu que tal vez te guste más que el anterior.

Vamos a este sitio lo bajamos... http://code.google.com/p/pywws/

Aquí lo tenemos... weather-0.9_r160.tar.gz

Leemos el README y observamos que el programa necesita varias dependencias que podemos instalar mediante el Gestor de paquetes Synaptic


libusb (http://libusb.sf.net)
Python (http://www.python.org/) version 2.4 or higher
PyUSB (http://pyusb.berlios.de/) version 0.4 or higher
For graph drawing:
gnuplot (http://www.gnuplot.info/) v4.2 or higher

El libusb ya lo hemos instalado del programa anterior...

De igual manera podemos instalar el Python2.6 y el python-usb (pyusb)

Para ver si funciona nos situamos en el directorio donde esté instalado y escribimos

python TestWeatherStation.py

Debe salir algo así...

Escribe python TestWeatherStation.py -d -h 5 para que salgan los datos anteriores decodificados

Sigue las indicaciones del README

- Si no te funciona, sigue las indicaciones de Corrección de errores del apartado anterior, es decir actuando sobre el archivo:

sudo     gedit        /etc/udev/rules.d/70-persistent-cd.rules

y cambiando

SYSFS{idVendor}=="1941", SYSFS{idProduct}=="8021", MODE="0666",GROUP="usb"

Es importante reiniciar (restart) el ordenador para que los cambios se ejecuten.

_________________________________________________

- Wine y EasyWeather

Otra cosa que podemos intentar es instalar el programa wine, con este programa podemos instalar en LINUX-Ubuntu, aplicaciones de Windows, en nuestro caso vamos a instalar el EasyWeather para Windows que viene con la estación en LINUX.

Primero instalamos el wine1.2-dev.

 

Luego copiamos el setup.exe del EasyWeather en tu directorio de LINUX. Depués pulsa con el botón derecho del ratón en setup.exe y pulsa Abrir con Wine Cargador de programas de Windows.

Vamos a Aplicaciones / Wine / Programas / EasyWeather.

En este caso el problema puede ser que Wine no lea los puertos USB, para solucionarlo debes instalar un patch mediante un proceso un poco complicado.

_________________________________________________

- VirtualBox y Windows / EasyWeather / Cumulus

Otra cosa que puedes intentar es instalar en LINUX (Ubuntu, Guadalinex...) el programa VirtualBox, mediante él podremos instalar un Windows (por ejemplo, un Windows XP) dentro del mismo LINUX.

Para que te funcione los USB debes instalar la versión PUEL, con la versión OSE no te funcionará los USB.

La versión PUEL la puedes bajar de... http://www.virtualbox.org/wiki/Downloads

Una vez instalado reiniciamos el ordenador y vamos a Aplicaciones / Herramientas del sistema / Sun Virtual

Creamos una Nueva máquina virtual, llamada Windows.

 

Too palante...

Introducimos un CDROM de Windows XP en el lector de CDROM y lo instamos bajo LINUX.

- Si quieres extraer el CDROM, debes desmontarlo, para ello vas a Lugares / Equipo / botón derecho en el CDROM y Expulsar.

Aquí tenemos Windows XP funcionando bajo Ubuntu 9.10 mediante el programa VirtualBox.

Podemos instalar el EasyWeather de nuestra estación y ejecutarlo bajo este Windows.

Pero antes vamos hacer lo siguiente: entrar en Sistema / Administración / Usuarios y grupos y añadir a los usuarios que queramos al grupo vboxusers


Para que funcione el USB

Vamos a cerrar el Windows virtual (Máquina / Cerrar) y a entrar en Configuración del VirtualBox...

Vamos a USB y luego pulsamos el icono de la derecha "Agregar filtro desde dispositivo"
Agregamos el 1941:8021 que es nuestra estación meteorológica, también he puesto como ejemplo una memoria USB 2.0 que tenía conectada en ese momento.

Iniciamos nuestro Windows.

Y en Dispositivos USB habilitamos los USB que queramos...

Ahora nuestro EasyWeather podrá leer su información por el correspondiente puerto USB.

Lo mismo si instalamos el programa Cumulus del que hemos hablado en otra ocasión.

_________________________________________________

- Otro programa para recibir datos de la estación meteorológica basado en perl.

Otra versión del wwsr esta vez en perl

En este caso hay que bajar los módulos

Los puedes bajar de... http://www.cpan.org/modules/01modules.index.html

Para compilar los módulos entras, mediante el terminal, en cada uno de los directorios y escribes:
sudo perl Makefile.PL
sudo make
sudo make install
Luego para ejecutar el programa escribes
perl meteoperl.pl

_________________________________________________

http://www.noaa.gov/

http://www.digitalham.co.uk/weather/W8681_EasyWeather_UIView_script.php
(Con el EasyWeather funcionando en Windows)

http://www.wviewweather.com/

 

 


IES Fco. Romero Vargas
Avda. Moreno Mendoza, s/n - 11408 Jerez de la Frontera (Cádiz) -
Tlf.: 671 530 256 /7 /8  -  956 70 99 17
  email: 11007922.edu@juntadeandalucia.es
Las informaciones ofrecidas por este medio tienen exclusivamente carácter ilustrativo, y no originarán derechos ni expectativas de derechos.
(Decreto 204/95, artículo 4; BOJA 136 de 26 de Octubre)