Mit dem Raspberry Pi eine Wetterstation anzapfen

© Sergey Drozdov, Fotolia

Alle Wetter

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.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.