Raspberry PI als SDR Server im Netzwerk

Der Raspberry PI kann mit einfachen Mitteln zum SDR Server im Netzwerk werden und damit Funksignale an einen Client ĂŒber IP senden. DafĂŒr reicht ein einfacher DVB-T USB-Stick mit dem RTL2832U-Chipsatz.

FĂŒr den eigentlichen Server reichen wenige Zeilen Code, die wir im Folgenden darstellen möchten. Wichtig ist beim Betrieb als Server, dass der Raspberry Pi nur das Signal empfĂ€ngt und ĂŒber IP bereitstellt. Die eigentliche Verarbeitung, die CPU-Last kostet, erfolgt erst auf dem Client.

Installation des SDR Server

Nachfolgend kurz die Kommandos, die auf der Shell ausgefĂŒhrt werden mĂŒssen. Das erste Kommando lĂ€dt allgemein Pakete herunter, die fĂŒr den weiteren Verlauf gebraucht werden:

sudo apt-get install git cmake libusb-1.0-0.dev build-essential

Eine kurze ErklÀrung dazu:

  • git: Versionsverwaltungssystem fĂŒr Softwareprojekte, hier sind die Source-Dateien fĂŒr den Server bereitgestellt
  • cmake: Tool fĂŒr die Erstellung von Software. Es generiert zusĂ€tzliche Dateien, die von dem eigentlichen Compiler spĂ€ter genutzt werden
  • libusb-1.0-0.dev: USB-Programmierbibliothek
  • build-essentials: Wird benötigt, um Pakete zu erzeugen

Das zweite Kommando lĂ€dt den Programmcode fĂŒr benötigte Software, um den DVB-T USB-Stick zu steuern. Der Befehl erstellt ein neues Verzeichnis, in diesem Fall „rtl-sdr“ und lĂ€dt die Quelldateien unter der angegebenen URL in dieses Verzeichnis.

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

Wir wechseln in das neue Verzeichnis, erstellen den Ordner „build“ und wechseln in diesen.

cd rtl-sdr/
mkdir build
cd build

Wir fĂŒhren „cmake“ auf dem darunter liegenden Ordner aus. Das Resultat landet in dem Ordner „build“, den wir eben angelegt haben.

cmake ../

Compilieren des Codes und anschließendes Installieren der Software.

make
sudo make install

Der Befehl „ldconfig“ steuert die Verwaltung der Bibliotheken, die im System verwendet werden und mit dem nachfolgenden Befehl werden die Verweise auf diese Bibliotheken aktualisiert:

sudo ldconfig

FĂŒr die Kommunikation mit dem Stick muss noch eine Datei kopiert werden. „udev“ ist dabei ein GerĂ€tedienst, der die GerĂ€te im Verzeichnis /dev dynamisch verwalten kann. Wir mĂŒssen dazu zunĂ€chst in das darĂŒber liegende Verzeichnis wechseln und anschließend die Datei kopieren:

cd ..
sudo cp rtl-sdr.rules /etc/udev/rules.d

Erster Start des SDR Server

Jetzt muss eigentlich nur noch das Programm gestartet werden. Da das Ganze ĂŒber das LAN funktionieren soll, muss die IP mit angegeben werden:

sudo rtl_tcp -a 'ip'

Also zum Beispiel:

sudo rtl_tcp -a 192.168.0.42

Die Software startet und der Raspberry PI ist nun ein „SDR Server“.

Im Standard lĂ€uft der SDR Server auf dem Port „1234“. Dieser wird auch auf dem Raspberry PI beim Starten des Programms angezeigt. Wir können die Wahl des Ports auch beeinflussen, indem wir den Parameter -p verwenden:

sudo rtl_tcp -a 192.168.0.42 -p 1337

In diesem Fall wĂŒrde der SDR Server jetzt auf dem Port 1337 erreichbar sein.

Manchmal startet der SDR Server nicht korrekt, da das Modul dvb_usb_rtl28xxu blockiert ist. Wenn dieses Problem auftritt, kann das Modul mit folgendem Befehl aus dem Speicher entfernt werden:

sudo rmmod dvb_usb_rtl28xxu

Client-Verbindung einrichten

Das Ganze lĂ€sst sich jetzt relativ simpel ĂŒber das Programm SDR# steuern. Dazu muss in der Liste der Eintrag RTL-SDR / TCP gewĂ€hlt – und unter „Configure“ die IP und der passende Port gesetzt werden.

Damit sollte die Verbindung erfolgreich aufgebaut sein.

SDR# Software

Wer das Tool zum ersten Mal nutzt, sollte etwas mit den Einstellungen spielen und darauf achten, dass die Werte „RF-Gain“ oder „Filter bandwidth“ passend zum erfassten Signal gesetzt sind.

In Teil 2 dieses Tutorials erfahren Sie, wie man mit einem derartigen software-defined-Radio (SDR) auch Tetra-Funk empfangen und auswerten kann.

Schreibe einen Kommentar