You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CubeSatSim/groundstation/packet.sh

141 lines
2.8 KiB

#!/bin/bash
# script to auto decode packet using rtl_fm and Direwolf
sudo modprobe snd-aloop
sudo systemctl stop openwebrx
sudo systemctl stop rtl_tcp
pkill -o chromium &>/dev/null
sudo killall -9 rtl_fm &>/dev/null
sudo killall -9 direwolf &>/dev/null
sudo killall -9 aplay &>/dev/null
sudo killall -9 qsstv &>/dev/null
sudo killall -9 rtl_tcp &>/dev/null
sudo killall -9 java &>/dev/null
sudo killall -9 CubicSDR &>/dev/null
echo
echo "Choose the number for the packet decoding option:"
echo
echo "1. APRS US 2m (144390 kHz)"
echo "2. CubeSatSim (434900 kHz)"
echo "3. APRS European 2m (144800 kHz)"
echo "4. APRS Australian 2m (145175 kHz)"
echo "5. APRS on another frequency"
echo "6. APRS on ISS (145825 kHz)"
echo "7. Serenity CubeSat 4800 bps (437.1 MHz)"
echo "8. Test Serenity CubeSat decoding with WAV file"
echo
read -r choice
if [ "$choice" = "1" ]; then
frequency=144390000
elif [ "$choice" = "2" ]; then
frequency=434900000
elif [ "$choice" = "3" ]; then
frequency=144800000
elif [ "$choice" = "4" ]; then
frequency=145175000
elif [ "$choice" = "5" ]; then
echo
echo "Enter the frequency in kiloHertz"
echo
read -r frequency
frequency=$frequency"000"
#echo $frequency
elif [ "$choice" = "6" ]; then
frequency=145825000
elif [ "$choice" = "7" ]; then
frequency=437100000
#elif [ "$choice" = "6" ]; then
else
echo "A recorded WAV file will play and you should see some packets decoded"
echo
value=`aplay -l | grep "Loopback"`
echo "$value" > /dev/null
set -- $value
# aplay -D hw:0,0 ~/Recordings/437.098_2021-08-28_10-41-34.wav &
# aplay -D hw:3,0,0 ~/Recordings/437.098_2021-08-28_10-41-34.wav &
# aplay -D hw:0,0 WAV/SDRSharp_20210830_200034Z_437097377Hz_AF.wav &
# aplay -D hw:${2:0:1},0,0 WAV/SDRSharp_20210830_200034Z_437097377Hz_AF.wav &
aplay -D hw:0,0 WAV/beacon_test_2.wav &
aplay -D hw:${2:0:1},0,0 WAV/beacon_test_2.wav &
timeout 30 direwolf -c direwolf/direwolf-4800.conf -r 48000 -t 0
echo
echo "Test complete. This window will close in 10 seconds."
sleep 5
exit
fi
echo
echo "Note that the 'Tuned to' frequency will be different from the chosen frequency due to the way SDRs work."
echo
if [ "$choice" = "7" ] || [ "$choice" = "8" ]; then
echo -e "Auto decoding AX.25 packets on $frequency Hz"
direwolf -r 48000 -c direwolf/direwolf-4800.conf -t 0 &
else
echo -e "Auto decoding APRS packets on $frequency Hz"
direwolf -r 48000 -c direwolf/direwolf.conf -t 0 &
fi
sleep 5
value=`aplay -l | grep "Loopback"`
echo "$value" > /dev/null
set -- $value
#rtl_fm -M fm -f 144.39M -s 48k | aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1
rtl_fm -M fm -f $frequency -s 48k | tee >(aplay -D hw:${2:0:1},0,0 -r 48000 -t raw -f S16_LE -c 1) | aplay -D hw:0,0 -r 48000 -t raw -f S16_LE -c 1
sleep 5

Powered by TurnKey Linux.