Sdrradio

Aus DXL-Wiki
Zur Navigation springen Zur Suche springen

Beschreibung sdrradio

sdrradio ist das UKW Radio für Zwischendurch, ganz simpel über die Konsole ansprechbar. Voraussetzung ist nur das rtl-sdr Paket und ein angeschlossener RTL-SDR USB-Stick.

Wichtiger Hinweis vom 15.09.2020:

Unbedingt die aktuelle Version von sdrradio nutzen, welche bei OE5DXL auf dem Server liegt. Auf der Seite dxlaprs.hamspirit.at ist noch eine fehlerhafte Version in den Paketen enthalten, welche bei eingeschaltetem RDS zu Problemen führt. Dies ist in den neueren Versionen behoben.

Vorbereitungen

Zum Ausführen von sdrradio muss rtl-sdr installiert sein. Falls noch nicht vorhanden, bitte so installieren:

sudo apt-get install rtl-sdr

Den SDR-Server startet man dann vor sdrradio wie folgt:

rtl_tcp -a 127.0.0.1 -d0 -p 12345 
  • -a = Ziel-IP von sdrradio
  • -d0 = Wählt das erste sdr device. Das zweite wäre -d1 usw.
  • -p = Zielport von sdrradio

Parameter Kurzbeschreibung

sdrradio -h

Stereo UKW Radio from rtl:tcp (8 bit IQ via tcpip to 2 channel 16 bit pcm file/pipe 
 -a <khz>       max afc <kHz> (50) or 0 for off
 -f <freq>      tune to MHz or Hz
 -h             help
 -m             force mono
 -p <cmd> <value> send rtl_tcp parameter, ppm, tunergain ... -p 5 <ppm>
 -r             RDS on
 -s <soundfilename>  16bit 48kHz signed 2 channel sound stream/pipe
 -t <url:port>  connect rtl:tcp server (127.0.0.1:1234)
 -v             show rssi (dB) and afc (khz)
 -w <khz>       IF-width, less cpu 3,6,12,24,48,96,192 (mono 96, stereo 192)
example: sdrradio -f 101.2 -s /dev/stdout -t 192.168.1.1:1234 -p 5 72 -p 8 1 -r -v | aplay

Ausführliche Parameter

Parameter Beschreibung
a <khz> Maximale AFC in kHz. Standard = 50 KHz. 0 = AFC Aus.
f <freq> Sendefrequenz des Radiosenders in MHz, z.B. "101.2" - Dezimalpunkt, kein Komma!
h Hilfetext
m Erzwinge Mono Wiedergabe
p <cmd> <value> Sende parameter an rtl_tcp, z.B. Frequenzabweichung in ppm, Tunerverstärkung usw. -p kann wiederholt werden für mehrere Parameter.
Beispiel: -p 5 0 -p 8 1 bedeutet keine Frequenzabweichung (-p 5) da Stick mit TCXO, AFC am Stick (-p 8)ist an.
r RDS ist an. Zeigt Sendername und Titelinformationen an.
s <soundfilename> 16bit 48kHz signierter 2-Kanal Sound, Stream oder Pipe.
t <url:port> Verbinde mit rtl_tcp Server an Rechner-IP und Rechner-Port. Standard = 127.0.0.1:1234
v Zeige Feldstärke (rssi) in dB und AFC in kHz.
w <khz> Bandbreite der Zwischenfrequenz. Werte mit wenig CPU-Last sind 3,6,12,24,48,96,192. Standard ist 96 bei Mono und 192 bei Stereo.

Beispiele

sdrradio -f 93.5 -s /dev/stdout -t 127.0.0.1:12345 -p 5 0 -p 8 1 -r -v | aplay
  • -f spielt die Frequenz 93,5 MHz ab
  • -s pipet die Ausgabe direkt an stdout und | aplay am Ende nimmt dies direkt entgegen. Es sind dadurch weiter keine Pipe-Datei oder andere Kniffe notwendig.
  • -t sagt wo der rtl_tcp Server zu finden ist.
  • -p 5 0 und -p 8 1 sagen rtl_tcp, das der Stick keine Frequenzabweichung hat und die AFC eingeschaltet sein soll.
  • -r schaltet die RDS Anzeige ein.
  • -v zeigt noch die Feldstärke in dB und AFC in kHz an.

Nicht vergessen vorher den rtl_tcp Server zu starten, siehe oben!

Beispielausgabe:

pi@raspberrypi:~/dxlAPRS/aprs $ ./sdrradio -f 93.5 -s /dev/stdout -t 127.0.0.1:12345 -p 5 0 -p 8 1 -r -v | aplay
Wiedergabe: WAVE 'stdin' : Signed 16 bit Little Endian, Rate: 48000 Hz, stereo
93.50+0S69.1dB++++:BAYERN 1 A:Fish: Garden Of