Cal Meteocoll
Benvingut(da), Visitant/. Sisplau ingressar o registrar-se.
24 Juliol de 2008, 21:41:53
Inici Ingressar Registrar-se

La fotografia de la setmana
Calma després de la tempesta (PPCC)
Foto de la setmana
Notícies: La instrumentació és bàsica en meteorologia. Vols compartir els teus coneixements?

+  Forum CATmeteo
|-+  Meteorologia
| |-+  Fòrum general de meteorologia i climatologia
| | |-+  Instrumentació
| | | |-+  Manual per fer anar Oregon amb Linux Part1
« anterior següent »
Pàgines: [1] 2 3 4 5 6 Anar Baix Imprimir
Autor Tema: Manual per fer anar Oregon amb Linux Part1  (Llegit 5699 vegades)
Undulatus
Cumulus
***
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 118


Rubí, Vallès Occidental


WWW
Manual per fer anar Oregon amb Linux Part1
« en: 20 Desembre de 2006, 18:53:15 »

Com fer anar una Oregon WMR-918,WMR968, amb cable o sense amb linux Part 1


Espero que sigui útil, i que no tingui moltes errades.



Instal·lació:

Baixar el fitxer comprimit tar ball i deixar en un directori apropiat ex. /usr/local/scr i
descomprimir:

fitxer:
http://azug.minpet.unibas.ch/~lukas/wmr918/wxreport-1.3beta1.tar.gz

Per descomprimir, des de una consola de terminal picar :
   cd /usr/local/src
   tar xvzf wxreportd.tar.gz

Ves al directori fent :
   cd /usr/local/src/wxreprt

Canvia la configuració per defecte del port serie i altres en el fitxer 'config.h'

Que hi ha en aquest fitxer?

Això:

/* nom per defecte dels clients que es connecten */
#define HOST "localhost"

/* port per defecte que el servidor escolta, per on es connecten els clients */
#define PORT 9754

/* nombre de clients màxims que estaran connectats al server */
#define CONNECTIONS 10

/* directori per defecte on es desaran les dades(molt important!!) */
#define DATAPATH "/var/opt/wxdata"

/* port serie per defecte (aquí heu de posar el port serie que feu servir, ttyS0 = com1,
 ttyS1 = com2, etc..*/
#define WMR918 "/dev/ttyS1"

Un cop fet això ja podeu fer a la consola:

   make (per generar els binaris) i

   mv wxreportd /usr/local/bin/wxreportd (per moure el executable 'wxreportd' al directori adequat).

Ara cal donar-li els permisos adients al fitxer fent:

   chown root.root wxreportd
   chmod 0550 wxreportd

A partir d'aquí si executem el binari 'wxreportd' se'ns generaran uns fitxers a /var/opt/wxdata
amb totes les dades de l'estació meteo amb aquest format:

yyyymmdd.tab:
host_system_time (unix epoch, decimal) adjusted_wmr918clock_time (unix epoch, decimal)
data_frame_bytes (hex, no preceeding 0xff sync bytes, no trailing checksum)

wind_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) direction(°) gust(m/s)
gust_overflow(0/1) average(m/s) average_overflow(0/1)
chill(C) chill_underflow(0/1) chill_nodata(0/1)

rain_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) current_rate(mm/h)
current_overflow(0/1) total(mm) total_overflow(0/1)
yesterday(mm) yesterday_overflow(0/1) total_is_since(unix epoch)

out_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) temperature(C)
temperature_overflow(0/1) relative_humidity(
dew_temperature(C) dew_temperature_underflow(0/1)

in_yyyymmdd.dat
and
ins_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) temperature(C)
temperature_overflow(0/1) relative_humidity(
dew_temperature(C) dew_temperature_underflow(0/1)
barometer(hpa) weatherstatus(12=sunny,6=halfcloudy,2=cloudy,1=rainy)
barometer_sealevel_compensation(hpa)

tX_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) temperature(C)
temperature_overflow(0/1)

thX_yyyymmdd.dat:
date (yy/mm/dd) time (hh:mm:ss) lobattery(0/1) temperature(C)
temperature_overflow(0/1) relative_humidity(
dew_temperature(C) dew_temperature_underflow(0/1)


A partir d'aquí si executeu a un finestra del sistema:

   datafilter

apareixeran les dades meteo de la vostra estació.

Senyors el sistema ja el tenim funcionant, a partir d'aquí el vestirem per que generi pagines web, o fitxers per meteoclimatic.

Sulut.
En línia

MeteoTortosa
Lo poal i la granera
Cumulonimbus Capillatus
****
Connectat Connectat

Gènere: Masculí
Missatges: 10647


¿Quis custodiet ipsos custodes?


WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #1 en: 20 Desembre de 2006, 19:30:59 »

M'apunto al carro, quan arribe al matí de currar, m'hi fico...

Es prega als admins, tinguin el plaer de crear un sub-fòrum de linux, no sigui que s'escampin massa els posts. Gràcies
En línia




Per fi he arribat a la puta maleida xifra dels 10.000 posts
Egarenc
No ssieennto la visstaaa....
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 9965



WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #2 en: 20 Desembre de 2006, 19:34:41 »

No pateixis que aquest el guardarem ben guardadet Grin
En línia

Bigstorm
El terror dels bolets
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 8404



WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #3 en: 20 Desembre de 2006, 20:04:14 »

 Cheesy Cheesy
En línia
GarílPhone
L'empordaniccio es un mafiós ¡¡¡¡¡¡¡
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 12690


Hi ha mòbils e iphone's.....


WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #4 en: 20 Desembre de 2006, 20:18:44 »

Els que aneu amb Kubuntu davant de cada comando heu de posar sudo

Opció 1: voleu editar un fitxer des de la consola....

Exemple:

sudo nano /directori/nomdelfitxer

nano és l'editor en consola..... en mierdows sería similar al bloc de notas, no s'obre cap finestra, directament des de la consola.

sudo ... per treballar amb superusuari.

Sembla una parida però per a qui no ho controla es pot tornar boig, ja que el primer que es fa es obrir els fitxers directament en qualsevol editor i si no teniu permisos d'administrador (root) no us deixarà fer cap canvi....


Opció 2: treballar els fitxers en mode gràfic....

alt+f2 i al quadre de diàleg teclejeu  konquerorsu us demanarà el password d'administrador...

Navegueu fins la carpeta on voleu editar el fitxer, ratolí botó dret i "obre amb":  kate (editor de fitxers en mode gràfic) al fer-ho ja com a superusuari  podeu modificar el que volgueu.

D'aquesta manera podeu navegar per totes les carpetes del sistema i editar els fitxers que us surti dels collons.. però ULL ¡¡¡¡ amb el que toqueu i remeneu, o la fotreu a cagar de plè.... fitxers del sistema.. etc...

Egarenco rectifica si m'equivoco Tongue
En línia

Cambrils (Tarragona)
Rainwise MKIII Professional + Datalogger + Oracle
www.meteocambrils.com
www.meteoclimatic.com



Egarenc
No ssieennto la visstaaa....
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 9965



WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #5 en: 20 Desembre de 2006, 20:29:06 »

"sudo" només quan calen accessos d'administrador. Per a la resta, igual
En línia

GarílPhone
L'empordaniccio es un mafiós ¡¡¡¡¡¡¡
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 12690


Hi ha mòbils e iphone's.....


WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #6 en: 20 Desembre de 2006, 20:31:17 »

"sudo" només quan calen accessos d'administrador. Per a la resta, igual
Ssasto, però per exemple a la carpeta web per defecte:  /var/www no et deix editar com a usuari normal, no ?? això és al que em refería....  Tongue
En línia

Cambrils (Tarragona)
Rainwise MKIII Professional + Datalogger + Oracle
www.meteocambrils.com
www.meteoclimatic.com



Egarenc
No ssieennto la visstaaa....
Meteoclimatic projecte
Cumulonimbus Capillatus
****
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 9965



WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #7 en: 20 Desembre de 2006, 20:37:07 »

Depèn dels permisos Grin El que com a administrador s'ha de fer és donar permís als usuaris als quals es vol donar accés a certs directoris, i el de la web és un: qualsevol usuari (amb permís) ha de poder posar-hi arxius sense haver de ser root. Imagina't si qualsevol usuari que vulgui posar la seva web hagués de necessitar accedir amb root!
En línia

Undulatus
Cumulus
***
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 118


Rubí, Vallès Occidental


WWW
Re: Manual per fer anar Oregon amb Linux Part1
« Resposta #8 en: 20 Desembre de 2006, 20:53:21 »

Gràcies, Egarenc i Garil per les puntualitzacions que aneu afegint. Wink

En línia

Undulatus
Cumulus
***
Desconnectat Desconnectat

Gènere: Masculí
Missatges: 118


Rubí, Vallès Occidental


WWW
Manual per fer anar Oregon amb Linux Part2 i última
« Resposta #9 en: 21 Desembre de 2006, 00:31:19 »

Com fer anar una Oregon WMR-918 o WMR968, amb cable o sense amb linux Part 2


No ho he dit en la primera part, però com sempre, és imprescindible llegir els README, MAN,
INFO de qualsevol programa que fem servir.

Ja,  ja ho se. Aquí al sur d'Europa no fem servir els manuals fins que estem apurats. No com al nord
que fan un curset de 50h. per canviar una bombeta.

Be recapitulem.

1- Tenim una consola Oregon connectada a un pc que al hora ens farà de servidor d'Internet
2- Fem corre un programa que descodifica las trames que entren pel port serie.
3- Aquest programa 'wxreportd' el col·loquem a  /usr/local/bin/
4-Un cop executat en genera un històric a  /var/opt/wxdata
5- Amb un altre programa que és 'datafilter' podem veure des de una finestra de sistema els valors
de la estació meteo.

Jo personalment, tinc muntat el servidor web a casa, crec que alguns de vosaltres també. Això simplifica les coses. I les dades son mes online, ja que si fas correr el wxreportd a la mateixa màquina
les actualitzacions de les dades son els pocs segons que triguen els sensors en enviar les trames.

Els curiosos ja hauran vist que en el fitxer que hem descomprimit hi ha una carpeta amb el nom de html.
Be, aquí trobareu documents html .cgi .pl que generen pagines web a partir del programa wxreportd.

Ok, una mica de l'estructura de fitxers linux, (encara que es pot fer el que vulgueu, si ho configureu be).

-Dins de /var/www/ van els fitxer d'html que servirem amb l'apache
-Dins de /usr/lib/cgi-bin/ posarem els cgi's i .pl (les rutines de perl)


Que s'ha de tenir per muntar-ho?

Paciència.

I el següent:

-servidor web apache http://apache.rediris.es/httpd/httpd-2.2.3.tar.gz (aquesta és l'última versió)

pels que feu servir debian o derivats ubuntus , sudo apt-get install apache2

-interpret de perl sudo apt-get install perl ( això servirà per fer corre scripts que generen pàgines web i les dades per meteoclimatic)

-gnuplot (per generar gràficas amb els cgi's) sudo apt-get install gnuplot.




Un cop tinguem instal·lats aquest programes i configurats correctament i les pàgines html en el directori corresponent, podeu obrir un navegador i posar:

http://127.0.0.1/plot.html

Ja sabeu 127.0.0.1 = localhost = la nostra màquina.

Si heu configurat l'apache per que la pàgina d'inici sigui index.html, reanomeneu plot.html a index.html i poseu :

http://127.0.0.1/index.html

Si surt això vol dir que alguna  hem fet be, però ...


el perl no funciona o no troba el wmrplot.cgi

Aquesta pàgina html crida un script cgi que és wmrplot.cgi que és el que dibuixa les gràfiques.


A comprovar :

que wmrplot.cgi estigui a /usr/lib/cgi-bin/ (com vaig dir abans)
que l'apache estigui configurat correctament per fer corre cgi al directori esmentat.
que a la primera línia del fitxer wmrplot.cgi hi hagi el path correcte de perl. EPPP !!!!
comorrrrr! 

M'explico, si editeu wmrplot.cgi (és un fitxer de text) al principi hi ha això:

#!/usr/bin/perl -wT
#
# $Id: currentweather.pl,v 0.12 2003/10/10 10:00:21 lukas Exp $
#
# Copyright (C) 2000, 2001 Lukas Zimmermann, Basel, Switzerland
#
# Uses `datafilter' program contained with the wxreportd software to scan
# today's wmr918 data file for most recent data frame in each category
# and prints out a html page of this recent data.

etc.............


La primera línia

#!/usr/bin/perl -wT

És la que indica al navegador on ha de anar a buscar l'interpret, del que ve a continuació (un script en llenguatge perl)

Si heu instal·lat anteriorment el perl, comproveu que el teniu a /usr/bin/perl

Un altre cosa a comprovar els els permisos dels fitxers amb els que estem treballat.


Be ja tenim molta feina feta.

Ara es qüestió d'anar modificant els html per que surti al nostre gust.

Però que passa amb Meteoclimatic?? Sad

Bé les dades las tenim ara només cal donar-li forma per que les entengui el robot.

Jo encara estic en aquest pas, a continuació us posaré el que porto fet i va funcionant a falta encara d'alguna dada.

El meu primer programa cutre saltxixero en perl. Espero que els que en saben em perdonin.   

---------- copiar a partir d'aquí -------------
#!/usr/bin/perl -w

use strict;
use POSIX ":sys_wait_h";
#$ENV{PATH} = "/var/opt/wxdata/";
$ENV{PATH} = "/usr/lib/cgi-bin";

print <<EOF;
Pragma: no-cache
Content-type: text/html

EOF

######## Declaració de variables ###########
my $linia;
my $temperatura;
my $temperatura_max=-20;
my $temperatura_min=50;
my $humitat;
my $humitat_max=0;
my $humitat_min=100;
my $rosada;
my $rosada_max=-15;
my $rosada_min=30;
my $data;
my $hora;
my $bateria;
my $temp_overflow;
my $rosada_underflow;
my $temp_hora_max;
my $temp_hora_min;
my $hum_hora_max;
my $hum_hora_min;
my $ros_hora_max;
my $ros_hora_min;
my $velocitat_max = 0;
my $pressio_max = 930;
my $pressio_min = 1080;

my (undef, undef, undef, $mdayf, $monf, $yearf) = localtime;
$monf += 1; $yearf += 1900;
my $data_file = sprintf "%04d%02d%02d",
                         $yearf, $monf, $mdayf;


my ($direccio,$velocitat,$velocitat_overflow,$mitja,
$mitja_overflow,$sensacio,$sensacio_underflow,$sensacio_nodata,$vel_hora_max
);
my ($pressio,$status,$pressio_mar,$pres_hora_max,$pres_hora_min
);
my ($intensitat,$intensitat_overflow,$total,$total_overflow,$ahir,
$ahir_overflow,$total_desde,$total_any
);
######## fi declaracio variables ##########

open(FITXER,"/var/opt/wxdata/out_$data_file.dat") or die "no es pot obrir el fitxer";

my (undef, undef, undef, $mdaye, $mone, $yeare) = localtime;
$mone += 1; $yeare += 1900;
my $data_ext = sprintf "%02d/%02d/%04d",
                         $mdaye, $mone,$yeare;
my @llista_temperatures;

while($linia=<FITXER>)
{
#print "$linia";


   ($data_ext,$hora,$bateria,$temperatura,$temp_overflow,$humitat,$rosada,$rosada_underflow)=split / +/,$linia;
   
   push @llista_temperatures,$temperatura;

   if ($temperatura > $temperatura_max) {
      $temperatura_max = $temperatura;
      $temp_hora_max = $hora;
   }
   if ($temperatura < $temperatura_min) {
      $temperatura_min = $temperatura;
      $temp_hora_min = $hora;
   }

   if ($humitat > $humitat_max) {
      $humitat_max = $humitat;
      $hum_hora_max = $hora;
   }
   if ($humitat < $humitat_min) {
      $humitat_min = $humitat;
      $hum_hora_min = $hora;
   }

   if ($rosada > $rosada_max) {
      $rosada_max = $rosada;
      $ros_hora_max = $hora;
   }
   if ($rosada < $rosada_min) {
      $rosada_min = $rosada;
      $ros_hora_min = $hora;
   }
}

close FITXER;

open(FITXER,"/var/opt/wxdata/wind_$data_file.dat") or die "no es pot obrir el fitxer";

(undef, undef, undef, $mdaye, $mone, $yeare) = localtime;
$mone += 1; $yeare += 1900;
$data_ext = sprintf "%02d/%02d/%04d",
                         $mdaye, $mone,$yeare;
         
while($linia=<FITXER>)
{
#print "$linia";

(undef,undef,undef,$direccio,$velocitat,$velocitat_overflow,$mitja,
$mitja_overflow,$sensacio,$sensacio_underflow,$sensacio_nodata)=split
/ +/,$linia;

##############conversio m/s a km/h##########
$velocitat *= "3.6";
$mitja *= "3.6";
############################################

   if ($velocitat >= $velocitat_max)
      {
      $velocitat_max = $velocitat;
      $vel_hora_max = $hora;
      }
}
close FITXER;

open(FITXER,"/var/opt/wxdata/in_$data_file.dat") or die "no es pot obrir el fitxer";

(undef, undef, undef, $mdaye, $mone, $yeare) = localtime;
$mone += 1; $yeare += 1900;
$data_ext = sprintf "%02d/%02d/%04d",
                         $mdaye, $mone,$yeare;

while($linia=<FITXER>)
{
#print "$linia";

(undef,undef,undef,undef,undef,undef,undef,undef,
$pressio,$status,$pressio_mar)=split
/ +/,$linia;

$pressio += "20";

   if ($pressio > $pressio_max)
      {
      $pressio_max = $pressio;
      $pres_hora_max = $hora;
      }
   if ($pressio < $pressio_min)
      {
      $pressio_min = $pressio;
      $pres_hora_min = $hora;
      }
}
close FITXER;

open(FITXER,"/var/opt/wxdata/rain_$data_file.dat") or die "no es pot obrir el fitxer";

(undef, undef, undef, $mdaye, $mone, $yeare) = localtime;
$mone += 1; $yeare += 1900;
$data_ext = sprintf "%02d/%02d/%04d",
                         $mdaye, $mone,$yeare;

while($linia=<FITXER>) {
#print "$linia";

(undef,undef,undef,$intensitat,$intensitat_overflow,$total,$total_overflow,$ahir,
$ahir_overflow,$total_desde)=split
/ +/,$linia;

$total_any = ($total += "388");
}
################# inici patro meteoclimatic ####################

print <<EOF;
*VER=DATA2
*COD=08191B
*UPD=$data_ext $hora
*SKY=---
*TMP=$temperatura
*WND=$velocitat
*AZI=$direccio
*BAR=$pressio
*HUM=$humitat
*SUN=---
*DHTM=$temperatura_max
*DLTM=$temperatura_min
*DHHM=$humitat_max
*DLHM=$humitat_min
*DHBR=$pressio_max
*DLBR=$pressio_min
*DGST=$velocitat_max
*DPCP=---
*MHTM=---
*MLTM=---
*MHHM=---
*MLHM=---
*MHBR=---
*MLBR=---
*MGST=---
*MPCP=---
*YHTM=---
*YLTM=---
*YHHM=---
*YLHM=---
*YHBR=---
*YLBR=---
*YGST=---
*YPCP=$total_any
*EOT*
EOF


################## fi patro meteoclimatic ######################

while (!eof HTML) {
  print <HTML>;
};
close(HTML);
close FITXER
------------fi de fitxer---------------


Copiar això en un fitxer i digueu-li 'meteoclimatic.pl'

Això genera les dades com el 'weather display' .

*VER=DATA2 *COD=08191B *UPD=20/12/2006 23:54:41 *SKY=--- *TMP=4.1 *WND=4.32 *AZI=238 *BAR=1026 *HUM=71 *SUN=--- *DHTM=13.1 *DLTM=1.5 *DHHM=85 *DLHM=38 *DHBR=1026 *DLBR=1022 *DGST=7.92 *DPCP=--- *MHTM=--- *MLTM=--- *MHHM=--- *MLHM=--- *MHBR=--- *MLBR=--- *MGST=--- *MPCP=--- *YHTM=--- *YLTM=--- *YHHM=--- *YLHM=--- *YHBR=--- *YLBR=--- *YGST=--- *YPCP=452.3 *EOT*



Ara aneu a configuració de meteoclimatic i poseu http://el_meu_domini/cgi-bin/meteoclimatic.pl.

D'aquesta forma ja estem connectats a meteoclimatic.



De moment ho deixem aquí. Això es ampliable, modificable, millorable, etc, fins l'infinit.
Totes les noves aportacions, rectificacions, i critiques seran benvingudes.
La meva pàgina http://www.meteorubi.com està funcionant amb lo explicat aquí.

Sempre que pugui contestaré els dubtes que surtin.

Salutacions a tots.

 







En línia

Pàgines: [1] 2 3 4 5 6 Anar Dalt Imprimir 
« anterior següent »
Anar a:  


Ingressar amb nom d'usuari, contrasenya i durada de la sessió

Powered by MySQL Powered by PHP Forum CATmeteo | Powered by SMF 1.0.10.
© 2001-2005, Lewis Media. Tots els Drets Reservats.
XHTML 1.0 vàlid! CSS vàlid!
Proxy | BabbFest | Current Accounts | Personal Loan | Credit Cards
Pàgina creada en 0.134 segons amb 21 queries.