BPQ Home   BPQ32 Home

BPQ32 APRS Digipeater and APRS-IS Gateway

Introduction

BPQ32 includes an APRS-style digipeater (ie "New Paradigm" digipeating), and an APRS-IS Gateway. The digipeater can use any of your ax.25 ports (but not Winmor/Pactor/V4 ports). Crossband digipeating is supported. Thers is also an associated Mapping and Messaging application - see here for the Windows version and here for the Linux version. There is also a more modern crossplatform version - QtBPQAPRS

Messaging and Mapping are also provided by the APRS Pages within the Node Web Server

Configuration

The code is enabled by adding an "APRSDIGI" section to BPQ32.cfg. There is a commented example below. Note that if you enable the APRSDIGI on a port, you should normally disable the normal BPQ32 beacon and Digi functions on that port by setting DIGIFLAG=0 and omitting UNPROTO.

Configuration Commands

RUN
Run Application program. Usually used to start BPQAPRS, but could run other clients.

LOCALTIME
Display times in localtime. Omit to display in UTC
DISTKM
Display distances on Kilometers. Omit lot display in Miles

APRSCALL
The callsign (with optional SSID) to be used for APRS activity 

SYMBOL
SYMSET

These specify the symbol to be displayed on APRS Maps

Symbol=a ; Icon to display for station.
Symset=B ; This is a "B" in a Red Diamond.

STATUSMSG
The text to send as part of your Status beacons

APRSPATH
APRSPATH specifies a Destination Address and optional Path for each port you want to use for APRS. To set up a receive only omit the Destination and path. Ports without an APRSPath statement will not be used by the Digi

Note if you specify APRS as the destination call it will be replaced by the current BPQ32 APRS identification destination - APBPQ1. If you really want to send APRS, specify APRS-0.

Examples

 APRSPATH 1= ; Receive only port
APRSPATH 2=APRS,WIDE1-1,WIDE2-1 ; Dest and zero to 8 digis

You can also specify a different path to be used when gating messages from APRS-IS to RF using GATEDPATH

Example

 GATEDPATH 2=APRS;		; Send gated messages with just a destination and no digis

TRACECALLS
Calls for CALLN-n Processing with Trace (ie replacing the supplied call with your APRS Call)

 TraceCalls=WIDE,TRACE

FLOODCALLS
Calls for CALLN-n Processing without Trace. The currect APRS standards recommends that all digis should be traced.

DIGICALLS
Calls for Normal (ie no SSID manipulation) Digipeating. For a Local "Fillin" Digi, you could include WIDE1-1 and leave out TraceCalls and FloodCalls

 DIGICALLS=G8BPQ

ReplaceDigiCalls
Replace DIGICALLS with your APRSCall. Omit if you want the call to be left as it is received).

MaxTraceHops
MaxFloodHops
You can limit the maximim value of n in CALLN-n processing. For example if MaxTraceHops is set to two, and a packet is received with WIDE7-7, it would be converted to WIDE7-2 before processing, and would be sent out as WIDE7-1.

 MaxTraceHops=2
MaxFloodHops=2

MaxStations
Limits the number of stations that can be saved, and which van be displayed in the BPQAPRS Map. Default is 500. This should be enough for most situations, as APRS is really intended for local information. If you need to see mores stations, you can increace it (at the moment a full APRS feed is around 20000 stations/objects), but this will increase significantly the memory used by bpq32.

MaxAge
Time (in Minutes) after which a station will be deleted from the station list if nothing is heard from it.

LAT
LON
GPSPort
GPSSpeed
You can specify the location of your station as Latitude and Longtitude or get your positioon from a GPS.

 LAT=5828.50N ; Must be in standard APRS Format (ddmm.mmN/S)
LON=00612.70W ; Must be in standard APRS Format (dddmm.mmE/W)

GPSPort=3 ; if specified, lat/lon will be taken from a GPS,
GPSSpeed=4800 ; overriding the values set above.
; With LinBPQ GPSPORT is a device name, eg /dev/ttyUSB0

DIGIMAP
DISIMAP is use to define cross port digipeating. For each port you specify a list of ports to send a packet to (IS means send to APRS-IS). If a Digimap isn't specified for a port, the defaultis to digi out on the port the packet arrived on, and send to APRS-IS (if enabled).
If you want to digi on same port, but not send to APRS-IS, Specify Digimap n=n
If you dont want to digi on a port, specify Digimap n=

If you only have one APRS port, you probably don't need a Digimap statement.

 Digimap 1=2 ; Packets from 1 to 2, but not APRS-IS
 Digimap 2=1,2,IS ; Packets from 2 to ports 1, 2 and APRS-IS
 Digimap 3= ; Don't digi packets received on port 3
 

BRIDGE
Bridging copies packet from one port to another unchanged. This could be used, for example. to copy packet from your APRS port(s) to Virtual COM ports for use by another APRS application.

 BRIDGE 1=4 ; Send all packets received on Port 1 to Port 4

BeaconInterval
Defines the interval (in minutes) at which Beacons will be sent when stationary.
MobileBeaconInterval
Defines the interval (in minites) at which Beacons will be send when mobile. BPQ32 isn't really intended for use as a tracker, so it doesn't implement smart beaconing. If anyone would find this useful, please let me know.
BeacontoIS=0/1
Controls whether Beacons are sent to APRS-IS as well as RF. Default is 1.

ISHOST
ISPORT
ISPASSCODE
ISFILTER
GateLocalDistance
LOGAPRSIS=0/1
These are used by the APRS/IS server. ISHOST and ISPORT define the server to connect to. ISPASSCODE is the authentication code corresponding to your APRSCALL. Without it you can receive information from the APRS/IS system, but can't upload data. If you don't have one, I can issue you one. IS filter is the APRS/IS filter string to be used when BPQARPS isn't running. When BPQAPRS is running, the filter is taken from the BPQAPRS configuration. See here for information on filter strings. GateLocalDistance allows you to send to RF any information received from APRS-IS for stations within the specified distance (in miles). Generally gating IS traffic to RF isn't a good idea, but if you live in an area with very low APRS activity it might be useful. LOGAPRSIS enables logging all messages sent to or from the IS Server

WXInterval
WXPortList
WXFileName
WXComment
BPQAPRS can send weather beacons from files in the format used by UI-View.

OBJECT
The Digi can generate Object and Item reports.
The format is pretty strict - a single space between param=value pairs and a comma but no spaces in PATH and PORT string.
Minimum interval is 10 mins. You can have as many OBJECT lines as you need.
See thr APRS specification for information on how to format an Object or Item string.

 OBJECT PATH=APRS,WIDE1-1 PORT=1,IS INTERVAL=30 TEXT=;444.80BPQ*111111z5807.60N/00610.63Wr%156 R15m

Sample Config

APRSDIGI
RUN BPQAPRS.exe

APRSCall GM8BPQ
StatusMsg=BPQ32 IGate Skigersta

Symbol=a ; Icon to display for station.
Symset=B ; This is a "B" in a Red Diamond.

;
; Specify a Dest Addreess and Path for each port you want to use for APRS. No dest means receive only port
; Ports without an APRSPath statement will not be used by the Digi
;
; Note if you specify APRS as the destination call it will be replaced by the current BPQ32 APRS
; identification destination - APBPQ1. If you really want to send APRS, specify APRS-0.

APRSPath 1= ; Receive only port
APRSPath 7=APRS,WIDE1-1 ; Dest and up to 8 digis
APRSPath 9=APRS,WIDE1-1,WIDE2-1

BeaconInterval=30 ; Send Beacon every 30 minute. Minimum is 5 mins
MobileBeaconInterval=2 ; Beacon interval when moving

; Define Crossport Digi. For each port, a list of ports to send a packet to (IS means send to APRS-IS)
; If a Digimap isn't specified for a port, digi out on the port the packet arrived on,
; and send to APRS-IS (if enabled)
; If you want to digi on same port, but not send to APRS-IS, Specify Digimap n=n
; If you dont want to digi on a port, specify Digimap n=
;
; If you only have one APRS port, you probably don't need a Digimap statement


Digimap 1=9 ; Packets from 1 to 9, but not APRS-IS
Digimap 7=7,9,IS ; Packets from 7 to 7, 9 and APRS-IS
Digimap 9= ; Don't digi packets received on port 9

; Define Digipeating parameters

TraceCalls=WIDE,TRACE ; Calls for CALLN-n Processing with Trace
FloodCalls=GBR ; Calls for CALLN-n Processing without Trace
DigiCalls=SKIG ; Calls for Normal (ie no SSID manipulation) Digi
; For a Local "Fillin" Digi, you could include WIDE1-1 and leave out TraceCalls and FloodCalls

ReplaceDigiCalls ; Replace DigiCalls with APRSCall. Omit if you want the call to be left as it is received.

MaxTraceHops=2 ; Max value of n in CALLN-n processing. If a packet is received with n greater than
MaxFloodHops=2 ; this, the value will be replaced BEFORE it is decremented.

; Specify position. You can specify a fixed LAT/LONG, or use GPS

LAT=5828.50N ; Must be in standard APRS Format (ddmm.mmN/S)
LON=00612.70W ; Must be in standard APRS Format (dddmm.mmE/W)

GPSPort=0 ; if specified, lat/lon will be taken from a GPS,
GPSSpeed=0 ; overriding the values set above.


; The Digi can generate Object and Item reports.

; The format is pretty strict - a single space between param=value pairs,
; a comma but no spaces in PATH and PORT string.

; Minimum interval is 10 mins. You can have as many OBJECT lines as you need.
; See thr APRS specification for information on how to format an Object or Item string.

OBJECT PATH=APRS,WIDE1-1 PORT=1,IS INTERVAL=30 TEXT=;444.80BPQ*111111z5807.60N/00610.63Wr%156 R15m

; IGATE Params. If specified you will gate RF packets and your beacons to APRS-IS ISHost=england.aprs2.net ; APRS-IS Host Name. May be either an IPV4 or an IPV6 Host ISPort=14580 ; Normal port for a filtered feed ISPasscode=nnnnn ; If you don't already have a passcode I can issue you one. ; ; You can specify a filter command to be sent when you log on to APRS-IS. Normally you don't ; need one. The APRS Mapping Application (BPQAPRS) sets a filter when it starts, ; and if you aren't running an APRS application, there isn't much point in getting info from APRS-IS ; ;ISFilter=m/50 ; Filter Command if needed ***

John Wiseman G8BPQ
October 2017
Updated November 2020