Zeitlich geplante Aufnahmen mit dem WEB-888 / KIWI-SDR

Welch ein verheißungsvoller Beitragstitel das doch ist 🙂 Nun, worum geht’s? Um das Thema: Wie kann ich mit dem Web-888 oder dem KIWI-SDR zeitlich gesteuerte Aufnahmen einer bestimmten Frequenz in einem bestimmten Übertragungsverfahren (AM, SAM, …) anfertigen? Kleiner Spoiler: mittels der KIWI-SDR-API.

Wie funktioniert das im Detail? Nun, bei Github unter https://github.com/jks-prv/kiwiclient gibt es eine entsprechende Python-Software, die die Nutzung der beiden genannten SDR-Web-Receiver WEB-888 sowie KIWI-SDR über die KIWI-SDR-API ermöglichen. Hier wird ein ganzes Bündel an Möglichkeiten per einzelner Clients zur Verfügung gestellt – unter anderem eben auch die Möglichkeit, eine empfangene Aussendung als WAV-Datei abzuspeichern.

Dies geschieht über den sogenannten „kiwirecorder.py“, mit dem man sich auf den jeweils angegebenen WEB-SDR aufschalten kann und die Aussendung auf einer angegebenen Frequenz aufnehmen kann.

Konkret sieht z.B. eine mögliche Kommandozeile folgendermaßen aus:

python3 ./kiwirecorder.py -s 192.168.178.116 -p 8073 -f 6170 -m sam --tlimit=7200 --quiet

Diese Kommandozeile bewirkt, dass z.B. auf der Frequenz 6170 kHz in SAM (also Synchronous AM) für 7200 Sekunden = 2 Stunden eine Aufnahme gemacht wird – das –quiet sorgt dafür, dass keine Ausgabe auf der Console von irgendwelchen Statusmeldungen erfolgt.

Dieses Kommando kann nun als Basis für ein kleine Script herhalten, welches man z.B. auf einem Linux-Rechner per Crontab aufrufen kann. Mein Script sieht folgendermaßen aus:

#!/bin/bash

# Überprüfen, ob Frequenz und Dauer übergeben wurden
if [ "$#" -ne 2 ]; then
    echo "Benutzung: $0 <frequenz> <dauer in Minuten>"
    exit 1
fi

# Parameter
frequenz=$1
dauer_minuten=$2

# Dauer in Sekunden berechnen
dauer_sekunden=$((dauer_minuten * 60))

# Wechsle ins Verzeichnis, in das die Audiodateien gespeichert werden sollen
cd /media/sda1/tausch/SDR-Recordings

# kiwirecorder mit den entsprechenden Parametern aufrufen
python3 /home/pi/dev/kiwiclient/kiwirecorder.py -s 192.168.178.116 -p 8073 -f $frequenz -m sam --tlimit=$dauer_sekunden --quiet

Dieses Script übernimmt nun zwei Parameter, der erste ist die Frequenz, die aufzunehmen sei, der zweite die Zeit, die die Aufnahme laufen soll, diesmal praktischerweise in Minuten, weils ja doch meist um längere Aufnahmen geht. Übertragungsverfahren ist bei mir immer SAM, weils bei mir primär um Radio-Aussendungen geht, man könnte das Script aber problemlos auch um einen Parameter erweitern, der genau diese Info auch noch übernimmt.

Was passiert nun im Script: Nun, wer den Code liest, sieht die Kommentare, die erklären es eigentlich schon 🙂

Jetzt muss man das Script nur noch in die Crontab packen, damit das Script entsprechend sinnvoll arbeiten kann. Das sieht bei mir beispielsweise konkret so aus:

# recordings of Radio Delta int.
  59 17 * * 5 /media/sda1/tausch/SDR-Recordings/record.sh 6170 122
  59 5 * * 6 /media/sda1/tausch/SDR-Recordings/record.sh 6170 122
  59 17 * * 6 /media/sda1/tausch/SDR-Recordings/record.sh 6170 122
  59 5 * * 7 /media/sda1/tausch/SDR-Recordings/record.sh 6170 122
  59 17 * * 7 /media/sda1/tausch/SDR-Recordings/record.sh 6170 122

# daily recording of KBS World Radio
  59 19 * * * /media/sda1/tausch/SDR-Recordings/record.sh 3955 62

# daily recording of Radio Taiwan
  59 18 * * * /media/sda1/tausch/SDR-Recordings/record.sh 5900 32

# daily recording of Radio Romania int.
  59 10 * * * /media/sda1/tausch/SDR-Recordings/record.sh 17630 62
  59 13 * * * /media/sda1/tausch/SDR-Recordings/record.sh 9600 62

Hier fällt auf, dass ich meine Aufzeichnungen in der Regel mit einer Minute Vorlauf und einer Minute Nachlauf mache, einfach um eben die gesamte Sendung mit evtl. vorher und nachher vorhandenen „Senderkennungen“ oder dergleichen mitzunehmen. Man kann aber auch gerne auf „Punkt Null“ starten.

Wollte das jetzt nur mal so als „Gedankenimpuls“ hier teilen 🙂

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

* Cookie-Opt-In: ich bin damit einverstanden, dass mein Name, meine E-Mail Adresse und meine Webadresse in diesem Browser gespeichert werden, bis ich wieder kommentiere (Datenschutzerklärung).