Headless javAPRSSrvr

This article describes a trial of javAPRSSrvr on a Raspberry Pi (RPi) as a headless system (ie without integrated screen and keyboard).

HeadlessJavaprssrvrAbove is the RPi sitting on a TNC-X KISS TNC connected to the TNC’s USB port. In this case, javAPRSSrvr uses the supplied KISS interface, it does not use Linux kernel support for AX.25.

Don’t take this as a recommendation for TNC-X, it is only a partial KISS implementation.

javAPRSSrvr is a java based APRS server with a set of ‘plug in’ modules to perform various functions.

The functions used / tested were the basic server core, upstream connection and NSRdigi (with several types of KISS TNC).

Being Java based, it has cross-platform compatibility potential, and I have run it on Ubuntu v12.04, WinXP, Win7, and Rasbian.

For most of the trial period, I have run v4.1 betas, as quickly as they were released, and at the time of writing b05.

The system has just worked and worked.

My early experience with RPi was that availability was low, especially if it used a WLAN attachment, but over time the steady stream of fixes has improved its availability.

The server has not exhibited any faults over more than a month’s operation, though javAPRSSrvr had been restarted many times as part of the tests, and the RPI power cycled repetitively early in the test cycle to prove the init scripting robust.

In my implementation javAPRSSrvr runs as a user, I wouldn’t think of running a ‘locked up’ communications application with independent network access as a privileged user. A SysV init script to achieve this is at https://github.com/owenduffy/jas/src (see notes in the file on setting it up).

The RPi is dedicated to this application, and CPU utilisation for the process is consistently 14%.

I am very happy to say that the combination has proved very reliable in the trial so far, and I recommend it for installations where physical access is convenient if necessary to deal with problems.