aprsmon - monitor APRS AX.25 traffic for javAPRS
aprsmon [-a] [-m] [-r] [-k minutes] [-p port] [-t title] [-i infofile]
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.
-a Allow for the monitoring of outgoing frames as well as
-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
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
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."
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
<PARAM name = "dataFile1" value = "netc:14439:localhost">
in your HTML file as described in the javAPRS documentation, and then
use appletviewer to run javAPRS:
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:
ddhhmm is the UTC day and time the packet was received by the host
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.
are the values of the telemetry channels.
call(1), listen(1), beacon(1), ax25(4), axattach(8),
Alan Crosswell, email@example.com