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