Skip to main content

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

Reason this release was yanked:

bug in GUI

Project description

PacketRaven

tests build version license style

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 http://bpp.umd.edu/archives/Launches/NS-95_2020-11-07/APRS/W3EAX-11/W3EAX-11_raw_NS95.txt

listen to a TNC on COM3, watching specific callsigns, and synchronize new packets with a database table via SSH tunnel:

packetraven --tnc COM3 --callsigns W3EAX-8,W3EAX-14 --database <username>@<hostname>:5432/<database_name>/<table_name> --tunnel <ssh_username>@<hostname>:22

Graphical User Interface

to start the GUI, add --gui to any packetraven command

packetraven --gui
packetraven --callsigns W3EAX-8,W3EAX-14 --apikey <api_key> --gui

Usage:

usage: packetraven [-h] [--callsigns CALLSIGNS] [--apikey APIKEY] [--tnc TNC] [--database DATABASE]
                   [--tunnel TUNNEL] [--igate] [--start START] [--end END] [--log LOG] [--output OUTPUT]
                   [--interval INTERVAL] [--gui]

optional arguments:
  -h, --help            show this help message and exit
  --callsigns CALLSIGNS
                        comma-separated list of callsigns to track
  --apikey APIKEY       APRS.fi API key (from https://aprs.fi/page/api)
  --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)
  --database DATABASE   PostGres database table `user@hostname:port/database/table`
  --tunnel TUNNEL       SSH tunnel `user@hostname:port`
  --igate               send new packets to APRS-IS
  --start START         start date / time, in any common date format
  --end END             end date / time, in any common date format
  --log LOG             path to log file to save log messages
  --output OUTPUT       path to output file to save packets
  --interval INTERVAL   seconds between each main loop (default: 5)
  --gui                 start the graphical interface

Python API:

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

from packetraven import APRSfi

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 = APRSfi(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 APRSDatabaseTable

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 = APRSDatabaseTable(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.5.1.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

packetraven-1.5.1-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: packetraven-1.5.1.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for packetraven-1.5.1.tar.gz
Algorithm Hash digest
SHA256 eab2aab36e9e0d118b04b955a0f204cba8078a050d8a10aede21cb0447a08acd
MD5 e9cb5e523bc5a8ed69a907ce6d7f3819
BLAKE2b-256 3774f94712f8f1f50bbf35b132df1552a15814b21fc3d0fd8dd15c04ee9517f7

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: packetraven-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for packetraven-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33d2eff381b5d9949a7071a7d51b5c3ae69902010fb8bba62153e34c8301da14
MD5 8db59d6bae57b01a59886eca23182c5a
BLAKE2b-256 111bf548a58f0e90a91f06df9162c9a6768eaeb87de31226dd1ae4c097c287cd

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