aprs - Python APRS Module
aprs is a Python Module that supports connecting to APRS Interfaces, and receiving, parsing and sending APRS Frames.
Included are several Interface Classes:
- APRS - Abstract Class from which all other Interfaces are inherited.
- TCP - Interfaces Class for connecting to APRS-IS via TCP. Can send or receive APRS Frames.
- UDP - Interfaces Class for connecting to APRS-IS via UDP. Only supports sending APRS Frames.
- HTTP - Interfaces Class for connecting to APRS-IS via HTTP. Currently only supports sending APRS Frames.
Additional Interface Classes for connecting to KISS Interfaces are included:
- SerialKISS - Interface Class for connecting to KISS Serial devices. Can send or receive APRS Frames.
- TCPKISS - Interface Class for connecting to KISS TCP Hosts. Can send or receive APRS Frames.
Finally, Frame and Callsign classes are included:
- Frame - Describes the components of an APRS Frame.
- Callsign - Describes the components of an APRS Callsign.
Install from pypi using pip:
pip install aprs
Example 1: Library Usage - Receive
The following example connects to APRS-IS as W2GMD (me!) and filters for APRS frames coming from my prefix (W2GMD, W2GMD-n, etc). Any frames returned are sent to my callback p and printed.
Example 1 Code
import aprs def p(x): print(x) a = aprs.TCP('W2GMD', '12345') a.start() a.receive(callback=p)
Example 1 Output
Example 2: Library Usage - Send
The following example connects to APRS-IS as W2GMD (me!) and sends an APRS frame.
Example 2 Code
import aprs frame = aprs.Frame('W2GMD>APRS:>Hello World!') a = aprs.TCP('W2GMD', '12345') a.start() a.send(frame)
Run nosetests from a Makefile target:
- Python KISS Module Library for interfacing-to and encoding-for various KISS Interfaces.
- Python APRS Module Library for sending, receiving and parsing APRS Frames to and from multiple Interfaces
- Python APRS Gateway Uses Redis PubSub to run a multi-interface APRS Gateway.
- Python APRS Tracker TK.
- dirus Dirus is a daemon for managing a SDR to Dire Wolf interface. Manifests that interface as a KISS TCP port.
- apex by Jeffrey Phillips Freeman (WI2ARD). Next-Gen APRS Protocol. (based on this Module! :)
- aprslib by Rossen Georgiev. A Python APRS Library with build-in parsers for several Frame types.
- aprx by Matti & Kenneth. A C-based Digi/IGate Software for POSIX platforms.
- dixprs by HA5DI. A Python APRS project with KISS, digipeater, et al., support.
- APRSDroid by GE0RG. A Java/Scala Android APRS App.
- YAAC by KA2DDO. A Java APRS Client.
- Ham-APRS-FAP by aprs.fi: A Perl APRS Parser.
- Dire Wolf by WB2OSZ. A C-Based Soft-TNC for interfacing with sound cards. Can present as a KISS interface!
Greg Albrecht W2GMD firstname.lastname@example.org
Copyright 2016 Orion Labs, Inc. and Contributors
Apache License, Version 2.0. See LICENSE for details.