Receive, decode, log, share APRS packets using low cost RTL-SDR devices.
The following are required to be installed and configured on your system.
- An RTL-SDR compatible device.
- Some form of Unix-like system. I build it on Mac OS. I run it on a Raspberry Pi w/ Raspbian.
- Python >= v3.6
- rtl_fm
- multimon-ng
- Optonally, a call-sign login and password for APRS-IS to upload spots.
config/configuration.json
contains all insecure runtime configuration settings.- If you want to upload spots to APRS-IS, ensure you have the following environment variables set:
PYPACKET_USERNAME
- Your call sign for APRS-ISPYPACKET_PASSWORD
- Your password for APRS-IS
- Run
pip install -r requirements.txt
- Run
./main.py
.- The application will start and immediately begin listening on the configured frequency.
- Logged packets will be output to your terminal, written to a file in the
logs
directory, and (if configured) uploaded to APRS-IS.
- 11/17/2019 (v4.0)
- All new tabular CLI UI for packet output.
- Can now be configured to have N processors.
- Configuration format improvements.
- New dependencies, be sure to
pip install -r requirements.txt
. - Resolves bug #11 where an rtl_fm startup crash was not being detected, causing excessive CPU usage.
- 11/9/2019 (v3.2)
- Some configuration variables changed names.
- Code cleanup, test cleanup, etc.
- Quality reports via Codacy.
- 3/10/2019 (v3.1 / v3.1.1 / v3.1.2)
- Connect once at start to APRS-IS.
- All packets uploaded immediately.
- Connection resiliency, will reconnect when disconnected.
- Configurable APRS-IS server host.
You are welcome to contribute by submitting pull requests on GitHub if you would like. Feature / enhancement requests may be submitted via GitHub issues.
- Radio tower icon found in the logo courtesy of The Noun Project.
- Project was inspired by pymultimonaprs.