A new CLI utility and daemon for JS8Call!

Hello all, I wrote a new utility for JS8Call. It can be found at https://github.com/ThreeSixes/js8cli. JS8CLI has been in the works and moving slowly for the last couple months. This new utility replaces the some of the functionality of the JS8CallTools GUI with command line functionality and can run as a daemon in the background. I also added a few features to this that probably should already be in JS8Call such as automatic GPS location support and the ability to update APRS position information via JS8Call automatically and periodically. This utility also allows you to send SMS messages via APRS from the console over JS8Call.

JS8Call sending a text message driven by js8cli being run in a command line window.
Screenshot of the CLI utility feeding JS8Call

This utility leverages JS8Call’s API and can run in either TCP or UDP mode. I also wrote a Python 3 class that can be used to interface with JS8Call’s API which isn’t really documented though it’s fairly simple to use (see mainwindow.cpp). It’s mostly just JSON sentences sent over a network stream to the application.

The JS8CLI application is also a good citizen and leverages GPSD to share the GPS with other applications rather than bogarting the serial port. This also makes it possible to get position information from another host on a network. This could be useful in fixed or networked applications or cases where a GPS needs to be remote. The SMS functionality doesn’t require GPS capabilities at all.