aprsmon - monitor APRS AX.25 traffic for javAPRS
aprsmon [-a] [-m] [-r] [-k minutes] [-p port] [-t title] [-i infofile]
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).
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.
- Allow for the monitoring of outgoing frames as well as
- Choose "raw" mode which allows non-printable data
- -p port
- Monitor only those frames received on a particular port, by
default all AX.25 interfaces are monitored.
- "Master" mode. Retain monitored data for the
number of minutes specified with the -k option in a shared memory
- -k minutes
- Retain monitored packets going back the given number of
minutes. Default is 30.
- -t title
- Sets the javAPRS or aprsd title string.
Default is "Live data from Linux." For use with aprsd the format
must be something like "aprsmon v2.4.4 padd padb." pada and padb
can be anything, and are ignored but you *must* have 4 words in all.
- -i infofile
- Infofile is the path to the file that the aprsmon
master writes the shared memory segment and semaphore id's into. Default
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
to run javAPRS:
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
expands the Mic-E packet into one or two MIM packets as
- is the UTC day and time the packet was received by the host
- is the latitude.
- is the symbol table selection (/ or \).
- is the longitude.
- is the symbol.
- are course and speed.
- is the type of Mic-Encoder:
E - TAPR Mic-Encoder
T - Kenwood TH-D7
- is the status message number, and
- 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.
Alan Crosswell, email@example.com