Skip to main content

Telemetry dashboard for APRS packets from TNC, https://aprs.fi, and PostGIS

Project description

PacketRaven

tests build version license

PacketRaven is a front-end data aggregator / dashboard, designed to track the progress of high-altitude balloon payload flights via location telemetry.

pip install packetraven

Examples:

listen to a TNC sending raw APRS strings over USB port COM4:
packetraven --tnc COM4
listen to APRS.fi, watching specific callsigns:

you need an API key to connect to APRS.fi; you can get one from https://aprs.fi/page/api

packetraven --apikey <api_key> --callsigns W3EAX-8,W3EAX-14
listen to a PostGIS database table:
packetraven --database <username>@<hostname>:5432/<database_name>/<table_name>
watch a text file for new lines containing raw APRS strings:
packetraven --tnc ~\Desktop\aprs_packets.txt
listen to a TNC on COM3, watching specific callsigns, and synchronize new packets with a database table, using an SSH tunnel to connect:
packetraven --tnc COM3 --callsigns W3EAX-8,W3EAX-14 --database <username>@<hostname>:5432/<database_name>/<table_name> --tunnel <ssh_username>@<hostname>:22

Usage:

usage: packetraven [-h] [-c CALLSIGNS] [-k APIKEY] [-p TNC] [-d DATABASE] [-t TUNNEL] [-s START] [-e END] [-l LOG] [-o OUTPUT] [-i INTERVAL] [-g]

optional arguments:
  -h, --help            show this help message and exit
  -c CALLSIGNS, --callsigns CALLSIGNS
                        comma-separated list of callsigns to track
  -k APIKEY, --apikey APIKEY
                        API key from https://aprs.fi/page/api
  -p TNC, --tnc TNC     serial port or text file of TNC parsing APRS packets from analog audio to ASCII (set to `auto` to use the first open serial port)
  -d DATABASE, --database DATABASE
                        PostGres database table `user@hostname:port/database/table`
  -t TUNNEL, --tunnel TUNNEL
                        SSH tunnel `user@hostname:port`
  -s START, --start START
                        start date / time, in any common date format
  -e END, --end END     end date / time, in any common date format
  -l LOG, --log LOG     path to log file to save log messages
  -o OUTPUT, --output OUTPUT
                        path to output file to save packets
  -i INTERVAL, --interval INTERVAL
                        seconds between each main loop (default: 10)
  -g, --gui             start the graphical interface

Python API:

to retrieve packets directly from https://aprs.fi:

from packetraven import APRSfiConnection

callsigns = ['W3EAX-8', 'W3EAX-12', 'KC3FXX', 'KC3ZRB']
api_key = '<api_key>' # enter your APRS.fi API key here - you can get one from https://aprs.fi/page/api

aprs_fi = APRSfiConnection(callsigns, api_key)
aprs_fi_packets = aprs_fi.packets

print(aprs_fi_packets)

or parse packets from a TNC sending parsed APRS over a USB connection:

from packetraven import SerialTNC

serial_port = 'COM5' # set to `'auto'` to connect to the first open serial port  

tnc = SerialTNC(serial_port)
tnc_packets = tnc.packets

print(tnc_packets)

or connect to a PostGreSQL database running PostGIS:

from packetraven import APRSPacketDatabaseTable

callsigns = ['W3EAX-8', 'W3EAX-12', 'KC3FXX', 'KC3ZRB']

hostname = '<hostname>:5432'
database = '<database_name>'
table = 'packets'

username = '<username>'
password = '<password>'

# parameters for an SSH tunnel
ssh_hostname = None
ssh_username = None
ssh_password = None

table = APRSPacketDatabaseTable(hostname, database, table, callsigns, 
                                username=username, password=password, 
                                ssh_hostname=ssh_hostname, ssh_username=ssh_hostname, ssh_password=ssh_password)
table_packets = table.packets

print(table_packets)

Project details


Download files

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

Source Distribution

packetraven-1.2.7.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

packetraven-1.2.7-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file packetraven-1.2.7.tar.gz.

File metadata

  • Download URL: packetraven-1.2.7.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for packetraven-1.2.7.tar.gz
Algorithm Hash digest
SHA256 0d4988cf114ca5951b376aa796d4f0527dbe838be57aad26a074bca9a21acc60
MD5 c31f01322889a6a9cb9d04a67ed1ed3b
BLAKE2b-256 c1a4f62d7bc24a91025f8e5a29f5a7f1d60b4eb834e059cd1d707be798bc87a9

See more details on using hashes here.

Provenance

File details

Details for the file packetraven-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: packetraven-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for packetraven-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8a19b92938c0af82a55ff9c760766ad4626cb0aafc122109898a129605ab9f2b
MD5 269944109d8437e9f41c788dbe6798c1
BLAKE2b-256 487f5f3cc6f4ad57876d8901fcbfdab7fbc689be62c2e6ef9bc1d02c6aa813f9

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page