Note: This is currently a WIP
The NinoTNC can be used to send and receive APRS which will allow you to run an iGate, Digipeater or position beacon when used in conjunction with some additional software. As well as contributing to the APRS network, this might be useful to help find local stations you can peer with to help build a national packet network.
This document will cover installing and configuring the software to run as an Rx only iGate, with a periodic position beacon sent via RF. Two software packages are documented, you can chose one or the other. Aprx is lightweight and easy to configure, and BPQ32 is more fully featured but harder to configure, but also allows you to attach an external APRS client like YAAC so you can run a “headless” iGate but periodically connect from another computer to view stations on a map or send messages.
The guides for both packages assume you're using Raspberry Pi OS or Debian, but may work for other Debian derivatives.
For 1200 Baud AFSK set the MODE switches to 0110.
The vast majority of APRS in the UK takes place on 144.800Mhz FM with narrow deviation. Configure your radio accordingly.
N.B. These are my interpretation of the license. You're encouraged to read and interpret the license yourself.
Firstly install some pre-requisites:
sudo apt-get update && apt-get upgrade sudo apt-get install wget openssl
Next download the latest package. I'm forcing IPv4 only as I had issues when attempting to download via IPv6.
For Raspberry Pi:
wget --inet4-only -O /tmp/aprx.deb https://thelifeofkenneth.com/aprx/debs/aprx_2.9.0_raspi.deb
For amd64:
wget --inet4-only -O /tmp/aprx.deb https://thelifeofkenneth.com/aprx/debs/aprx_2.9.0_amd64.deb
Next install the deb package:
dpkg -i /tmp/aprx.deb
Now it's time to customise the configuration. Use your preferred text editor to open /etc/aprx.conf and edit to suit.
The latitude and longitude syntax is mildy annoying, you need them in degrees, minutes, and seconds format. Latitude requires 4 digits before the decimal point and Longitude requires 5 digits before the decimal point. Pad with zeros if required. I use the “GPS Coordinates” from latlong.net
You can generate your APRS Passcode here
It should look something like the example below.
mycall YOURCALL-YOURSSID myloc lat 5139.20N lon 00025.09W <interface> callsign YOURCALL-YOURSSID serial-device /dev/ttyACM0 57600 8n1 KISS telem-to-is false tx-ok true </interface> <aprsis> login YOURCALL-YOURSSID passcode YOURPASSCODE server euro.aprs2.net heartbeat-timeout 1m </aprsis> <beacon> cycle-size 15m beaconmode both # aprsis, radio, or both beacon interface YOURCALL-YOURSSID via WIDE1-1 symbol "R&" $myloc comment "Aprx + NinoTNC Rx-iGate" </beacon> <logging> rflog /var/log/aprx/aprx-rf.log aprxlog /var/log/aprx/aprx.log </logging>
Aprx doesn't ship with a systemd service file by default, and I've had some issues with the included init script. Lets create a systemd service instead.
sudo systemctl disable aprx sudo systemctl daemon-reload sudo rm /etc/init.d/aprx
Open /etc/systemd/system/aprx.service with your favourite text editor.
[Unit] Description=Amateur Radio APRS Gateway & Digipeater Documentation=man:aprx(8) [Service] Type=simple ExecStart=/sbin/aprx -i [Install] WantedBy=multi-user.target
sudo systemctl enable aprx sudo systemctl start aprx
Aprx is relatively simple and once configured and started it should start to automatically forward packets to APRS-IS.
To view the RF log:
tail -f /var/log/aprx/aprx-rf.log
To view the generic log:
tail -f /var/log/aprx/aprx.log
It might be useful to debug Aprx in the foreground. To do so, stop Aprx with
systemctl stop aprx
Then run it in the foreground with the debug arguments:
aprx -f /etc/aprx.conf -v -dd -L
coming soon
SIMPLE NODECALL=2E0SIP-11 LOCATOR=NONE IDINTERVAL=0 IDMSG: !5139.20NR00025.09W&Aprx + NinoTNC Rx-iGate *** PORT PORTNUM=1 ID=APRS Port TYPE=ASYNC PROTOCOL=KISS FRACK=10000 RESPTIME=500 RETRIES=10 MAXFRAME=7 PACLEN=128 TXDELAY=500 QUALITY=0 MINQUAL=10 COMPORT=/dev/ttyACM0 SPEED=57600 SLOTTIME=100 PERSIST=64 BBSFLAG=NOBBS ; Disable Packet Functions DIGIFLAG=0 ; Disable Packet Functions ENDPORT PORT PORTNUM=2 ID=KISS TYPE=ASYNC PROTOCOL=KISS IPADDR=0.0.0.0 TCPPORT=8003 ENDPORT APRSDIGI APRSCall 2E0SIP-11 ;RXONLY=1 StatusMsg=BPQ32 + NinoTNC Rx-iGate Symbol=& ; Icon to display for station. Symset=R ; This is a "R" in a Black Diamond, indiciating a receive only iGate BeaconInterval=15 ;APRSPath 1= ; Receive only port APRSPath 1=APRS,WIDE1-1 APRSPath 2=APRS,WIDE1-1 Digimap 1=IS BRIDGE 1=2 BRIDGE 2=1 ; Posistion Params LAT=5139.20N ; Must be in standard APRS Format (ddmm.mmN/S) LON=00025.09W ; Must be in standard APRS Format (dddmm.mmE/W) ; IGATE Params. If specified you will gate RF packets and your beacons to APRS-IS ISHost=aprs.2e0sip.co.uk ISPort=14580 ISPasscode=YOURPASSCODE ***