Skip to main content

An APRS tracker daemon

Project description

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

Links

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/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for prismtracker, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size prismtracker-1.1.0-py3-none-any.whl (24.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size prismtracker-1.1.0.tar.gz (22.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page