Sdrradio
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. Der große Vorteil ist, dass außer rtl-sdr keine weiteren Bibliotheken notwendig sind und der Player auch dadurch eine sehr geringe CPU-Lust verursacht (selbst auf einem RaspberryPi 2B nur ca. 10% CPU-Last).
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
Mit dem Parameter -g kann man bei rtl_tcp noch die Antennenverstärkung manuell einstellen, falls es bei der Wiedergabe Verzerrungen etc. gibt durch zu starke Signale, z.B. -g 10 für nur 10 dB Verstärkung. Standardmäßig steht es auf "Automatik", was aber nicht immer zu guten Ergebnissen führt.
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) or <iq-file:0> -v show rssi (dB) and afc (khz) -w <khz> IF-width, less cpu 3,6,12,24,48,96,192 (mono 96, stereo 192) Keys: +- (50kHz), m (toggle mono), r (toggle rds) 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, AGC am Stick (-p 8) ist an. Übersicht RTL-SDR Parameter: 3 gain mode, 4 gain, 5 freq corr, 6 if stage gain, 7 test mode, 8 agc mode |
r | RDS ist an. Zeigt Sendername und Titelinformationen an. |
s <soundfilename> | 16bit 48kHz signierter 2-Kanal Sound, Stream oder Pipe. -s kann direkt eine wav-Datei erzeugen. Mit tee oder tail -f kann man dabei auch live mithören. |
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 AGC 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
Bedienung während der Wiedergabe
Während der Wiedergabe kann die Funktion mit den folgenden Tasten beeinflusst werden:
Taste | Funktion |
---|---|
+ | Frequenz + 50 KHz |
- | Frequenz - 50 KHz |
m | Umschaltung Mono / Stereo |
r | RDS an/aus |
Je nach Terminal können die Tasten funktionieren, oder nicht. Unter Raspbian über SSH/Putty funktioniert es.