exit
ls
tar -xzvf ra_project.tar.gz
ls
cd ..
ls
cd ..
ls
cd ~
ls
cd radio_audio/
python radio_scan.py 
cd radio_audio/
python radio_scan.py 
python radio_audio/radio_scan.py 
ls
sh install_radio_audio.sh 
ls radio_audio/
ls
pm2 log
pm2 restart all 
pm2 log
cat radio_audio/radio_scan.py
pm2 stop all 
python radio_audio/radio_scan.py --squelch 15
speaker-test -D hw:1,0 -c 2 -t wav
rtl_fm -f 106.8M -M wfm -s 170k -r 32000 -g 30 | aplay -D hw:1,0 -r 32000 -f S16_LE -t raw -c 2 -B 500000
rtl_fm -f 106.8M -M wfm -s 170k -r 48000 -g 30 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 2 -B 500000
rtl_fm -f 106.8M -M wfm -s 170k -r 48k -g 30 | aplay -D plughw:1,0 -r 48k -f S16_LE -t raw -c 1 -B 100000
rtl_fm -f 106.8M -M wfm -s 170k -r 48000 -g 30 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 1 -B 100000
rtl_fm -f 106.8M -M wfm -s 170k -A fast -r 48000 -g 30 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 2 -B 200000
rtl_fm -f 106.8M -M wfm -s 170k -g 25 -p 0 -r 48000 | aplay -D hw:1,0 -r 48000 -f S16_LE -t raw -c 1 -B 250000
pm2 logs radio-scanner --lines 50
rtl_fm -f 106.8M -M wfm -s 170k -r 48000 -g 25 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 2 -B 250000
rtl_fm -f 106.8M -M wfm -s 170k -A fast -r 48000 -g 25 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 2 -B 500000
rtl_fm -f 106.8M -M wfm -s 170k -A fast -r 48000 -g 25 | aplay -D plughw:1,0 -r 48000 -f S16_LE -t raw -c 2 -B 100000
pm2 stop all
python radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --squelch 15
aplay -l
rtl_fm -f 156.8M -M fm -s 24k -r 44100 -l 15 -g 30 | aplay -D hw:1,0 -r 44100 -f S16_LE -t raw -c 2
rtl_fm -f 156.8M -M fm -s 24k -r 44100 -l 15 -g 30 | aplay -D hw:2,0 -r 44100 -f S16_LE -t raw -c 2
rtl_fm -f 156.8M -M fm -s 24k -r 48000 -l 15 -g 30 | aplay -D plughw:2,0 -r 48000 -f S16_LE -t raw -c 1
rtl_fm -f 106.8M -M wfm -s 170k -r 48000 -g 30 | aplay -D plughw:2,0 -r 48000 -f S16_LE -t raw -c 2
rtl_fm -f 106.8M -M wfm -s 170k -r 48k -g 30 | aplay -D plughw:2,0 -r 48k -f S16_LE -t raw -c 2 -B 200000
rtl_fm -f 106.8M -M wfm -g 30 -r 48000 | aplay -D plughw:2,0 -r 48000 -f S16_LE -t raw -c 2 -B 200000
rtl_fm -f 106.8M -M wfm -s 192k -r 48000 -g 30 | aplay -D plughw:2,0 -r 48000 -f S16_LE -t raw -c 2 -B 500000
rtl_fm -f 106.8M -M wfm -s 200k -r 48000 -g 30 | aplay -D plughw:2,0 -r 48000 -f S16_LE -t raw -c 2 -B 100000 --buffer-size=16384
sudo apt-get update && sudo apt-get install -y sox
rtl_fm -f 106.8M -M wfm -s 200k -g 30 | sox -t raw -r 200k -e signed-integer -b 16 -c 1 - -t pulse -r 48k -c 2 resample | aplay -D plughw:2,0 -r 48k -f S16_LE -t raw -c 2
rtl_fm -f 106.8M -M wfm -s 200k -g 30 | play -t raw -r 200k -e signed-integer -b 16 -c 1 - -d remix 1,1
export AUDIODEV=hw:2,0 && rtl_fm -f 106.8M -M wfm -s 200k -g 30 | play -t raw -r 200k -e signed-integer -b 16 -c 1 - remix 1,1
sudo reboot 
cat radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --squelch 15
pm2 unstartup
pm2 stop all
pm2 unstartup
local/lib/node_modules/pm2/bin/pm2 unstartup systemd -u pi --hp /home/pi
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 unstartup systemd -u pi --hp /home/pi
ls /etc/systemd/system/pm2-pi.service
sudo reboot 
python radio_audio/radio_scan.py --search
rtl_fm -f 106.8M -M wfm -s 192k -r 32000 -g 30 | aplay -r 32000 -f S16_LE -t raw -c 1
python radio_audio/radio_scan.py --search
lsmod | grep rtl
lsusb | grep Realtek
sudo fuser /dev/bus/usb/001/004
python radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --search
cat radio_audio/radio_scan.py
sudo modprobe -r rtl2832_sdr dvb_usb_rtl28xxu rtl2832
lsmod | grep rtl
python radio_audio/radio_scan.py --search
cat install_radio_audio.sh 
pm2 stop all
python radio_audio/radio_scan.py --search
pm2 stop all
python radio_audio/radio_scan.py --search
cat radio_audio/radio_scan.py 
sh install_radio_audio.sh 
rtl_fm -f 105.8M -M wfm -s 192k -r 32k -g 30 | aplay -D bluealsa -r 32k -f S16_LE -t raw -c 1 2>/dev/null
python radio_audio/radio_scan.py
sudo apt update
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
sudo apt upgrade -y
rtl_fm -f 100.5M -M wfm -s 170k -g 40 -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 2 -V1 -
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
rtl_fm -f 100.5M -M wfm -s 170k -g 40 -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 2 -V1 -
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 10 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
cat radio_audio/radio_scan.py 
ip addr
ifconfig 
sudo shutdown 
sudo shutdown now
rtl_fm -f 100.5M -M wfm -s 170k -g 40 -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 2 -V1 -
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
rtl_fm -f 100.5M -M wfm -s 170k -g 40 -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 2 -V1 -
lsusb | grep Realtek
sudo fuser /dev/bus/usb/001/002
sudo kill 1126
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
sudo fuser -k /dev/bus/usb/001/002
rtl_fm -f 100.5M -M wfm -s 170k -A fast -r 44.1k -l 0 -E deemp | play -r 44.1k -t raw -e signed-integer -b 16 -c 1 -V1 -
clear
pm2 stop all
python radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --squelch 2
python radio_audio/radio_scan.py --freq 100.5
clear
cat radio_audio/radio_scan.py 
nano radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --freq 100.5
nano radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --freq 100.5
nano radio_audio/radio_scan.py 
cat radio_audio/radio_scan.py 
nano radio_audio/radio_scan.py 
cat radio_audio/radio_scan.py 
python radio_audio/radio_scan.py --freq 100.5
speaker-test -D hw:1,0 -c 1 -t sine -f 440
pm2 stop all
sudo killall -9 aplay speaker-test rtl_fm
sudo fuser -v /dev/snd/*
sudo kill -9 1127
sudo fuser -v /dev/snd/*
speaker-test -D hw:1,0 -c 1 -t sine -f 440
pm2 stop all
sudo killall -9 rtl_fm play aplay speaker-test
speaker-test -D hw:1,0 -c 1 -t sine -f 440
aplay -l
speaker-test -D hw:0,0 -c 1 -t sine -f 440
speaker-test -D plughw:0,0 -c 2 -t sine -f 440
clear
python radio_audio/radio_scan.py --freq 100.5
python radio_audio/radio_scan.py
sh install_radio_audio.sh 
python radio_audio/radio_scan.py
clear
python radio_audio/radio_scan.py
cat radio_audio/radio_scan.py
python radio_audio/radio_scan.py
clear
python radio_audio/radio_scan.py
sh install_radio_audio.sh 
cat install_radio_audio.sh 
clear
sh install_radio_audio.sh 
clear
sh install_radio_audio.sh 
clear
pm2 stop all
python radio_audio/radio_scan.py
pm2 stop all
python radio_audio/radio_scan.py
pm2 stop all
python radio_audio/radio_scan.py -squelch 10
python radio_audio/radio_scan.py --squelch 10
pm2 stop all
rtl_fm -f 156.8M -M fm -s 24k -r 44.1k -l 0 -g 30 | aplay -D plughw:0,0 -r 44100 -f S16_LE -t raw -c 2
rtl_fm -f 156.8M -M fm -s 24k -g 30 -l 0 | sox -t raw -r 24k -e signed-integer -b 16 -c 1 - -t raw -r 44100 -c 2 - | aplay -D plughw:0,0 -r 44100 -f S16_LE -t raw -c 2
pm2 stop all
python radio_audio/radio_scan.py --squelch 10
pm2 stop all
python radio_audio/radio_scan.py --freq 156.8M --squelch 10
pm2 stop all
ls radio_audio/
cat radio_audio/radio_scan.py 
cp radio_audio/radio_scan.py radio_audio/radio_scan_1_9.py 
ls radio_audio/
pm2 restart all
pm2 status all
pm2 restart all
ls
cat last_search.json 
exit
python radio_audio/upload_ra_backup.py 
crontab -l
cat install_radio_audio.sh 
cd radio_audio/
ls
sh install_radio_audio.sh 
crontab -l
python radio_audio/upload_ra_backup.py 
cat radio_audio/archive_radio.py 
python radio_audio/archive_radio.py 
ls radio_audio/recordings/
python3 -c "import psutil; ram = psutil.virtual_memory().total / (1024**3); print(f'RAM: {ram:.2f} GB'); print('Modell:', 'tiny' if ram < 1.5 else 'base' if ram < 3.5 else 'small' if ram < 7.5 else 'medium' if ram < 15.0 else 'large')"
df -h
sudo rm -rf /tmp/*
sudo apt clean
du -sh /home/pi/* | sort -h
df -h
python radio_audio/archive_radio.py 
pm2 status all
ls 
cd radio_audio/
ls
cd recordings/
ls
ls
cd radio_audio/
ls
ls radio_audio/recordings/
pm2 restart all
pm2 restart all --update-env
pm2 save
cat install_radio_audio.sh 
ls radio_audio/recordings/
crontab -l
amixer -c 1 sset 'PCM' 0%
amixer -c 1 scontrols
amixer -c 1 sset 'Speaker' 0%
amixer -c 1 sset numid=1 0%
amixer -c 1 contents
aplay -l
amixer -c 0 scontrols
amixer -D hw:UACDemoV10 sset 'PCM' 0%
crontab -l
echo "# --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -c 0 sset 'PCM' 0%
30 06 * * 1-5 amixer -c 0 sset 'PCM' 80%
30 22 * * 6,0 amixer -c 0 sset 'PCM' 0%
00 08 * * 6,0 amixer -c 0 sset 'PCM' 80%

# --- ARKIVERING (Hver time) ---
0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1

# --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1" | crontab -
crontab -l
amixer -D hw:UACDemoV10 sset 'PCM' 50%
Last login: Sun Jan 11 23:40:11 2026 from 192.168.86.1
pi@RadioAudio:~ $ crontab -l               # --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -c 1 sset 'PCM' 0%
30 06 * * 1-5 amixer -c 1 sset 'PCM' 80%
30 22 * * 6,0 amixer -c 1 sset 'PCM' 0%
00 08 * * 6,0 amixer -c 1 sset 'PCM' 80%
# --- ARKIVERING (Hver time) ---
0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1
# --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1
pi@RadioAudio:~ $ echo "# --- LYDSTYRING (Volum Av/På) ---
> 30 22 * * 1-5 amixer -c 0 sset 'PCM' 0%
> 30 06 * * 1-5 amixer -c 0 sset 'PCM' 80%
> 30 22 * * 6,0 amixer -c 0 sset 'PCM' 0%
> 00 08 * * 6,0 amixer -c 0 sset 'PCM' 80%
>
> # --- ARKIVERING (Hver time) ---
> 0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1
>
> # --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
> 0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1" | crontab -
pi@RadioAudio:~ $ echo "# --- LYDSTYRING (Volum Av/På) ---   crontab -l
pi@RadioAudio:~ $ crontab -l               # --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -c 0 sset 'PCM' 0%
30 06 * * 1-5 amixer -c 0 sset 'PCM' 80%
30 22 * * 6,0 amixer -c 0 sset 'PCM' 0%
00 08 * * 6,0 amixer -c 0 sset 'PCM' 80%
# --- ARKIVERING (Hver time) ---           0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1                            # --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1
pi@RadioAudio:~ $ amixer -D hw:UACDemoV10 sset 'PCM' 50%
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 147
  Mono:
  Front Left: Playback 74 [50%] [-14.57dB] [on]
  Front Right: Playback 74 [50%] [-14.57dB] [on]
pi@RadioAudio:~ $
Last login: Sun Jan 11 23:40:11 2026 from 192.168.86.1
pi@RadioAudio:~ $ crontab -l               # --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -c 1 sset 'PCM' 0%
30 06 * * 1-5 amixer -c 1 sset 'PCM' 80%
30 22 * * 6,0 amixer -c 1 sset 'PCM' 0%
00 08 * * 6,0 amixer -c 1 sset 'PCM' 80%
# --- ARKIVERING (Hver time) ---
0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1
# --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1
pi@RadioAudio:~ $ echo "# --- LYDSTYRING (Volum Av/På) ---
> 30 22 * * 1-5 amixer -c 0 sset 'PCM' 0%
> 30 06 * * 1-5 amixer -c 0 sset 'PCM' 80%
> 30 22 * * 6,0 amixer -c 0 sset 'PCM' 0%
> 00 08 * * 6,0 amixer -c 0 sset 'PCM' 80%
>
> # --- ARKIVERING (Hver time) ---
> 0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1
>
> # --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
> 0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1" | crontab -
pi@RadioAudio:~ $ echo "# --- LYDSTYRING (Volum Av/På) ---   crontab -l
pi@RadioAudio:~ $ crontab -l               # --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -c 0 sset 'PCM' 0%
30 06 * * 1-5 amixer -c 0 sset 'PCM' 80%
30 22 * * 6,0 amixer -c 0 sset 'PCM' 0%
00 08 * * 6,0 amixer -c 0 sset 'PCM' 80%
# --- ARKIVERING (Hver time) ---           0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1                            # --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1
pi@RadioAudio:~ $ amixer -D hw:UACDemoV10 sset 'PCM' 50%
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 147
  Mono:
  Front Left: Playback 74 [50%] [-14.57dB] [on]
  Front Right: Playback 74 [50%] [-14.57dB] [on]
printf "# --- LYDSTYRING (Volum Av/På) ---
30 22 * * 1-5 amixer -D hw:UACDemoV10 sset 'PCM' 0%%
30 06 * * 1-5 amixer -D hw:UACDemoV10 sset 'PCM' 80%%
30 22 * * 6,0 amixer -D hw:UACDemoV10 sset 'PCM' 0%%
00 08 * * 6,0 amixer -D hw:UACDemoV10 sset 'PCM' 80%%

# --- ARKIVERING (Hver time) ---
0 * * * * /usr/bin/python3 /home/pi/radio_audio/archive_radio.py >> /home/pi/radio_audio/log.txt 2>&1

# --- AUTOMATISK BACKUP (Ukentlig søndager kl 23:00) ---
0 23 * * 0 /usr/bin/python3 /home/pi/radio_audio/upload_ra_backup.py >> /home/pi/radio_audio/backup_log.txt 2>&1
" | crontab -
exit
grep "archive_radio.py" /var/log/syslog | tail -n 20
cat /home/pi/radio_audio/archive.log
ls -lh /home/pi/radio_audio/recordings/
df -h
journalctl -u cron | grep "archive_radio.py" | tail -n 20
du -sh ~/.cache/whisper
touch /home/pi/radio_audio/recordings/scan_20260112_120000.wav
# Vi gjør den stor nok til at skriptet ikke sletter den som "småfil"
truncate -s 1M /home/pi/radio_audio/recordings/scan_20260112_120000.wav
cat /home/pi/radio_audio/log.txt
ls radio_audio/recordings/
pm2 restart all
pm2 start /home/pi/radio_audio/radio_scan.py --name "radio-scanner" --interpreter python3
pm2 save
pm2 restart all
ls radio_audio/recordings/
# Sjekker volumet på lydkortet (erstatt 0 med riktig kortnummer hvis nødvendig)
amixer -c 0 sget 'PCM'
pm2 logs radio-scanner
exit
sudo systemctl status radioaudio.service
journalctl -u radioaudio.service -f
aplay -l
pm2 list
pm2 logs
ls -lh /home/pi/radio_audio/recordings/scan_20260116_034439.wav
grep CRON /var/log/syslog | tail -n 20
tail -f /var/mail/pi
ls -l /home/pi/radio_audio/*.log
journalctl -t CRON | tail -n 20
journalctl -xe | tail -n 50
df -h
tail -n 20 /home/pi/radio_audio/log.txt
crontab -e
crontab -l
pm2 restart radio-scanner
pm2 start radio_audio/radio_scan.py --name "radio-scanner"
pm2 save
pm2 list
pm2 logs radio-scanner --lines 20
Last login: Sat Jan 17 09:18:52 2026 from 192.168.86.1
pm2 startup
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 save
systemctl status pm2-pi
sudo systemctl start pm2-pi
pm2 kill
sudo systemctl start pm2-pi
systemctl status pm2-pi
pm2 logs radio-scanner --lines 5
exit
cat radio_audio/radio_scan.py 
ls radio_audio/recordings/
# Lag en mappe for problemfiler hvis den ikke finnes
mkdir -p /home/pi/radio_audio/corrupt_files
# Flytt den korrupte filen ut av recordings-mappen
mv /home/pi/radio_audio/recordings/scan_20260112_120000.wav /home/pi/radio_audio/corrupt_files/
tail -f /home/pi/radio_audio/log.txt
cat radio_audio/archive_radio.py 
ls radio_audio/
cp radio_audio/radio_scan.py radio_audio/radio_scan_2_0.py
ls radio_audio/
pm2 restart all
pm2 logs radio-scanner --lines 25
cat /home/pi/radio_audio/recordings/navtex_*.log
ls -lh /home/pi/radio_audio/recordings/
pm2 restart radio-scanner
pm2 logs radio-scanner --lines 25
pm2 restart all
ls radio_audio/recordings/
ls -lh radio_audio/recordings/
ls -l radio_audio/recordings/
ls -lh radio_audio/recordings/
ls
cd radio_audio/
ls
cd recordings/
ls
date
ls
date
ls -l
pm2 logs radio-scanner --lines 20
pm2 restart all
pm2 logs radio-scanner --lines 25
pm2 restart all
pm2 logs radio-scanner --lines 25
pm2 restart all
ls
tail -f /home/pi/radio_audio/recordings/navtex_20260118_1850.log
tail -f /home/pi/radio_audio/recordings/navtex_20260118_1935.log
pm2 restart all
ls
pm2 restart all
ls
tail -f /home/pi/radio_audio/recordings/navtex_20260118_1945.log
pm2 restart all
ls
tail -f /home/pi/radio_audio/recordings/navtex_20260118_1955.log
pm2 stop all
rtl_fm -D 2 -M am -f 518000 -s 22050 -
pm2 restart all
ls radio_audio/recordings/
tail -f /home/pi/radio_audio/recordings/navtex_20260118_2002.log
rm radio_audio/recordings/*.log
ls radio_audio/recordings/
pm2 restart all
ls radio_audio/recordings/
tail -f /home/pi/radio_audio/recordings/navtex_20260118_2250.log
ls radio_audio/recordings/
tail -f /home/pi/radio_audio/recordings/navtex_20260118_2250.log
cat radio_audio/recordings/navtex_20260119_0250.log 
cat radio_audio/recordings/navtex_20260119_0650.log 
sudo apt install multimon-ng -y
rtl_fm -M am -f 518000 -s 22050 -E direct2 | multimon-ng -a NAVTEX -t raw -v 1 /dev/stdin
pm2 stop all
rtl_fm -M am -f 518000 -s 22050 -E direct2 | multimon-ng -a navtex -t raw /dev/stdin
sudo apt remove multimon-ng -y
sudo apt install cmake build-essential libpulse-dev libx11-dev -y
cd ~
git clone https://github.com/EliasOenal/multimon-ng.git
cd multimon-ng
mkdir build
cd build
cmake ..
make
sudo make install
multimon-ng -h
rtl_fm -M am -f 518000 -s 22050 -E direct2 | multimon-ng -a NAVTEX -t raw -v 1 /dev/stdin
cd ~/multimon-ng/build
rm -rf *
cmake .. -DALLOW_NONFREE=ON
make
sudo make install
multimon-ng -h | grep -iE "navtex|sitor"
cd ~/multimon-ng/build
sudo make uninstall
sudo apt remove cmake libpulse-dev libx11-dev -y
# Gå hjem og slett kildekoden til multimon
cd ~
rm -rf multimon-ng
# Slett de kompilerte programfilene manuelt (siden uninstall ikke virket)
sudo rm /usr/local/bin/multimon-ng
git clone https://github.com/m0vfc/navtex-rx.git
git clone git://github.com/m0vfc/navtex-rx.git
git clone https://github.com/m0vfc/navtex-rx.git
wget https://github.com/m0vfc/navtex-rx/archive/refs/heads/master.zip
wget https://github.com/m0vfc/navtex-rx/archive/refs/heads/main.zip
mkdir ~/navtex-rx
cd ~/navtex-rx
curl -O https://raw.githubusercontent.com/m0vfc/navtex-rx/master/navtex-rx.c
curl -O https://raw.githubusercontent.com/m0vfc/navtex-rx/master/Makefile
make
nano ~/navtex-rx/nav_decoder.py
pm2 stop all
rtl_fm -M am -f 518000 -s 22050 -E direct2 | python3 -c "import sys; [sys.stdout.write(b.decode('ascii', errors='ignore')) for b in iter(lambda: sys.stdin.buffer.read(1), b'')]"
mkdir -p ~/radio_audio/scripts
ls
cd ~/navtex-rx
rm Makefile navtex-rx.c
# Flytt fila hvis den ligger i navtex-rx
mv ~/navtex-rx/nav_decoder.py ~/radio_audio/scripts/nav_decoder.py
# Slett den nå tomme navtex-rx mappen
cd ~
rmdir navtex-rx
cat ~/radio_audio/scripts/nav_decoder.py
cat << 'EOF' > ~/radio_audio/scripts/nav_decoder.py
import sys

def decode_navtex():
    # Enkel bit-strøm "vasker" for rå-data fra rtl_fm
    while True:
        data = sys.stdin.buffer.read(1024)
        if not data:
            break
        # Dekoder ascii og fjerner tegn som ikke kan leses
        decoded_data = data.decode('ascii', errors='ignore')
        sys.stdout.write(decoded_data)
        sys.stdout.flush()

if __name__ == "__main__":
    decode_navtex()
EOF

cat ~/radio_audio/scripts/nav_decoder.py
pm2 restart all
pm2 list
pm2 log
ls radio_audio/recordings/
rm radio_audio/recordings/navtex_2026011*
ls radio_audio/recordings/
cat ~/radio_audio/archive_radio.py
ls -lh radio_audio/recordings/
exit
cat ~/radio_audio/recordings/recordings_meta.log
pm2 stop all
python3 -c "import whisper; model = whisper.load_model('base'); result = model.transcribe('radio_audio/recordings/scan_20260118_130303.wav'); print(result['text'])"
nohup python3 -c "import whisper; model = whisper.load_model('base'); result = model.transcribe('radio_audio/recordings/scan_20260118_130303.wav'); print(result['text'])" &
ls
cat nohup.out 
for f in ~/radio_audio/recordings/*.wav; do     fname=$(basename "$f");     echo "$(date +%Y-%m-%d\ %H:%M:%S);$fname;Unknown;Gammelt Opptak;0" >> ~/radio_audio/recordings/recordings_meta.log; done
ls radio_audio/recordings/
cat radio_audio/recordings/recordings_meta.log 
pm2 start all
cd radio_audio/recordings/
ls
cat recordings_meta.log 
cat n
cat navtex_20260119_1850.log 
cd radio_audio/recordings/
ls
pm2 status all
ls
pm2 logs radio-scanner --out --lines 20
pkill -f whisper
pkill -f python3
pm2 logs radio-scanner --lines 10
pm2 restart all
pm2 status
crontab -l
amixer -D hw:UACDemoV10 sset 'PCM' 0%
pm2 status
ls -th
ls -t
ls -d
ls -th
exit
ls -lh ~/radio_audio/recordings/
rm ~/radio_audio/recordings/scan_20260118_130303.wav
sed -i '/valid_files = glob.glob/i \    # Slett tomme filer (søppel-rydding)\n    for f in glob.glob(f"{RECORD_DIR}/*.wav"):\n        if os.path.getsize(f) < 10240: # Sletter alt under 10KB\n            os.remove(f)\n' ~/radio_audio/archive_radio.py
cat radio_audio/archive_radio.py 
python3 ~/radio_audio/archive_radio.py force
cat radio_audio/archive_radio.py 
python3 ~/radio_audio/archive_radio.py force
top
nohup python3 ~/radio_audio/archive_radio.py force > ~/radio_audio/archive_run.log 2>&1 &
watch -n 10 "ls -lh ~/radio_audio/recordings/ | head -n 20"
ls -lh ~/radio_audio/recordings/navtex_*.log
pm2 status
tail -n 50 ~/radio_audio/log.txt
rm ~/radio_audio/recordings/navtex_20260119_1850.log
rm ~/radio_audio/log.txt
touch ~/radio_audio/log.txt
sed -i '179,185c\            if not innhold or len(innhold) < 50:\n                os.remove(file_path)\n                continue' ~/radio_audio/archive_radio.py
cat radio_audio/archive_radio.py 
python radio_audio/archive_radio.py 
cat ~/radio_audio/archive_run.log
ls ~/radio_audio/recordings/
cat ~/radio_audio/recordings/recordings_meta.log 
pm2 log
tail -f ~/radio_audio/log.txt
pgrep -fl archive_radio.py
mysql -u $(grep DB_USER ~/key_info.env | cut -d '=' -f2) -p$(grep DB_PASSWORD ~/key_info.env | cut -d '=' -f2) -D $(grep DB_NAME ~/key_info.env | cut -d '=' -f2) -e "SELECT timestamp, navn, tekst FROM radio_archive ORDER BY id DESC LIMIT 5;"
ls -lh ~/radio_audio/recordings/
cat radio_audio/archive_radio.py 
nohup python3 ~/radio_audio/archive_radio.py force >> ~/radio_audio/log.txt 2>&1 &
ls -lh radio_audio/recordings/
cat radio_audio/radio_scan.py 
ls ~/radio_audio/recordings/
tail -n 50 ~/radio_audio/log.txt
pm2 status
pm2 log
pm2 restart all
pm2 log all
pgrep -fl archive_radio.py
tail -f ~/radio_audio/log.txt
pm2 log all
tail -f ~/radio_audio/log.txt
grep -a "ZCZC" ~/radio_audio/recordings/*.log
ls -lh ~/radio_audio/recordings/
python3 -c "
import mysql.connector, os
from dotenv import load_dotenv
load_dotenv('/home/pi/key_info.env')
conn = mysql.connector.connect(host=os.getenv('DB_HOST', 'localhost'), user=os.getenv('DB_USER'), password=os.getenv('DB_PASSWORD'), database=os.getenv('DB_NAME'))
cursor = conn.cursor()
cursor.execute('SELECT timestamp, navn, tekst FROM radio_archive ORDER BY id DESC LIMIT 5')
for r in cursor: print(f'--- {r[0]} | {r[1]} ---\n{r[2]}\n')
conn.close()"
# 1. Lag metadata for de herreløse filene (så skriptet vet hva de er)
for f in ~/radio_audio/recordings/*.wav; do     fname=$(basename "$f");     if ! grep -q "$fname" ~/radio_audio/recordings/recordings_meta.log; then         echo "$(date '+%Y-%m-%d %H:%M:%S');$fname;156.800M;Gammelt Opptak;0" >> ~/radio_audio/recordings/recordings_meta.log;     fi; done
# 2. Tving AI-en til å prosessere alt nå (dette vil ta litt tid pga 271MB)
nohup python3 ~/radio_audio/archive_radio.py force >> ~/radio_audio/log.txt 2>&1 &
tail -f ~/radio_audio/log.txt
conn = mysql.connector.connect(host=os.getenv('DB_HOST', 'localhost'), user=os.getenv('DB_USER'), password=os.getenv('DB_PASSWORD'), database=os.getenv('DB_NAME'))
pm2 status all
pm2 log all
python3 -c "
import mysql.connector, os
from dotenv import load_dotenv
load_dotenv('/home/pi/key_info.env')
conn = mysql.connector.connect(host=os.getenv('DB_HOST', 'localhost'), user=os.getenv('DB_USER'), password=os.getenv('DB_PASSWORD'), database=os.getenv('DB_NAME'))
cursor = conn.cursor()
cursor.execute('SELECT timestamp, navn, tekst FROM radio_archive ORDER BY id DESC LIMIT 5')
for r in cursor: print(f'--- {r[0]} | {r[1]} ---\n{r[2]}\n')
conn.close()"
pm2 log radio-scanner --lines 50
pm2 stop radio-scanner
sudo killall -9 rtl_fm sox aplay python3
pm2 start radio-scanner
ls radio_audio/recordings/
pm2 log radio-scanner --lines 50
pm2 status all
pm2 log radio-scanner --lines 50
ls radio_audio/recordings/
tail -f $(ls -t ~/radio_audio/recordings/navtex_*.log | head -n 1)
pm2 stop radio-scanner
nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
tail -f ~/radio_audio/recordings/navtex_natt_test.log
Last login: Wed Jan 21 22:33:58 2026 from 192.168.86.1
pi@RadioAudio:~ $ tail -f $(ls -t ~/radio_audio/recordings/navtex_*.log | head -n 1)
Enabled direct sampling mode, input 2
Enabled direct sampling mode, input 2/Q.
Tuned to 771575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Allocating 15 zero-copy buffers
Sampling at 1014300 S/s.
Output at 22050 Hz.
pi@RadioAudio:~ $ pm2 stop radio-scanner
[PM2] Applying action stopProcessId on app [radio-scanner](ids: [ 0 ])
[PM2] [radio-scanner](0) ✓
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ radio-scanner      │ fork     │ 0    │ stopped   │ 0%       │ 0b       │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
pi@RadioAudio:~ $ nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
[1] 1370
pi@RadioAudio:~ $ nohup: ignoring input and repi@RadioAudio:~ $ tail -f ~/radio_audio/recordings/navtex_natt_test.log
Enabled direct sampling mode, input 2/Q.
Tuned to 771575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Allocating 15 zero-copy buffers
Sampling at 1014300 S/s.
Output at 22050 Hz.
;~F9
clear
Last login: Wed Jan 21 22:33:58 2026 from 192.168.86.1
pi@RadioAudio:~ $ tail -f $(ls -t ~/radio_audio/recordings/navtex_*.log | head -n 1)
Enabled direct sampling mode, input 2
Enabled direct sampling mode, input 2/Q.
Tuned to 771575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Allocating 15 zero-copy buffers
Sampling at 1014300 S/s.
Output at 22050 Hz.
pi@RadioAudio:~ $ pm2 stop radio-scanner
[PM2] Applying action stopProcessId on app [radio-scanner](ids: [ 0 ])
[PM2] [radio-scanner](0) ✓
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ radio-scanner      │ fork     │ 0    │ stopped   │ 0%       │ 0b       │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
pi@RadioAudio:~ $ nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
[1] 1370
pi@RadioAudio:~ $ nohup: ignoring input and repi@RadioAudio:~ $ tail -f ~/radio_audio/recordings/navtex_natt_test.log
Enabled direct sampling mode, input 2/Q.
Tuned to 771575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Allocating 15 zero-copy buffers
Sampling at 1014300 S/s.
Output at 22050 Hz.
;~F9
tail -f ~/radio_audio/recordings/navtex_natt_test.log
cat ~/radio_audio/recordings/navtex_natt_test.log | head -n 100
grep -a "ZCZC" ~/radio_audio/recordings/navtex_natt_test.log.
grep -a "ZCZC" ~/radio_audio/recordings/navtex_natt_test.log
cat ~/radio_audio/recordings/navtex_natt_test.log | head -n 100
pm2 start all
pm2 log all
rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 35 | python3 /home/pi/radio_audio/scripts/nav_decoder.py
l radio_audio/recordings/
ls radio_audio/recordings/
rm radio_audio/recordings/navtex_natt_test.log 
nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
pm2 status all
pm2 stop all
Last login: Thu Jan 22 20:10:04 2026 from 192.168.86.1
pi@RadioAudio:~ $ rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 35 | python3 /home/pi/radio_audio/scripts/nav_decoder.py
Found 1 device(s):
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to 33.80 dB.
Enabled direct sampling mode, input 2
Enabled direct sampling mode, input 2/Q.
Tuned to 771575 Hz.
Oversampling input by: 46x.
Oversampling output by: 1x.
Buffer size: 8.08ms
Exact sample rate is: 1014300.020041 Hz
Allocating 15 zero-copy buffers
Sampling at 1014300 S/s.
Output at 22050 Hz.
qiA1klbc,;qJcI"}xxx}xxxx}}}x}x}}}}xx}}xxs}}x}}}}}}}xx}}}x}x}}xx}}x}}}x}xx}}xxx}x}sx}xnx}x}x}}}x}x}x}}x}}x}}}}}x}}}x}}}}xx}}}nx}x}x}}}}x}}x}x}}}}}}}x}x}}}}x}}}s}}}}x}}x}}}}}}}}xx}}}ss}}x}}x}}}}x}}xx}}}sxx}x}}}s}}x}}}}}dx}}}}n}}xx}x}x}}x}sxxsx}xxxx}}}}}x}}}}xs}x}}}}x}x}sx}x}x}}}}}}}x}x}}}xx}xx}}x}}}}sx}x}}}}}}x}x}}s}}x}xdx}}s}d}}}}nxx}}}xx}xx}x}}}}sxxx}}x}}x}xsd}}}}x}pi@RadioAudio:~ $ l radio_audio/recordings/
-bash: l: command not found
pi@RadioAudio:~ $ ls radio_audio/recordings/
navtex_natt_test.log
recordings_meta.log
scan_20260122_063337.wav
scan_20260122_064342.wav
scan_20260122_093651.wav
scan_20260122_094052.wav
scan_20260122_095057.wav
scan_20260122_100103.wav
scan_20260122_100545.wav
scan_20260122_101550.wav
scan_20260122_102332.wav
scan_20260122_102341.wav
scan_20260122_102350.wav
scan_20260122_102359.wav
scan_20260122_102408.wav
scan_20260122_102416.wav
scan_20260122_102425.wav
scan_20260122_102434.wav
scan_20260122_102443.wav
scan_20260122_102452.wav
scan_20260122_102501.wav
scan_20260122_102510.wav
scan_20260122_102519.wav
scan_20260122_102528.wav
scan_20260122_102536.wav
scan_20260122_102545.wav
scan_20260122_103551.wav
scan_20260122_104556.wav
scan_20260122_213751.wav
scan_20260122_213759.wav
scan_20260122_213810.wav
scan_20260122_214248.wav
scan_20260122_214302.wav
scan_20260122_214322.wav
scan_20260122_214404.wav
scan_20260122_214427.wav
scan_20260122_214434.wav
scan_20260122_214442.wav
scan_20260122_214449.wav
scan_20260122_214457.wav
scan_20260122_214504.wav
scan_20260122_214512.wav
scan_20260122_214519.wav
scan_20260122_214526.wav
scan_20260122_214534.wav
scan_20260122_214541.wav
scan_20260122_214548.wav
scan_20260122_214556.wav
scan_20260122_214603.wav
scan_20260122_214611.wav
scan_20260122_214618.wav
scan_20260122_214625.wav
scan_20260122_214633.wav
scan_20260122_214640.wav
scan_20260122_214648.wav
scan_20260122_214655.wav
scan_20260122_214702.wav
scan_20260122_214710.wav
scan_20260122_214717.wav
scan_20260122_214725.wav
scan_20260122_214732.wav
scan_20260122_214739.wav
scan_20260122_214747.wav
scan_20260122_214754.wav
scan_20260122_214801.wav
scan_20260122_214809.wav
scan_20260122_214816.wav
scan_20260122_214823.wav
scan_20260122_214831.wav
scan_20260122_214838.wav
scan_20260122_214845.wav
scan_20260122_214853.wav
scan_20260122_214857.wav
scan_20260122_214904.wav
scan_20260122_214912.wav
scan_20260122_214919.wav
scan_20260122_214927.wav
scan_20260122_214934.wav
scan_20260122_214942.wav
scan_20260122_214949.wav
scan_20260122_214957.wav
scan_20260122_215004.wav
scan_20260122_215011.wav
scan_20260122_215018.wav
pi@RadioAudio:~ $ rm radio_audio/recordings/navtex_natt_test.log
pi@RadioAudio:~ $ nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
[1] 3096
pi@RadioAudio:~ $ nohup: ignoring input and redirecting stderr to stdout
pi@RadioAudio:~ $
nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
tail -f ~/radio_audio/recordings/navtex_natt_test.log
grep -a "ZCZC" ~/radio_audio/recordings/navtex_natt_test.log
tail -f ~/radio_audio/recordings/navtex_natt_test.log
sudo killall -9 rtl_fm
nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 30 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
tail -f ~/radio_audio/recordings/navtex_natt_test.log
grep -a "ZCZC" ~/radio_audio/recordings/navtex_natt_test.log
pm2 status all
ls radio_audio/recordings/
pm2 stop all
pm2 status all
rm radio_audio/recordings/navtex_natt_test.log 
nohup rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 30 | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_natt_test.log 2>&1 &
ls radio_audio/recordings/
grep -a "ZCZC" ~/radio_audio/recordings/navtex_natt_test.log
ls -lh radio_audio/recordings/
strings ~/radio_audio/recordings/navtex_natt_test.log | head -n 50
timeout 60s rtl_fm -M am -f 518000 -s 22050 -E direct2 -g 40 test_signal.raw
rm radio_audio/recordings/navtex_natt_test.log 
rtl_fm -f 518k -M am -s 22050 -E direct2 -g 40
rtl_fm -f 518000 -M am -s 1024k -E direct2 -g 40 | python3 /home/pi/radio_audio/scripts/nav_decoder.py
rtl_fm -f 518000 -M am -s 22050 -g 40 -E direct2 -A fast -l 0
rtl_fm -f 518000 -M am -s 1000k -E direct2 -g 45
rtl_fm -f 518000 -M am -s 1000k -E direct2 -g 45 -n 20
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 45 -O
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 45 -O -n 50
rtl_fm -f 518k -M am -s 1024k -E direct2 -g 45 2>&1 | head -n 20
rtl_sdr -f 518000 -s 1024000 -g 45 -D 2 -n 1000000 /dev/null
strings ~/radio_audio/recordings/navtex_natt_test.log | head -n 50
nohup rtl_sdr -f 518000 -s 1024000 -g 45 -D 2 - | python3 /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_fangst.log 2>&1 &
strings ~/radio_audio/recordings/navtex_fangst.log | tail -n 50
ls radio_audio/recordings/
cat radio_audio/recordings/navtex_fangst.log 
ps aux | grep 3774
ls -lh ~/radio_audio/recordings/navtex_fangst.log
ps aux | grep rtl_sdr
ls -l ~/radio_audio/recordings/navtex_fangst.log
ls -l ~/radio_audio/recordings/
ls  ~/radio_audio/recordings/
nohup rtl_sdr -f 518000 -s 1024000 -g 45 -D 2 - | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/navtex_rogaland.log 2>&1 &
cat  ~/radio_audio/archive_r
cat  ~/radio_audio/archive_radio.py 
# Stopp den du startet
killall rtl_sdr python3
# Start på nytt med et "trygt" filnavn
nohup rtl_sdr -f 518000 -s 1024000 -g 45 -D 2 - | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py >> /home/pi/radio_audio/recordings/rogaland_test.txt 2>&1 &
ls -l /home/pi/radio_audio/recordings/rogaland_test.txt
date
ls -l /home/pi/radio_audio/recordings/rogaland_test.txt
date
grep -a "ZCZC" ~/radio_audio/recordings/rogaland_test.txt 
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 100000000 /home/pi/radio_audio/recordings/jeloya_raw.bin
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 50000000 /home/pi/radio_audio/recordings/test_raw_1100.bin
ls -lh /home/pi/radio_audio/recordings/test_raw_1100.bin
find ~/radio_audio -name "test_raw_1100.bin"
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 10000000 /home/pi/test_mottak.bin
ls -l /home/pi/test_mottak.bin
touch ~/testfil.txt && ls -l ~/testfil.txt
cd ~
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 test.bin
ls -l test.bin
top
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 10000000 > ~/test_fangst.bin
ls -l ~/test_fangst.bin
sudo killall -9 rtl_sdr
dmesg | tail -n 20
lsusb
lsmod | grep rtl
sudo sh -c 'echo 0 > /sys/module/usbcore/parameters/usbfs_memory_mb'
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 -b 1 ~/test_pi5.bin
ls -l ~/test_pi5.bin
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 - > ~/test_pi5_nød.bin
ls -l ~/test_pi5_nød.bin
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-rtl.conf
sudo reboot
pm2 stop all
sudo killall -9 rtl_sdr rtl_fm python3
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 ~/test_etter_reboot.bin
ls -l ~/test_etter_reboot.bin
sudo rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 /home/pi/test_sudo.bin
ls -l ~/test_etter_reboot.bin
rtl_sdr 2>&1 | head -n 1
# Installer verktøyene som trengs for å bygge ny driver
sudo apt-get update
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 ~/test_ny_driver.bin
ls -l ~/test_ny_driver.bin
# 1. Installer nødvendige verktøy (hvis ikke gjort)
sudo apt-get install cmake build-essential libusb-1.0-0-dev git -y
rtl_sdr 2>&1 | head -n 1
cd ~/rtl-sdr/build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make -j$(nproc)
cd ~ && git clone https://github.com/osmocom/rtl-sdr.git
cd ~/rtl-sdr && mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make -j$(nproc)
sudo make install
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 ~/test_endelig_funk.bin
ls -l ~/test_endelig_funk.bin
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 5000000 ~/test_automatisk.bin
ls -l ~/test_automatisk.bin
sudo udevadm control --reload-rules
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 - > /dev/null
sudo reboot
pm2 stop all
sudo killall -9 rtl_sdr rtl_fm
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 ~/test_etter_reboot.bin
rtl_test -s 256000
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 /dev/shm/test.bin
ls -l /dev/shm/test.bin
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 - > ~/test_pipe.bin
ls -l ~/test_pipe.bin
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1000000 -b 1 -v ~/test_pi5_fix.bin
rtl_fm -f 518000 -s 256000 -g 45 -M am - | cat > ~/test_fm.bin
ls -l ~/test_fm.bin
rtl_fm -f 518000 -M am -s 256000 -g 45 -D 2 - > /dev/null
rtl_fm -f 518000 -M am -s 256000 -g 45 -E direct2 - > /dev/null
rtl_fm -f 518000 -M raw -s 256000 -g 45 -E direct2 -E dc - | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -b 16384 -n 2000000 ~/test_final_pi5.bin
rtl_fm -f 518000 -M raw -s 256000 -g 45 -E direct2 -E edge -E dc -
# 1. Sett frekvensen (denne vil krasje, det er OK, den har da satt maskinvaren til 518k)
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1 /dev/null
# 2. Start dekodingen ved å bruke rtl_test som rådatakilde
rtl_test -b 1 -s 256000 2>/dev/null | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py
nohup sh -c "rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1 /dev/null && rtl_test -b 1 -s 256000 2>/dev/null | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py" > /home/pi/navtex_output.log 2>&1 &
tail -f /home/pi/navtex_output.log
cat << 'EOF' > ~/start_navtex.sh
#!/bin/bash

# 1. Stopp eventuelle gamle prosesser for å frigjøre radioen
sudo killall -9 rtl_test python3 2>/dev/null
sleep 2

# 2. Begrens loggfilen til de siste 10 000 linjene hvis den eksisterer
if [ -f ~/navtex_output.log ]; then
    tail -n 10000 ~/navtex_output.log > ~/navtex_output.log.tmp && mv ~/navtex_output.log.tmp ~/navtex_output.log
fi

# 3. Lås frekvensen til 518 kHz (Pi 5 workaround)
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1 /dev/null

# 4. Start mottaket i bakgrunnen med nohup
nohup sh -c "rtl_test -b 1 -s 256000 2>/dev/null | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py" >> /home/pi/navtex_output.log 2>&1 &

echo "NAVTEX-mottak startet i bakgrunnen."
echo "Følg med på loggen med: tail -f ~/navtex_output.log"
EOF

# Gjør scriptet kjørbart
chmod +x ~/start_navtex.sh
./start_navtex.sh
tail -f ~/navtex_output.log
cat << 'EOF' > ~/start_navtex.sh
#!/bin/bash

# 1. Stopp gamle prosesser
sudo killall -9 rtl_test python3 2>/dev/null
sleep 2

# 2. Rotering av logg
if [ -f ~/navtex_output.log ]; then
    tail -n 1000 ~/navtex_output.log > ~/navtex_output.log.tmp && mv ~/navtex_output.log.tmp ~/navtex_output.log
fi

# 3. Lås hardware til 518kHz
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1 /dev/null

# 4. Start bakgrunnsprosess
nohup sh -c "rtl_test -b 1 -s 256000 2>/dev/null | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py" >> /home/pi/navtex_output.log 2>&1 &

echo "Systemet er startet."
EOF

# Kjør scriptet
./start_navtex.sh
pgrep -fl rtl_test && pgrep -fl python3
grep -a "ZCZC" -A 20 ~/navtex_output.log
tail -n 20 ~/navtex_output.log
ps -p 1590,1591
sudo killall -9 rtl_test python3 2>/dev/null
pgrep -fl rtl_test && pgrep -fl python3
ls -l ~/navtex_output.log
sudo killall -9 rtl_test python3 2>/dev/null
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 1 /dev/null
nohup sh -c "rtl_test -b 1 -s 256000 2>/dev/null | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py" >> /home/pi/navtex_output.log 2>&1 &
pgrep -fl rtl_test && pgrep -fl python3
ls -l ~/navtex_output.log
sudo killall -9 rtl_test rtl_fm python3 2>/dev/null
rtl_fm -f 518000 -M raw -s 256000 -g 45 -E direct2 - | python3 -u /home/pi/radio_audio/scripts/nav_decoder.py | tee -a ~/navtex_output.log
ls -l ~/navtex_output.log
tail -n 20 ~/navtex_output.log
grep -a "ZCZC" -A 20 ~/navtex_output.log 
strings ~/navtex_output.log | grep -E "[A-Z]{3,}" | head -n 20
strings ~/navtex_output.log | grep -E "[A-Z]{3,}" | head -n 150
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -n 2560000 ~/sjekk_signal.bin
ls
pgrep -fl rtl_test && pgrep -fl rtl_fm && pgrep -fl python3
tail -f ~/navtex_output.log
dmesg | tail -n 20
lsusb | grep -i realtek
pgrep -fl rtl_test && pgrep -fl python3
# Slett alle filer som starter med "EEEE"
rm EEEE*
# Slett filer med andre rare tegn (vær forsiktig, denne tar alt som ikke er mapper/vanlige scripts)
# Det er tryggest å bare slette de du ser i lista di manuelt om rm EEEE* ikke tar alt.
echo "options rtl-sdr rtl_sdr_async_buffers=0" | sudo tee /etc/modprobe.d/rtl-sdr.conf
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -b 16384 -n 2560000 ~/test_stabil.bin
echo 1000 | sudo tee /sys/module/usbcore/parameters/usbfs_memory_mb
rtl_sdr -f 518000 -s 256000 -g 45 -D 2 -b 16384 -n 2560000 ~/test_stabil.bin
rtl_sdr -f 518000 -s 250000 -g 45 -D 2 -b 32768 -n 2500000 ~/test_stabil.bin
rtl_sdr -f 518000 -s 250000 -g 45 -D 2 -p 20 -n 2500000 ~/test_stabil.bin
vclog -m
sudo vclog -m
export RTL_SDR_NO_ZEROCOPY=1
rtl_sdr -f 518000 -s 250000 -g 45 -D 2 -n 2500000 ~/test_stabil.bin
# Legg til parameteren på nytt for sikkerhets skyld
echo "options rtl-sdr rtl_sdr_async_buffers=0" | sudo tee /etc/modprobe.d/rtl-sdr.conf
# Last ut og inn driveren manuelt (uten reboot)
sudo modprobe -r dvb_usb_rtl28xxu 2>/dev/null
sudo modprobe dvb_usb_rtl28xxu
rtl_sdr -f 518000 -s 250000 -g 45 -D 2 -n 1000000 /dev/null
pm2 start all
p,2 stop all
pm2 stop all
lsusb
# Se etter "Realtek Semiconductor Corp. RTL2838 DVB-T"
rtl_sdr -D 2 -f 518000 -s 2048000 -b 16384 test_navtex.bin
rtl_sdr -D 2 -f 518000 -s 2048000 -g 40 - | sodira -t navtex
rtl_sdr -D 2 -f 518000 -s 2048000 -g 40 - | python3 ~/radio_audio/navtexrtlsdr.py
pm2 start "rtl_sdr -D 2 -f 518000 -s 2048000 -g 40 - | python3 ~/radio_audio/navtexrtlsdr.py" --name navtex-receiver
pm2 logs navtex-receiver --lines 200
pm2 logs navtex-receiver --lines 50 --no-daemon
cat ~/navtex_log.txt
find ~ -name "navtex_log.txt"
pm2 stop navtex-receiver
rtl_power -D 2 -f 500k:536k:1k -g 40 -i 30s navtex_scan.csv
cat navtex_scan.csv | awk -F, '{print $7}' | sort -n | sed -n '1p;$p'
pm2 kill
sudo fuser -k 518000/tcp  # Stopper eventuelle låste radioprosesser
rtl_power -D 2 -f 517k:519k:0.1k -g 40 -i 10s /home/pi/test_snr.csv
ls -lh /home/pi/test_snr.csv
date
rtl_power -f 100M:101M:1M -i 5s /home/pi/test_fm.csv
date
rtl_sdr -D 2 -f 518000 -s 1000000 -n 5000000 test_signal.bin
ls -lh test_signal.bin
cat test_signal.bin | od -t u1 -N 1000 | awk '{sum+=$2; n++} END {print sum/n}'
dmesg | tail -n 20
rtl_sdr -D 2 -f 518000 -s 250000 -n 1000000 /home/pi/liten_test.bin
df -h
# Slett den store loggfila hvis den finnes i hjemmemappaææ
rm ~/navtex_log.txt
rm ~/test_navtex.bin
rm ~/test_signal.bin
# Finn og slett filer over 500MB (hvis du har glemt hvor de ligger)
find ~ -size +500M
df -h
rtl_sdr -D 2 -f 518000 -s 250000 -n 1000000 /tmp/ramtest.bin
ls -lh /tmp/ramtest.bin
rm /home/pi/navtex_output.log
rm /home/pi/.pm2/logs/radio-scanner-out.log
# Hvis du ikke trenger Whisper-modellene akkurat nå (de kan lastes ned igjen):
rm /home/pi/.cache/whisper/*.pt
export RTL_SDR_NO_ZEROCOPY=1
rtl_sdr -D 2 -f 518000 -s 250000 -n 1000000 /home/pi/test_stabil.bin
df -h
date
rtl_sdr -D 2 -f 518000 -s 250000 -n 1000000 - > /home/pi/pipe_test.bin
ls -lh /home/pi/pipe_test.bin
sudo apt-get purge librtlsdr0 rtl-sdr -y
sudo apt-get update
cd ~
git clone https://github.com/osmocom/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-rtl.conf
sudo depmod -a
sudo reboot
pm2 stop all
rtl_sdr -D 2 -f 518000 -s 250000 -n 1000000 ~/ny_driver_test.bin
ls -lh ~/ny_driver_test.bin
rtl_sdr -D 2 -f 518000 -s 1000000 -n 10000 -
rtl_test -t
sudo pkill rtl_sdr
sudo pkill rtl_fm
sudo pkill rtl_test
rtl_test -t
rtl_test -s 1024000
rtl_sdr -D 2 -f 518000 -s 1024000 -g 0 -n 1000000 /dev/null
rtl_test -s 1024000
rtl_fm -D 2 -M am -f 518k -s 22050 -g 40 | multimon-ng -a NAVTEX -t raw /dev/stdin
sudo apt-get update
rtl_fm -E direct2 -M am -f 518k -s 22050 -g 40 | multimon-ng -a NAVTEX -t raw /dev/stdin
apt-get install multimon-ng -y
sudo apt-get install multimon-ng -y
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 | multimon-ng -a NAVTEX -t raw /dev/stdin
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -A fast - | multimon-ng -a navtex -t raw -
pm2 start "rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -A fast - | multimon-ng -a navtex -t raw - >> ~/navtex_fangst.txt" --name navtex-mottaker
rm ~/ny_driver_test.bin ~/pipe_test.bin ~/liten_test.bin
rm ~/navtex_test.csv ~/test_fm.csv ~/test_snr.csv
rm ~/test_signal.bin
rm -rf ~/rtl-sdr
sudo apt autoremove -y
pm2 flush
cat ~/navtex_fangst.txt
pm2 logs navtex-mottaker --lines 10 --no-daemon
multimon-ng -h | grep -i nav
sudo apt-get update && sudo apt-get install qtbase5-dev libpulse-dev libx11-dev -y
pm2 stoo all
cd ~ && rm -rf multimon-ng
git clone https://github.com/EliasOenal/multimon-ng.git
cd multimon-ng && mkdir build && cd build
cmake .. && make
sudo make install && sudo ldconfig
multimon-ng -h
multimon-ng -h | grep -i SITOR
sudo apt-get update && sudo apt-get install fldigi -y
wget https://raw.githubusercontent.com/f4fsk/navtex/master/navtex-rx.py
sudo apt-get install python3-numpy python3-scipy -y
wget https://raw.githubusercontent.com/f4fsk/navtex/master/navtex-rx.py
sudo apt-get install python3-numpy python3-scipy -y
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 | python3 navtex-rx.py
sudo apt-get install python3-numpy python3-scipy -y && wget https://raw.githubusercontent.com/f4fsk/navtex/master/navtex-rx.py
cd ~
git clone https://github.com/vsergeev/multimon-ng.git multimon-navtex
cd ~
rm -rf multimon-navtex
git clone https://github.com/vsergeev/multimon-ng.git multimon-navtex
cd ~
wget https://github.com/vsergeev/multimon-ng/archive/refs/heads/master.zip
unzip master.zip
mv multimon-ng-master multimon-navtex
rm master.zip
cd ~
wget https://github.com/EliasOenal/multimon-ng/archive/refs/tags/1.3.1.zip
unzip 1.3.1.zip
cd multimon-ng-1.3.1
mkdir build && cd build
cmake .. && make
sudo make install
multimon-ng -h
cd ~ && rm -rf multimon-ng multimon-ng-1.3.1 multimon-navtex
git clone --depth 1 https://github.com/vsergeev/multimon-ng.git
cd ~
rm -rf multimon-ng
wget https://github.com/vsergeev/multimon-ng/archive/refs/heads/master.zip
unzip master.zip
mv multimon-ng-master multimon-ng
rm master.zip
sudo pkill -9 rtl_fm
sudo pkill -9 rtl_sdr
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 | fldigi --headless --navtex --xmlrpc-read-only
cd ~
rm -rf multimon-ng
wget https://codeload.github.com/vsergeev/multimon-ng/zip/refs/heads/master -O multimon.zip
unzip multimon.zip
mv multimon-ng-master multimon-ng
rm multimon.zip
cd ~
rm -rf multimon-ng
git clone https://github.com/vsergeev/multimon-ng.git
cd ~
mkdir -p navtex-decoder/src
cd navtex-decoder
# Hent de kritiske filene direkte
curl -L https://raw.githubusercontent.com/fventuri/navtex/master/src/navtex_decoder.c -o src/navtex_decoder.c
curl -L https://raw.githubusercontent.com/fventuri/navtex/master/src/navtex_decoder.h -o src/navtex_decoder.h
curl -L https://raw.githubusercontent.com/fventuri/navtex/master/src/navtex_rx_from_file.c -o src/navtex_rx_from_file.c
curl -L https://raw.githubusercontent.com/fventuri/navtex/master/CMakeLists.txt -o CMakeLists.txt
mkdir build && cd build
cmake .. && make
nohup timeout 1920 rtl_fm -f 518000 -M am -s 1024k -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
cat navtex_log.txt
pm2 stop navtex-mottaker
sudo pkill -9 rtl_fm
pm2 stop navtex-mottaker && sudo pkill -9 rtl_fm && sudo pkill -9 rtl_sdr
sudo pkill -9 rtl_fm
sudo pkill -9 rtl_sdr
nohup timeout 1920 rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
cat navtex_log.txt
sudo reboot
nohup timeout 1920 rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
cat navtex_log.txt
pm2 stop all && pm2 unstartup && sudo pkill -9 rtl_fm && sudo pkill -9 rtl_sdr && nohup timeout 1920 rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
cat navtex_log.txt
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 unstartup systemd -u pi --hp /home/pi
pm2 stop all && sudo pkill -9 rtl_fm && sudo pkill -9 rtl_sdr && sleep 2 && nohup timeout 1920 rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
cat navtex_log.txt
pm2 kill && sudo modprobe -r dvb_usb_rtl28xxu && sudo modprobe dvb_usb_rtl28xxu
rtl_fm -f 518000 -M am -s 22050 -E direct2 -g 40 -p 0 test.wav
nohup timeout 1920 rtl_fm -f 518000 -M am -s 1200k -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1 &
ps aux | grep rtl_fm
cat navtex_log.txt
ls -lh navtex_trippel_opptak.wav
df -h
killall rtl_fm && rm navtex_trippel_opptak.wav test.wav
echo "nohup timeout 1920 rtl_fm -f 518000 -M am -s 1200k -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1" | at 13:49
sudo apt install at -y
echo "nohup timeout 1920 rtl_fm -f 518000 -M am -s 1200k -E direct2 -g 40 -p 0 navtex_trippel_opptak.wav > navtex_log.txt 2>&1" | at 13:49
atq
ls -lh navtex_trippel_opptak.wav
sox navtex_trippel_opptak.wav -r 22050 navtex_vasket.wav sinc 517.9k-518.1k trim 600
sox -t raw -r 1200k -e signed-integer -b 16 -c 1 navtex_trippel_opptak.wav -r 22050 navtex_vasket.wav sinc 517.9k-518.1k trim 600
sox navtex_vasket.wav -n stat
sox -t raw -r 1200k -e signed-integer -b 16 -c 1 navtex_trippel_opptak.wav -n stat
sox -t raw -r 1200k -e signed-integer -b 16 -c 1 navtex_trippel_opptak.wav -n spectrogram -o sjekk_frekvenser.png
rm -f navtex_trippel_opptak.wav navtex_vasket.wav test_*.wav sjekk_frekvenser.png navtex_log.txt test.wav
pm2 kill
df -h
cat ~/.pm2/dump.pm2
pm2 list
pm2 start tadio-scanning
pm2 resurrect
pm2 save
pm2 startup
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 start /home/pi/radio_audio/radio_scan.py --name "radio-scanner"
pm2 save
