Jeg har været lidt på udkig efter en vejrstation som kunne vise temperatur, vindhastighed, barometer, chill effekt osv, på mine mobile enheder, men mange af dem er rimeligt dyre og samtidige vil de gerne styre hvilket værktøj der skal anvendes for at vise vejrdata.
Meget inspireret af Steven’s vejrstations projekt, valgte jeg at købe en relativt billig vejrstation med USB udgang, og så lade en let modificeret udgave af Steven’s Perl script samle alle vejrdata op i en Mysql database. Jeg har i forvejen en SME server(linux) kørende så det var oplagt at bruge den, men som man kan se på Steven’s side er det også nogle der laver projektet vha den nye meget billige mini computere Raspberry pi.
Måske kan andre have glæde af at lege med sådan en vejrstation, og jeg samler derfor lige lidt op på hvad jeg har gjort.
Udgangspunktet er at vejrstationen sluttes til en computer der kan afvikle Perl og hvor du også har lov til at installere Perl-udvidelsespakker på. Derudover skal du have adgang til en Mysql database.
Følgende pakker skal gerne være i dit Perl setup(CPAN er Perl’s package installer):
Den vigtigste er “Device::USB”. Start med at sikre at denne er i dit Perl Setup. Følgende kommandoer skulle igennem for at få sagerne til at virke på min SME server der er baseret på CentOs.
- "cpan -i Inline::MakeMaker"
- "cpan -i ExtUtils::MakeMaker"
- "cpan -i Parse::RecDescent"
- "cpan -i Carp::Assert"
- "cpan -i Device::USB"
– installer libusb-devel: yum install libusb-devel (denne metode anvendes på SME og er måske ikke nødvendig i dit setup)
Perl scriptet startes i demon mode (så den ikke behøver et aktivt command vindue). I linux verden gøres det bare ved at sætte et $ efter kommandoen. Scriptet kan startes med forskellige parametre, så den enten skriver til en mysql tabel eller bare dumper målingerne på skærmen(god ide til en start). Min udgave af scriptet foretager en måling hvert 5. minut.
Når først målingerne er i databasen, står det dig frit for hvordan du vil vise dem. Jeg har bare lavet en simpel PHP/HTML5 side, hvor jeg bruger et gratis javascript lib der hedder http://www.rgraph.net/ til graferne.
Min simple online vejrstation ser pt. således ud!
Jeg har samlet de filer som jeg anvender i en zip-fil, og jeg håber du kan få noget sjov ud af et tilsvarende setup!
I zip filen finder du:
– “wslogger.pl” Perl script til opsamling af data
– “genstart.sh” Lille linux shell-script der holder øje med at logger-scriptet køre, og starter det hvis det ikke køre.
– “Mysql create table vejrstation.sql” Create table statement
– “milavejr3.php” PHP/HTML 5 side til visning af grafer osv
Start kommando til Perl scriptet, så den køre som demon, altså uden selve kommando vinduet er: /usr/bin/perl -w /root/vejr/wslogger.pl -p 300 &
[wpdm_file id=6]
Tak for meget interesant læsning. Jeg har købt en raspberry pi 3 og en vejrstation, som jeg gerne vil have på nettet. Lykkes det ikke for en gammel mand som mig, vender jeg nok tilbage til din pc løsning. Olav