Skip to main content

prismtracker - An APRS Tracker Daemon

                               _..____..,.
                    __gaawwprISMTR4C<3rQQQQmgwwag,
              __awwmWBVT?!"MmQQQQQQQQQQQQQW?TV$WQQQgap
          .gwgBT?"~'      jQQQQQQQQQQQQQQQQm,  -"?9$QQmw/
       qamT?^`           _WVQQQQQQWWQQQQQQQQm,      "9WWQa,
    _a2?~                jf -"9QP~   "$QQQQQQL        -4WQL.
  _%!'                  -Q[   j@      )WQQQQQm          ]QQr
_/^                     -Qc   ]m      .QQQQQQD           WQ`
                         4[ _gwWw,   qyQQQQQQf           mF
                         ]QyQQQWQQQmQQQQQQQQ@`          qF
                          "WWQQQQQQWWQQQQQQ@'          _^
                           )4WQQQQQQQQQQQW?'
                             "?9WWQQQQBT"'
                                  """

This program aims to be a lightweight, extensible APRS client specifically written to run as a daemon for tracking and telemetry purposes.

It currently supports building APRS compressed position reports with course, speed, optional altitude, and optional timestamps from a running local gpsd instance. It can broadcast APRS packets either through the Linux AX.25 stack by calling out to the beacon program or send packets directly to an APRS-IS server. It is designed to run from systemd as a service and be part of a headless installation.

Questions, comments, and patches are welcome. Email elektron@halo.nu

Installation

via pip

pip3 install prismtracker

from source

git clone https://k6fsm.net/prismtracker.git
cd prismtracker
python3 ./setup.py build
sudo python3 ./setup.py install

Example Usage

prismtracker --call NOCALL-5 --symbol x --beacon --beacon-port ax0 --algorithm smart

Setting up a systemd service

After you test the daemon out from the command line, if you want to make it a system service you can use the config files here to do that. The commands below assume you're running them as root, use sudo if you need to escalate your privileges.

Create /etc/systemd/system/prismtracker.service

[Unit]
Description=APRS daemon
Wants=gpsd.service
After=gpsd.service

[Service]
Type=simple
EnvironmentFile=-/etc/default/prismtracker
ExecStart=/usr/local/bin/prismtracker $DAEMON_OPTS
User=nobody
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

Create and edit /etc/default/prismtracker

DAEMON_OPTS="--call NOCALL-5 --symbol x --beacon --beacon-port ax0 --algorithm smart"

Setup and start the service

  • Reload the systemd service files

    # systemctl daemon-reload
    
  • Start the service and check the status:

    # systemctl start prismtracker.service
    # systemctl status prismtracker.service
    
  • Enable it for start on boot:

    # systemctl enable prismtracker.service
    

Disable and stop the service

# systemctl stop prismtracker.service
# systemctl disable prismtracker.service

See also

ax25systemd

a convenient way to configure your AX.25 network on boot. https://github.com/F4FXL/ax25systemd

Other Refrences

APRS Documentation available here: http://www.aprs.org/

Metadata

Release files for prismtracker 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prismtracker 1.1.0
File Size Uploaded
prismtracker-1.1.0.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for prismtracker 1.1.0
File Interpreter ABI Platform
prismtracker-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 46.0 kB

Release files / prismtracker-1.1.0.tar.gz

Download URL prismtracker-1.1.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e16ccc8be3ba083d168ccbe3101872d57187b54f3eb0f2ab6a82c699d1c6faf4
BLAKE2b-256 checksum
How to use checksums
16739dabc69cf94ca4c1977aa722a5cc7f40056a5b9649874678ba8998541504
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2

Release files / prismtracker-1.1.0-py3-none-any.whl

Download URL prismtracker-1.1.0-py3-none-any.whl
Size 24.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79881a00a329a5d6ad31c06ec824091ad75b299ca4de58a201ceffbf7cf0ad8c
BLAKE2b-256 checksum
How to use checksums
9b21aa48dad6a36f2cc1193c5103d78ac58d10873e950b6737dc86ae2a35683f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page