AA_PO-18909-Fotolia-Sergey_Drozdov.jpg

© Sergey Drozdov, Fotolia

Alle Wetter

Mit dem Raspberry Pi eine Wetterstation anzapfen

13.05.2013
Einige Wetterstationen liefern ihre Messdaten per USB an einen angeschlossenen Rechner. Mit dem Raspberry Pi lassen sich so die Daten auswerten und per Web-Anwendung ins Netz stellen.

Meiner neu angeschafften Wetterstation TFA Nexus [1] (Abbildung 1) lagen nicht nur etliche Sensoren für Wind, Regen und Außentemperatur bei, sondern auch ein USB-Kabel und eine Auswerte-Software. Letztere wanderte aber direkt wieder in den Karton: Zum einen setzte sie Windows voraus, zum anderen war es eine reine Desktop-Anwendung. Ich wollte die Messdaten aber aufzeichnen und möglichst auch mit dem Handy von unterwegs bewundern.

Abbildung 1: Die Wetterstation TFA Nexus erfasst unter anderem Wind, Regen sowie Außentemperatur und reicht die Daten via USB weiter. (Bild: TFA-Dostmann)

So fiel mein zweiter Blick dann auf meinen Raspberry Pi. Der gab bisher mit einem kleinen Lautsprecher ein Zwergen-Mediencenter ab. Stattdessen, so mein Gedanke, könnte er doch die Messdaten aus der Wetterstation auslesen. Der Strombedarf wäre gegenüber einem PC verschwindend gering, obendrein läuft der RasPi lautlos. Gretchenfrage: Wie kommt man per USB an die Daten, wenn der Wetterstation nur ein Windows-Programm beiliegt?

Ein kleines C-Programm

Sebastian John hat das kleine Programm Te923tool [2] geschrieben, das viele Wetterstationen auslesen kann, die auf Hardware des Herstellers Hideki basieren. Mit ein paar Abstrichen funktioniert es auch für meine TFA Nexus. Dafür gilt es allerdings den Quellcode des Programms auf dem Raspberry Pi zu kompilieren. Damit das klappt, müssen die Entwicklerwerkzeuge gcc, make und libusb-dev installiert sein.

Nach Auspacken des Programm-Archivs sollte der Aufruf von make dann das Programm te923con liefern. Ein Test mit dem Aufruf te923con -h liefert – neben der Erkenntnis, ob das Programm läuft – eine ausführliche Hilfe zu dem Programm. Die wiederum verrät, dass ein Aufruf ohne Parameter die Messdaten ausgibt (Listing 1).

Listing 1

$ sudo ./te923con
1363468817:20.40:50:i:i:i:i:i:i:i:i:-1.90:60:1008.0:i:5:0:14:0.4:0.6:-3.8:115

Das vorangestellte sudo ist nötig, da der Zugriff auf den USB-Port Root-Rechte benötigt. Was die einzelnen Werte zwischen den Doppelpunkten bedeuten, erklärt die Hilfe. Ein "i" steht demnach für Werte, die das Programm nicht zuweisen konnte. Das erste Feld jedoch erklärt die Hilfe nicht: Hier handelt es sich umt die Unix-Zeit, also die Sekunden, die seit dem 1.1.1970 vergangen sind. Eine Aufruf von date -d @1363468817 +%c im Terminal macht daraus das lesbare Datum Sam 16 Mär 2013 22:20:17 CET.

Ruby installieren

Ruby bietet eine perfekte Grundlage, um die Messdaten zu verarbeiten und einen Webserver damit zu füttern. Zu den zahlreichen Bibliotheken, die man über die Ruby-eigene Paketverwaltung RubyGem nachinstallieren kann, zählen auch die Datenbankschnittstelle ActiveRecord sowie der Webserver Sinatra. Die beiden Bibliotheken machen später den Kern der Anwendung aus. Ruby lässt sich auf dem RasPi zwar aus den Debian-Paketquellen installieren, aktueller und einfacher zu verwalten ist es jedoch mit der Ruby-Versionsverwaltung Rbenv [3].

Um Rbenv aus dem Quellcode-Verzeichnis gitHub.com zu installieren, müssen Sie zunächst das Paket git einrichten. Einige Ruby-Bibliotheken werden zudem vor der Installation auf dem Zielsystem kompiliert. Um daher später weitere Bibliotheken installieren zu können, gilt es noch die Bibliotheken zlib1g-dev, libsqlite3-dev, libssl-dev und libreadline6-dev aus den Debian-Paketquellen nachzuziehen.

Zur Installation von Rbenv folgen Sie den Anweisungen auf der Webseite des Programms. Anschließend installiert der Aufruf rbenv install 2.0.0-p0 die aktuelle Ruby-Version – auf dem RasPi dauert das einen Augenblick. Bevor Sie Ruby dann verwenden können, legen Sie per rbenv global 2.0.0-p0 erst einmal diese Version als Standard fest. Ein Test mit ruby -v zeigt, ob die Installation geklappt hat.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...