ampledata / aprs

Python APRS Module
https://github.com/ampledata/aprs
Other
95 stars 53 forks source link
amateur-radio aprs gps gps-tracker ham-radio python

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:

Frame and Callsign classes are included:

Versions

Installation

Install from pypi using pip: pip install aprs

Usage Examples

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 ^^^^^^^^^^^^^^^^ ::

W2GMD-6>APRX28,TCPIP*,qAC,APRSFI-I1:T#471,7.5,34.7,37.0,1.0,137.0,00000000

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.parse_frame('W2GMD>APRS:>Hello World!')

a = aprs.TCP('W2GMD', '12345')
a.start()

a.send(frame)

Testing

Run nosetests from a Makefile target::

make test

Errata

7.0.0rc1 - Currently setting/getting digi flag on KISS frames is broken. Expect it to be fixed in final release of 7.0.0.

See Also

Similar Projects

Build Status

Master:

.. image:: https://travis-ci.org/ampledata/aprs.svg?branch=master :target: https://travis-ci.org/ampledata/aprs

Develop:

.. image:: https://travis-ci.org/ampledata/aprs.svg?branch=develop :target: https://travis-ci.org/ampledata/aprs

Source

Github: https://github.com/ampledata/aprs

Author

Greg Albrecht W2GMD oss@undef.net

http://ampledata.org/

Copyright

Copyright 2017 Greg Albrecht and Contributors

Automatic Packet Reporting System (APRS) <http://www.aprs.org/>_ is Copyright Bob Bruninga WB4APR wb4apr@amsat.org

fcs.py - Copyright (c) 2013 Christopher H. Casebeer. All rights reserved.

decimaldegrees.py - Copyright (C) 2006-2013 by Mateusz Łoskot mateusz@loskot.net

License

Apache License, Version 2.0. See LICENSE for details.

fcs.py - BSD 2-clause Simplified License

decimaldegrees.py - BSD 3-clause License