kopia lustrzana https://github.com/glidernet/python-ogn-client
![]() Additional (optional) 'settings' attribute in AprsClient, to be able to pass custom settings to the client, without changing the settings.py file. Added 'CustomSettings' class for backward compatible attribute access. Example (myapp.py): ... args = ... parse arguments from command line settings = CustomSettings( APRS_SERVER_HOST = args.server, APRS_SERVER_PORT_FULL_FEED = args.port, APRS_SERVER_PORT_CLIENT_DEFINED_FILTERS = args.port, APRS_APP_NAME = 'python-ogn-client', PACKAGE_VERSION = '0.9.5', APRS_APP_VER = '0.9', APRS_KEEPALIVE_TIME = 240, TELNET_SERVER_HOST = 'localhost', TELNET_SERVER_PORT = 50001, ) client = AprsClient(aprs_user='N0CALL', aprs_filter=args.filter, settings=settings) client.connect() ... |
||
---|---|---|
ogn | ||
tests | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTORS | ||
LICENSE | ||
MANIFEST.in | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
README.md
python-ogn-client
A python3 module for the Open Glider Network. It can be used to connect to the OGN-APRS-Servers and to parse APRS-/OGN-Messages.
A full featured gateway with build-in database is provided by ogn-python.
Installation
python-ogn-client is available at PyPI. So for installation simply use pip:
pip install ogn-client
Example Usage
Parse APRS/OGN packet.
from ogn.parser import parse
from datetime import datetime
beacon = parse("FLRDDDEAD>APRS,qAS,EDER:/114500h5029.86N/00956.98E'342/049/A=005524 id0ADDDEAD -454fpm -1.1rot 8.8dB 0e +51.2kHz gps4x5",
reference_timestamp=datetime(2015, 07, 31, 12, 34, 56))
Connect to OGN and display all incoming beacons.
from ogn.client import AprsClient
from ogn.parser import parse, ParseError
def process_beacon(raw_message):
try:
beacon = parse(raw_message)
print('Received {aprs_type}: {raw_message}'.format(**beacon))
except ParseError as e:
print('Error, {}'.format(e.message))
client = AprsClient(aprs_user='N0CALL')
client.connect()
try:
client.run(callback=process_beacon, autoreconnect=True)
except KeyboardInterrupt:
print('\nStop ogn gateway')
client.disconnect()
Connect to telnet console and display all decoded beacons.
from ogn.client import TelnetClient
from ogn.parser.telnet_parser import parse
def process_beacon(raw_message):
beacon = parse(raw_message)
if beacon:
print(beacon)
client = TelnetClient()
client.connect()
try:
client.run(callback=process_beacon)
except KeyboardInterrupt:
print('\nStop ogn gateway')
client.disconnect()
License
Licensed under the AGPLv3.