Waar deze software oorspronkelijk bedoeld was voor een Raspy, wordt hier getoond hoe hij eveneens bruikbaar is op een oude PC of laptop.
Zelf heb deze software meer dan een jaar draaiende gehad op een EEEPC, met 1Gb geheugen en Puppy Linux.
Hierdoor heeft deze hardware toch nog een nut gehad en had ik 24/24 een WSPR monitor in de lucht, zonder een andere modernere PC hiervoor op te offeren.
RTLSDR is een programma dat autonoom draait, zonder user interface en voorzien is om op een Raspi3 met een RTL dongle WSPR pakketten te ontvangen en door te sturen naar WSPRNET.ORG.
Hierdoor kan je eenvoudige luisterstations maken, zodat het WSPRnet van ontvangststations goedkoop kan uitgebouwd worden.
Het is absoluut noodzakelijk dat je clock perfect synchroon loopt, dus een NTP client en desnoods regelmatige updates zijn geen overbodige luxe.
Indien je, zoals ik, dit automatische voor maanden laat lopen, zorg dan voor een sync op regelmatige tijdstippen.
Wij gaan deze software compileren en gebruiken op een PC installatie van Linux, wat een paar extra’s vraagt.
Open een terminal en installeer de curl en rtlsdr
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install librtlsdr-dev
Open een browser en ga naar
https://github.com/Guenael/rtlsdr-wsprd
en download het zip package van de master branch.
Deze zal terug te vinden zijn in ~/Downloads
Bewaar de file door Save te kiezen in ~/Download folder
Ga naar deze folder en pak de file uit.
Ga via een console naar deze folder en voer het volgende commando uit:
Bewegen door folders doe je dmv cd, door op de tab toets te drukken na het eerste deel van een path in te geven, wordt het vervolledigd. Dit spaart je tijpwerk..
Geef je
cd ~/Downloads/rtlsdr-wsprd-master
als commando in, dan kom je er rechtstreeks op uit.
Om van de sourcecode een werkbaar geheel te maken gebruiken we het volgende commando:
make
-> hierdoor zal de file gemaakt worden, je ziet dat GCC wordt aangesproken enz.
Het programma staat nu in de folder
~/Downloads/rtlsr-wsprd-master/
Je kan het programma opstarten, nadat je je rtl dongle hebt ingestoken vanuit deze console door het geven van een commando, zoals hieronder weergegeven:
sudo ./rtlsdr-wsprd -f 7.0386M -c ON4AWM -l JO20OT -d 2 -a 1
De -d 2 slaat op Direct sampling Q channel, -g voor gain, -a voor AGC en -S voor Single sampling.
Ctrl-Z voor het stoppen, waarna je even de dongle moet verwijderen om hem terug te kunnen opstarten, dit omdat het proces niet proper kan worden afgesloten.
De software is voorzien om te draaien als service.
De dongle kan standaard alleen benaderd worden door de root gebruiker, wat niet echt de bedoeling is.
We gaan de dongle laten detecteren en er access rechten opzetten voor de admin groep.
Controleer hoe de dongle gekend wordt op USB
lsusb
-> Bus 002 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Met het commando
ls -l /dev/bus
kan je achterhalen wie rechten heeft op de USB, meestal is dit root.
Voeg een gebruiker toe aan de root groep, zodat deze rechten krijgt op het device.
sudo useradd -a -G root walter
Maak het volgende script aan in de folder van ~/Downloads/rtlsdr-wsprd-master.
wspr_start
#!/bin/bash
~/Downloads/rtlsdr-wsprd-master/rtlsdr_wsprd -f 7.0386M -c ON4AWM -l JO20OT -d 2 -a 1
pas de rechten aan van het script
chmod a+x wspr_start
Start nu het programma zonder sudo.
./wspr_start
Hierdoor kan je voor deze zaken een shortcut of een reeks van script files maken om het automatisch te kunnen laten lopen.
We gaan per band waar we willen ontvangen een file aanmaken met de nodige settings.
Deze file zorgt er tevens voor dat de voorgaande “run” van de wsprd wordt gestopt bij het omschakelen en dat hiervan een melding wordt gemaakt in een log file.
Maak per band die je wil beluisteren een script zoals het volgende op je desktop (~~/Desktop)
Geef ze een naam die overeenkomt met de band, vb 20m. freq vind je op wsprnet.org.
Maak het uitvoerbaar (chmod a+x).
script file inhoud:
je kan deze van hieruit kopiëren, dat maakt het een stuk eenvoudiger.
De paden waar de software wordt gevonden etc, zijn aangepast aan onze installatieprocedure, zoals voorheen beschreven.
Pas je gegevens aan, zoals call en locator.
De frequenties per band kan je vinden op wsprnet.org
#!/bin/bash
# # # Edit following variable with your correct data # # # #
call="on4awm"
gain="-a 1"
locator="jo20ot"
hz="14.0956M"
info_rx="Start reception 20 meters"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##
sleep 1
pgrep rtlsdr_wsprd > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo $'\n'"---Kill rtlsdr_wsprd pid---" >> /home/walter/wsprd-log
killall rtlsdr_wsprd &>> /home/walter/wsprd-log
fi
echo $'\n'"$(date)" >> /home/walter/wsprd-log
echo "$info_rx"$'\n' >> /home/walter/wsprd-log
sleep 1
#open second terminal for visual output, no file logging
qterminal -e /home/walter/Downloads/rtlsdr-wsprd-master/rtlsdr_wsprd -f "$hz" -c "$call" -l "$locator" "$gain" -d 2
#run in background with output to a file
#/home/walter/Downloads/rtlsdr-wsprd-master/rtlsdr_wsprd -f "$hz" -c "$call" -l "$locator" "$gain" -d 2 &>> /home/walter/wsprd-log &
Er wordt een logfile gemaakt zijnde /root/Desktop/wsprd-log.
In deze file zal je enkel de tijdstippen terug vinden van het omschakelen van de banden, als je het programma op de voorgrond laat draaien, anders vind je hier alle scherm output in terug.
Als je klikt op het icoon op de desktop, kies dan voor execute om de file uit te voeren.
Nadien zal hij vanuit de crontab gebruikt worden.
Editeer de crontab voor het aanmaken van de tijdsturing
sudo nano /etc/crontab
Uitleg om te begrijpen wat er op de website staat:
formaat minuten uren datum maand dagvdweek commando :
00 7,16 * * * /root/my-applications/bin/20m
-> Dit zegt dat het script 2x wordt uitgevoerd, op de 00 minuut op het uur 7 en uur 16.
Voorbeeld om op de volgende momenten, QRV te zijn op de betreffende banden:
07:00/13:00 receive 20 meters
13:00/16:00 receive 30 meters
16:00/17:00 receive 20 meters
17:00/21:00 receive 30 meters
21:00/23:00 receive 40 meters
23:00/02:00 receive 80 meters
02:00/07:00 receive 40 meters
Kan je de volgende crontab instellen
00 7,16 * * * /home/walter/Desktop/20m
00 13,17 * * * /home/walter/Desktop/30m
00 21,2 * * * /home/walter/Desktop/40m
00 23 * * * /home/walter/Desktop/80m
Na het aanpassen van de crontab, herstart de crond.
systemctl restart cron
Door het opvragen van de status kan je zien dat de commando’s zijn toegevoegd en de crond draait
systemctl status cron