APRSMON(8)

NAME
aprsmon - monitor APRS AX.25 traffic for javAPRS

SYNOPSIS
aprsmon [-a] [-m] [-r] [-k minutes] [-p port] [-t title] [-i infofile]

DESCRIPTION

Aprsmon uses SOCK_PACKET facilities to provide a network monitor of all AX.25 UI text traffic heard by the system. It is based on listen(1).

Aprsmon collects (-m) or displays standard AX.25 UI text frames in a format similar to that output by a standard TNC in "Monitor ON" mode and is intended to be used with programs like javAPRS which wish to see a TNC data stream over a TCP connection. When the aprsmon master has been running for a while and a new aprsmon slave starts up, first all saved up reports are sent, then a title line indicating the beginning of live data is sent, and new reports are sent as received.

Compressed position and telemetry reports as generated by the APRS Mic Encoder are translated into the conventional uncompressed APRS Micro-Interface-Module (MIM) telemtry format so that these stations are visible in javAPRS. Reports containing a TheNet X1J4 beacon header are also edited to strip off the header making these nodes visible in javAPRS as well.

OPTIONS

-a  Allow for the monitoring of outgoing frames as well as incoming ones.

-r  Choose "raw" mode which allows non-printable data through.

-p port
    Monitor only those frames received on a particular port, by default all AX.25 interfaces are monitored.

-m  "Master" mode. Retain monitored data for the number of minutes specified with the -k option in a shared memory segment.

-k minutes
    Retain monitored packets going back the given number of minutes. Default is 30.

-t title
    Sets the javAPRS title string. Default is "Live data from Linux."

-i infofile
    Infofile is the path to the file that the aprsmon master writes the shared memory segment and semaphore id's into. Default is "/var/ax25/aprsmon.info."

javAPRS CONFIGURATION
Set up one aprsmon master running on your system to collect historical data going back a while. You will probably want to set up an /etc/rc.d/init.d script for this.

aprsmon -a -m&

Add an entry into /etc/services with the port number you want javAPRS to connect on. For example:

aprs		14439/tcp	# APRS monitor on 144.39

Add an entry into /etc/inetd.conf for this service:

aprs stream tcp nowait root /usr/sbin/aprsmon aprsmon -a

To test, simply "telnet localhost aprs". To use with javAPRS, set, for example,

<PARAM name = "dataFile1" value = "netc:14439:localhost">
in your HTML file as described in the javAPRS documentation, and then use appletviewer to run javAPRS:
appletviewer mydemo.html

Mic-E to MIM Translation
The Mic-E reduces the duration of packet noise on a voice frequency by encoding its data in a compressed form, some of which is binary. Some APRS-decoding software, notably javAPRS, is unable to deal with this data. To solve this problem aprsmon expands the Mic-E packet into one or two MIM packets as follows:

@ddhhmmzDDMM.hhN/DDDMM.hhW$cse/spd/E>mon/Mm/status
T#MIC,aaabbbcccdddeeefffComments

ddhhmm
    is the UTC day and time the packet was received by the host running aprsmon.

DDMM.hhN
    is the latitude.

/   is the symbol table selection (/ or \).

DDDMM.hhW
    is the longitude.

$   is the symbol.

cse,spd
    are course and speed.

E   is the type of Mic-Encoder:

    E - TAPR Mic-Encoder
    T - Kenwood TH-D7

m   is the status message number, and

status
    is the status message number expanded as follows:

    0 -  Off duty..
    1 -  Enroute...
    2 -  In Service
    3 -  Returning.
    4 -  Committed.
    5 -  Special...
    6 -  PRIORITY..
    7 -  EMERGENCY.

aaa,bbb,ccc,ddd,eee,fff
    are the values of the telemetry channels.

FILES
/etc/ax25/axports /var/ax25/aprsmon.info

SEE ALSO
call(1), listen(1), beacon(1), ax25(4), axattach(8), http://www.bridge.net/~sdimse/javAPRS.html, http://www.tapr.org, http://www.aprs.net, MIC-E.TXT,TELEMTRY.TXT,PROTOCOL.TXT

AUTHOR
Alan Crosswell, n2ygk@weca.org