
Geïnspireerd door Richard PD3RFR die al geruime tijd een iGate in de shack heeft draaien, heeft Michiel PC7MM ook een iGate gebouwd met gebruikmaking van een Raspberry en een RTL-SDR. Hij heeft ervoor gekozen de iGate “from scratch” op te bouwen op basis van Raspberry Pi OS Lite. Aanleiding voor deze keuze was de ervaring dat de diverse kant-en-klaar images met bijbehorende instructies die via internet te verkrijgen zijn, vaak niet onderhouden zijn, waardoor ze verouderd zijn en derhalve niet altijd goed werken.
Met dank aan PD3RFR voor het ter beschikking stellen van zijn YouTube kanaal, is onderstaande video te bekijken waarin Michiel PC7MM stap voor stap laat zien hoe je een RX-only APRS iGate kunt bouwen met gebruikmaking van een Raspberry Pi (model 4b) en een RTL-SDR (v3). De gebouwde APRS iGate ontvangt APRS signalen op 144.800MHz via de RTL-SDR en verstuurt de ontvangen APRS informatie via internet naar www.aprs.fi. De iGate is voorzien van een eigen web interface waarop de activiteit van de iGate te zien is.
Wellicht volgt er in de toekomst nog een tweede video die ingaat op hoe je een RX/TX APRS iGate kunt bouwen, die via op 144.800MHz ontvangen APRS signalen via 144.800MHz ook weer uitzendt. De RTL-SDR zal dan vervangen worden door een transceiver met USB geluidskaart en de Direwolf software zal dan niet alleen zorgen voor het decoderen van ontvangen APRS packets, maar ook voor het coderen van via de gebruikte transceiver te verzenden APRS packets.
Klik HIER voor een link naar de web interface van de operationele en vanaf internet toegankelijke iGate van Richard PD3RFR, die gebaseerd is op dezelfde hardware en software componenten als die Michiel PC7MM hanteert in onderstaande video.
Hieronder volgt een opsomming van de Bash commando’s zoals deze in de video zijn uitgevoerd, alsmede een opsomming van de inhoud van de diverse configuratiebestanden.
Bash commando’s
Repeat this command until this message appears: “0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded”
sudo apt-get update -y ; sudo apt-get upgrade -y ; sudo apt-get full-upgrade -y
Repeat this command until this message appears: “0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded”
sudo apt-get install git gcc g++ make cmake build-essential libusb-1.0-0-dev libasound2-dev libudev-dev libavahi-client-dev direwolf rtl-sdr -y
Reboot the Raspberry Pi
sudo reboot
Only disable WiFi if you are using a wired network connection! Bluetooth can always be disabled.
sudo rfkill block bluetooth ; sudo rfkill block wifi
The contents of this file are mentioned below!
sudo nano /etc/direwolf.conf
Optional step: run this tool for 10 minutes to investigate the frequency deviation of your SDR. You could add “-p xxx” as parameter in the rtl_fm command, where “xxx” is the last PPM value that was displayed
rtl_test -p
Optional step: perform a manual check whether the igate is working properly. The command # tunes the rtl-sdr at 144.800Mhz and uses the outpuf of rtl_fm as input for Direwolf, which uses /etc/direwolf.conf as config file and which stores log information in /var/log/direwolf
sudo /usr/bin/rtl_fm -f 144.80M - | sudo /usr/bin/direwolf -r 24000 -D 1 -c /etc/direwolf.conf -l /var/log/direwolf -
The contents of this file are mentioned below!
sudo nano /etc/direwolf.start
The contents of this file are mentioned below!
sudo nano /etc/systemd/system/direwolf.service
Update systemctl deamon configuration, enable and start Direwolf, and check running status of Direwolf
systemctl daemon-reload ; systemctl enable direwolf ; systemctl start direwolf ; systemctl status direwolf
Install lighttpd webserver with PHP 8.2, enable certain modules and restart the webserver
sudo apt-get install lighttpd php8.2-common php8.2-cgi php -y
sudo lighty-enable-mod fastcgi ; sudo lighty-enable-mod fastcgi-php ; sudo service lighttpd force-reload
Download the simple web application and move the files to the webserver root directory
cd ~
git clone https://github.com/IZ7BOJ/direwolf_webstat $ sudo mv direwolf_webstat/* /var/www/html/
rm -rf direwolf_webstat
Update configuration file: change $logpath to “/var/log/direwolf/”, remove “,1” from $interfaces array, and fill $stationlat and $stationlon with actual values
sudo nano /var/www/html/config.php
# For automatic page refresh every five seconds, insert a new empty line directly after the <head> tag and fill that new empty line with: <meta http-equiv=”refresh” content=”5″>.
sudo nano /var/www/html/summary.php
sudo nano /var/www/html/frames.php
Als je RTL-SDR v4 niet werkt, installeer dan de speciale v4 driver via “Alternative Debian Package Installation Method” zoals beschreven op https://www.rtl-sdr.com/v4/
Configuratiebestanden
Hieronder volgt de inhoud van de verschillende configuratie bestanden:
*** Contents of “direwolf.conf” file:
# noam.aprs2.net - for North America # soam.aprs2.net - for South America # euro.aprs2.net - for Europe and Africa # asia.aprs2.net - for Asia # aunz.aprs2.net - for Oceania # aprs.pd3rfr.nl - for The Netherlands IGSERVER euro.aprs2.net ADEVICE null null CHANNEL 0 MYCALL PA1xx-10 IGLOGIN PA1xx 12345 PBEACON sendto=IG delay=0:10 every=00:15 symbol="igate" overlay=R lat=52.123456 long=004.123456 COMMENT="PA1xx iGate RX-only | DireWolf 1.6 | RPi+RTL-SDR"
*** Contents of “direwolf.start” file:
/usr/bin/rtl_fm -f 144.80M - | /usr/bin/direwolf -r 24000 -D 1 -c /etc/direwolf.conf -l /var/log/direwolf -
*** Contents of “direwolf.service” file:
[Unit] Description=Direwolf Deamon with RTL-SDR After=network.target After=sound.target After=syslog.target [Service] ExecStart=/bin/bash /etc/direwolf.start [Install] WantedBy=multi-user.target Alias=direwolf.service