RasperryPI als Wetterdatensammler wview

Seit ein paar Tagen hab ich nun einen RasperryPI am werkeln.  Als ich den auspackte, war ich sofort erfreut von der Baugröße und dem Stromverbrauch.
Alle Standard-distries wurden ausprobiert mit mehr oder weniger großem Erfolg. Klar ein openelec ist schon eine feine Sache, aber dafür habe ich schon eine WD Box. Optimal wäre es doch den noch kaum benutzten Davis Weather ENVOY, dessen grauenhafte Windows Software für mich kaum nutzbar ist, mit dieser dankbaren Aufgabe zu betreuen. Auf dem Dach werkelt eine Davis Vantage Pro, die bisher nur Daten für die Standard Console geliefert hat. Dies soll sich nun ändern. Einiges wurde probiert, aber hat nicht den gewünschten Erfolg gebracht. Mit ein wenig Suchen kommt man irgendwann zum wview Projekt, welches den USB Logger von Davis nativ unterstützt. Sehr geholfen hat mir die Group, bei denen es auch eine kleine Anleitung gibt, die ich aber ein wenig abändern musste.

Alles fängt wie immer beim “Hello World” an, so auch beim RasPi, der ja auch ein OS benötigt. Unter http://www.raspberrypi.org/downloads findet sich die aktuellste Raspbian “wheezy”, die ihr sicher ohne Probleme auf eine 2GB Karte bekommt. Entweder unter Windows mit Win32DiskImager oder einem dd unter Linux.
Es gibt diverse Scripts, die diesen ganzen Vorgang voll automatisch erledigen. Aber sollten sie bei einem Punkt irgendwie aus dem Script fliegen, kommt man nicht weiter. Das kann z.B. bei Updates von Bibliotheken oder anderen Komponenten passieren.
Hier also die “long” Version
rasperry-config wird ja sowieso beim Erststart gestartet und sollte gleich auch benutzt werden.
Einzustellen sind beispielhaft:
>expand_rootfs
>overscan  ->off
>configure_keyboard
>change_pass
>change_locale  ->de_DE.UTF-8
>ssh ->enabled
>boot_behaviour ->no
Dann auf Finish und es wird neu gestartet. Habt Ihr die IP raus bekommen, könnt Ihr alles weitere über SSH aus der Ferne machen.
Wenn Ihr noch nicht so fitt unter Linux seit, dann stellt euch das System etwas optimaler ein.
Root Kennwort vergeben, um ab und zu mal das sudo zu sparen. (Sicherheitsfeature, aber mir egal)

sudo passwd root

Auch mag ich eine etwas andere config von VI

vi /etc/vim/vimrc.tiny

Hier bitte die Zeile in set nocompatible ändern.
Fehlen nur noch die aliase für “ll” in den .bashrc der User

vi /root/.bashrc
vi /home/pi/.bashrc

alias ll='ls -la'
Nun sind die Vorarbeiten geleistet und es kann losgehen.
In der Datei

vi /etc/apt/sources.list

muss folgendes ergänzt werden:
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

Ein

sudo apt-get update

sollte hier nicht fehlen.
Kommen wir nun zur Installation der fehlenden Komponenten

 sudo apt-get install --yes build-essential zlib1g-dev libpng12-dev libreadline-dev gawk libsqlite3-dev sqlite3 libgd2-xpm libgd2-xpm-dev libssl-dev sendmail sendemail libcurl4-openssl-dev libusb-1.0-0 libusb-1.0-0-dev apache2 php5 php5-sqlite libapache2-mod-php5 ntp tnftp wget

Hier sollte man genau überprüfen, ob alles sauber auf dem Rechner gelandet ist. Vielleicht ein paar Probleme mit sendmail, aber das kann man erst einmal ignorieren.
Nun müssen wir uns um die radlib kümmern und herunterladen. Schaut bei sourceforge nach, ob es eine neuere Version gibt. Wenn ja, dann den Link anpassen.

 wget http://downloads.sourceforge.net/radlib/radlib-2.12.0.tar.gz
tar zxvf radlib-2.12.0.tar.gz
cd radlib-2.12.0
./configure --enable-sqlite --prefix=/ --bindir=/usr/bin --sysconfdir=/etc --
localstatedir=/var/lib --libdir=/usr/lib
sudo make install
cd ..

Nach dem gleichen Schema verfahren wir mit wview (Version prüfen! )

wget http://downloads.sourceforge.net/wview/wview-5.20.2.tar.gz
tar zxvf wview-5.20.2.tar.gz
cd wview-5.20.2
./configure --prefix=/ --bindir=/usr/bin --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib
sudo make install
cd ..

Optional gibt es ein Script, welches euch die passenden Init Scripte generiert.

sudo wget http://goo.gl/H13iS -O /etc/init.d/wview
sudo chmod +x /etc/init.d/wview
sudo update-rc.d wview defaults 99

Fehlen fast nur noch ein paar symlinks zu den Websourcen.

sudo ln -s /var/lib/wview/img/ /var/www/weather
sudo ln -s /var/lib/wviewmgmt/ /var/www/wviewmgmt
wviewconfig

startet den Konfigurator, den Ihr wenigstens einmal durchgehen solltet.
Aufzupassen ist bei den Punkten:
Generation Target Path: /var/lib/wview/img
Template Source Path: /etc/wview/html
wo Ihr den Pfad anpassen müsst.

wviewhtmlconfig

Holt euch die HTML Templates aus den o.g. Pfad.
Nun noch etwas Aufräumen und schon kann es los gehen.

sudo /etc/init.d/wview stop ; sudo rm /var/lib/wview/*.pid
sudo wviewcleardata

Wer noch die Dienste über die Weboberfläche steuern will, muss noch dem www-data das Recht dazu geben.

sudo visudosudo adduser www-data sudo
sudo visudo

Einfach ans Ende der Datei einfügen.
Cmnd_Alias WVIEW = /etc/init.d/wview
www-data ALL= NOPASSWD: WVIEW


Zum Abschluss noch einmal alles updaten mit

 sudo apt-get update && sudo apt-get install raspi-config libraspberrypi*

Konfigurieren geht dann über http://YourIP/wviewmgmt/login.php und wird veröffentlicht unter http://YourIP/weather/
Ihr solltet das Standard-Kennwort wview aber unbedingt ändern, wenn ihr die Seite ausserhalb eurer 4 Wände nutzt.
Wenn Ihr Glück habt, könnt Ihr auch das ganze mit nur zwei Zeilen erledigen 🙂
Das Script

wget http://goo.gl/yiaz0 -O wview-install-raspbian.sh
chmod +x wview-install-raspbian.sh ; ./wview-install-raspbian.sh

Wie lange das aber geht und wie aktuell das ist, kann ich leider nicht sagen.
Wenn Ihr nun meint, es wäre doch schön, wenn es schon fertige IMGs geben würde…GIBT ES, aber die hat beim mir nicht 100% funktioniert. Was hier aber alles noch so drin ist, kann man auch nicht sagen. Könnte funktionieren, aber man lernt nichts.