Open Source im professionellen Einsatz
Linux-Magazin 01/2014
© epicstockmedia, 123RF.com

© epicstockmedia, 123RF.com

Wetterdaten via SDR auslesen

Wellenreiten

Mit 20-Euro-Hardware und freier Software-Defined-Radio-Software beginnt für Konstantin Agouros die Jagd auf die per Funk übertragenen Daten einer Wetterstation.

757

Wetterstationen mit Außensender (Abbildung 1) sind heute in vielen Haushalten im Einsatz – so auch in meinem. Der kleine Sender liegt in diesem Fall auf dem Fensterbrett, misst Wetterdaten wie Temperatur, Luftdruck oder Luftfeuchtigkeit und übermittelt diese digital an eine Basisstation, die sie dann anzeigt. Doch eine Basisstation zum Empfang der Daten ist nicht einmal unbedingt notwendig. Mit etwas Bastelleidenschaft und der Hilfe von Software Defined Radio (siehe Kasten "SDR") kann ich solche Funkdaten auch mit dem Rechner empfangen, auslesen und sogar erzeugen.

© © Roman Ivaschenko, 123RFAbbildung 1: Die Kommunikation zwischen einer handelsüblichen Wetterstation (links) und dem zugehörigen Sensor (rechts) lässt sich mit SDR auswerten.

SDR

Software Defined Radio greift die elektromagnetische Wellen quasi direkt an der Antenne ab und bearbeitet sie mit Hilfe von Software. Im einfachsten Fall besteht ein SDR-Empfänger aus einer Antenne und einem Analog-Digital-Wandler plus Software. Abhängig vom Gerät lässt sich damit ein recht großer Frequenzbereich scannen. Anwendungen, mit deren Hilfe sich SDR umsetzen lässt, heißen Gnu Radio, Gnu Radio Companion oder Gqrx.

Weil dabei die Software den Großteil der Arbeit erledigt, darf mein Lötkolben getrost im Schrank liegen bleiben. Lediglich die entsprechende Hardware, die nur ein paar Euro kostet, muss her sowie ein Editor, um die digitalisierten Funkdaten am Rechner zu verarbeiten.

Die Hardware

Vor der Analyse der digitalen Daten musste ich zunächst die passende Hardware für den Empfang finden. Während speziell dafür entwickelte Hardware recht kostspielig ist, bieten DVB-T-Sticks für rund 20 Euro eine sehr günstige Einstiegsmöglichkeit in SDR, sofern sie bestimmte Realtek-Chipsätze (RTL2832U) mitbringen. Das Ganze firmiert unter dem Stichwort "RTL-SDR" und benötigt die Bibliothek Librtlsdr.

Ein Blick auf meine Wetterstation zeigt, dass sie Daten auf der 868-MHz-Frequenz empfängt. Die Webseiten unter [1] und [2] listen diverse Chipsätze sowie die von ihnen abgedeckten Frequenzbereiche auf. Hier findet sich auch gleich eine Liste von Produkten, die diese Chips enthalten. Auf Empfehlung eines Kollegen erwarb ich einen Terratec Cinergy T Stick RC mit Elonics-Chipsatz, der von den aufgelisteten DVB-T-Empfängern den größten Frequenzbereich abdeckt – so auch den des Wettersensors. Der Kostenpunkt der Hardware liegt bei 23 Euro, praktischerweise ist im Lieferumfang eine Stabantenne enthalten.

Die Software

Als Installationsbasis diente mir ein Netbook mit Mint 15, bei der Analyse der per Funk empfangenen Signale half das Gnu-Radio-Framework [3]. Das ist eine Art Baukasten, der sogar einen grafischen Editor enthält und die Signalverarbeitung von Rohdaten (gegebenenfalls auch in Echtzeit) mit Hilfe diverser Filter bis hin zu einem Zielformat ermöglicht. Die Software erzeugt dabei automatisch Python-Code, der die Daten verarbeitet.

Um den DVB-T-Stick als Empfänger einzusetzen, benötige ich zunächst das RTL-SDR-Paket, das

git clone git://git.osmocom.org/rtl-sdr.git

auf den Rechner holt. Gentoo und Arch Linux bringen bereits fertige Pakete mit, unter Ubuntu lässt sich die Software über ein PPA installieren (siehe Kasten "Gnu Radio aus dem PPA").

Gnu Radio aus dem PPA

Vor dem Anstecken der Hardware muss der Ubuntu-Nutzer eine Udev-Datei anlegen. Dazu liest er per »lsusb« die Vendor- und die Product-ID seines DVB-T-Sticks aus und setzt als Root den folgenden Befehl ab:

echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="Vendor ID", ATTRS{idProduct}=="Product ID", GROUP="adm", MODE="0666",SYMLINK+="rtl_sdr"' > /etc/udev/rules.d/20.rtlsdr.rules

Der Befehl schreibt eine neue Regel für Udev, die sich auf den DVB-T-Stick bezieht. Vor dem Anstecken des Sticks muss Root Udev zudem neu starten:

service udev restart

Die Debian-Pakete von Gnu Radio und Gqrx installieren Ubuntu-Nutzer aus einem PPA:

sudo add-apt-repository ppa:gqrx/snapshotssudo apt-get update
sudo apt-get install gqrx gnuradio

Über den Aufruf von »gqrx« lässt sich das SDR-GUI anschließend starten.

Das Bauen der Software aus den Quellen funktioniert über Cmake, aber es gibt einen Haken: RTL-SDR verwendet die Bibliothek Libusb, um mit dem Stick zu kommunizieren. Werden jedoch bestimmte Treiber geladen, kann die Software nicht mehr korrekt mit dem Stick reden. Mein Mint-System hat die Module aus Listing 1 geladen. Listing 2 zeigt eine Anleitung von der Webseite [1] für das Bauen der Software aus den Quellen.

Listing 1

lsmod | head 7

01 e4000              12862  1
02 rtl2832            13312  1
03 dvb_usb_rtl28xxu   18737  0
04 rtl2830            13511  1 dvb_usb_rtl28xxu
05 dvb_usb_v2         22916  1 dvb_usb_rtl28xxu
06 dvb_core           90402  3 rtl2830,rtl2832,dvb_usb_v2
07 rc_core            21266  3 dvb_usb_rtl28xxu,dvb_usb_v2

Listing 2

rtl-sdr kompilieren

01 cd rtl-sdr/
02 mkdir build
03 cd build
04 cmake ../
05 make
06 sudo make install
07 sudo ldconfig

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

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

Linux-Magazin kaufen

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

Deutschland

Ähnliche Artikel

  • TV-Headend

    Mehr braucht er nicht: ein Linux, einen DVB-T-Stick und einen Raspberry Pi. Linux-Magazin-Autor Konstantin "MacGyver" Agouros genügt das, um einen Videorekorder zu bauen, der Sendungen mit Hilfe eines EPG aufzeichnet und die Aufnahmen auf ein NFS-Share im lokalen Netzwerk schiebt.

  • Recht

    Beim "Bring your own device", also beim Einsatz privater mobiler Geräte am Arbeitsplatz, lauern rechtliche Fallstricke – für das Unternehmen ebenso wie für Angestellte.

  • Recht

    Um tatsächliche oder nur angenommene Straftaten im digitalen Bereich eines Unternehmens aufzuklären, muss auch der Admin kräftig mithelfen. Doch was muss er speichern und rausgeben?

  • Recht

    Der Europäische Gerichtshof hat das Safe-Harbor-Abkommen zwischen den USA und der EU-Kommission kassiert. Die Reaktionen aus Internetszene, Verbänden und Datenschutz rangieren zwischen Schockstarre und Zuversicht. Eine Bestandsaufnahme.

  • Leserbriefe

    Haben Sie Anregungen, Statements oder Kommentare? Dann schreiben Sie an [redaktion@linux-magazin.de]. Die Redaktion behält es sich vor, die Zuschriften und Leserbriefe zu kürzen. Sie veröffentlicht alle Beiträge mit Namen, sofern der Autor nicht ausdrücklich Anonymität wünscht.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.