Ein DVB-T-Stick holt die Daten einer professionellen Wetterstation ab und legt sie zur Verarbeitung in einer Datenbank ab.
Wir beschäftigen uns häufig mit den Wetteraussichten für den Tag, eine eigene Wetterstation wäre also eine feine Sache. Doch solche Stationen sind teuer, und der Hobby-Meteorologe ist dann auf die Anzeige-Panels der jeweiligen Hersteller festgelegt. In der Regel fehlt dort die Möglichkeit, die Messwerte in eigenen Anwendungen zu verwenden.
Dabei ist meist nicht die Sensorik in den Wetterstationen der Kostentreiber, sondern die Anzeigemodule. Die reine Messung könnte eine selbstgebaute Lösung übernehmen. Allerdings muss die Sensorik energiesparend und wetterfest sein. Das ist in einem Eigenbauprojekt nicht einfach umzusetzen und treibt den Aufwand und die Kosten in die Höhe. Die Alternative: Man nutzt die Sensorik einer professionellen Wetterstation und zieht die davon gelieferten Daten für sein Projekt heran. Zur Anzeige der Daten eignet sich Grafana [1].
Hardware
Als Erstes benötigen Sie einen geeigneten Sensor (Abbildung 1) für Ihre Wetterstation. Solche Sensoren gibt es zu relativ moderaten Preisen im Handel. Wir setzen einen 5-in-1-Außensensor des Anbieters Bresser [2] für rund 80 Euro ein. Der Preis und die Ausstattung können variieren, und ähnliche Sensoren mit mehr Funktionen lassen sich durchaus günstiger bekommen. Etwas Recherche lohnt sich also.
Der Bresser-Sensor misst Temperatur, Luftfeuchtigkeit, Windgeschwindigkeit, Windrichtung, Niederschlagsmenge. Er sendet auf einer Frequenz von 868 MHz. Bei der Montage müssen Sie ihn nach Norden ausrichten und lotrecht anbringen. Dabei helfen eine im Gehäuse integrierte kleine Wasserwaage und eine am Sensor aufgebrachte Markierung für die Nordrichtung.
Um den Datenstrom des Sensors zu empfangen, verwenden wir einen handelsüblichen DVB-T-Stick für den Empfang digitaler Hörfunk- und Fernsehsignale über terrestrische Wege. Der Stick benötigt Unterstützung für Software Defined Radio (SDR). Außerdem gilt es darauf zu achten, dass er auf einem RTL2832-Chipsatz basiert. In unserem Projekt kommt der TV-Stick 820T2 Digital USB 2.0 [3] des Anbieters RIWPKFHTV für rund 27 Euro zum Einsatz.
Installation
Die Installation der nötigen Software funktioniert (bis auf eine Ungereimtheit) unter einem aktuellen Ubuntu. Das Kommando sudo apt-get install rtl-433 installiert die Software auf dem System. Bei der Installation auf dem Rechner des Autors wurde das Programm nicht korrekt in den Suchpfad des Systems eingebunden, über den absoluten Pfad ließ sich trotzdem damit arbeiten.
Falls Sie auf ähnliche Probleme stoßen, bleibt als Alternative die Übersetzung der Software aus den Quellen. Die dazu nötigen Kommandos zeigt Listing 1. Die Version aus den Softwarequellen ist aktueller als die via Paketverwaltung installierbare und funktioniert auf dem Ubuntu-Desktop und dem Raspberry Pi ohne Probleme.
Listing 1
Installation aus den Quellen
$ sudo apt-get install git libtool libusb-1.0-0-dev librtlsdr-dev rtl-sdr build-essential cmake pkg-config $ mkdir wetter $ cd wetter $ git clone https://github.com/merbanan/rtl_433.git $ cd rtl_433/ $ cmake . $ make $ sudo make install
Um zu überprüfen, ob alles geklappt hat, starten Sie nach dem Kompilieren mit dem Kommando rtl_433 -f 868M -T 120 einen Testlauf. Falls Sie hier eine Fehlermeldung erhalten, müssen Sie zuerst noch die Berechtigungen für das USB-Gerät setzen. Eine genaue Anleitung dazu findet sich im nächsten Abschnitt. Um die Berechtigungsklippe für einen ersten Test zu umschiffen, können Sie ausnahmsweise einmal mit sudo arbeiten.
In Abbildung 2 sehen Sie, dass sich in der Testumgebung mehrere Geräte tummeln, die Daten senden. Um nicht die Informationen der falschen Wetterstation aufzuzeichnen, ist es wichtig, sich die eindeutige Kennung der eigenen Station zu merken. Falls Sie unsicher sind, welche Daten zu Ihrem Gerät gehören, eignet sich der Windrichtungsmesser gut dazu, definierte Testwerte zu erzeugen und so die korrekte ID zu finden. In unserem Fall lautet die korrekte ID 00314660. Doch Vorsicht: Die ID kann sich bei einem Batteriewechsel ändern. Tatsächlich gestaltet sich der Batteriewechsel bei der im Test verwendeten Station umständlich, da es gilt, die Batterien von unten einzusetzen. Je nachdem, wo Sie die Station montiert haben, kann das etwas hakelig sein.
Udev anpassen
Die rtl_433-Software greift via USB auf den DVB-T-Stick zu. Damit das unter Linux klappt, benötigen Sie eine Datei mit Zugriffsregeln für das konkrete Gerät. Die Steuerung der Zugriffsrechte kann an dieser Stelle sehr fein abgestuft erfolgen. In unserem Fall genügt es schon, die Berechtigung für alle Geräte eines Herstellers zu setzen. Dies geschieht anhand der eindeutigen Herstellerkennung (idVendor). Einen schnellen Weg, diese Kennung zu ermitteln, bietet das Kommando lsusb: Es listet alle USB-Geräte am Bus mit Namen und Kennung auf. Für den hier verwendeten Stick lautet die Ausgabe Bus 003 Device 011: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T. Die Herstellerkennung ist dabei 0bda, die Kennung des Modells 2838.
Um die Berechtigungen zu vergeben, müssen Sie als Root eine passende Datei im Ordner /etc/udev/rules.d/ anlegen. Der Dateiname sollte zur verwendeten Konvention passen und klar aussagen, welche Funktion die Datei hat. In unserem Beispiel wählen wir den Namen 60-DVBT-Stick.rules. Die erste Zeile von Listing 2 zeigt die notwendigen Einträge, damit alle Benutzer auf Geräte dieses Herstellers zugreifen können. Um die Regeln ohne Reboot zu aktivieren, verwenden Sie die Kommandos aus den folgenden Zeilen.








