APRS library for Python from https://github.com/rossengeorgiev/aprs-python
A python library for dealing with APRS. It can be used to interact with APRS-IS servers, sending and receiving. Parsing functionality is included and supports the following packet formats:
- Position reports (
!,=,@,/,;,)) — compressed and uncompressed - Mic-E (`` `
, ``') — compressed position for mobile units - Message (
:) — directed messages, bulletins, announcements, ACK/REJ - Status report (
>) - Positionless weather (
_) — standard fields plus ESP32APRS extended fields (see below) - Telemetry report (
T) —T#seq,a1,a2,a3,a4,a5,bitspackets - Maidenhead locator beacon (
[) — grid square to lat/lon conversion - Station capabilities (
<) — IGATE and related capability advertisements - General query (
?) — APRS, WX, IGATE query packets - Raw GPS / NMEA (
$) — GPRMC and GPGGA sentences with checksum validation - Raw weather / Peet Bros (
#) — Ultimeter 2000 data-logging format - Complete weather / Peet Bros (
*) — Ultimeter 2000 complete record format - Third-party traffic (
}) - User-defined (
{) - Beacon — fallback for common TOCALL patterns
Standard APRS weather fields parsed from position reports and _ packets:
| Key | Field | Unit |
|---|---|---|
c | wind_direction | degrees |
s | wind_speed | m/s |
g | wind_gust | m/s |
t | temperature | °C |
r | rain_1h | mm |
p | rain_24h | mm |
P | rain_since_midnight | mm |
h | humidity | %RH |
b | pressure | hPa |
L | luminosity | W/m² (0–999) |
l | luminosity | W/m² (1000–1999) |
s | snow | mm |
Extended weather fields from ESP32APRS_LoRa (HS5TQA):
| Key | Field | Unit |
|---|---|---|
m | soil_temp | °C |
M | soil_moisture | %VWC |
w | water_temp | °C |
W | water_tds | ppm |
v | water_level | mm |
d | pm25 | μg/m³ |
D | pm100 | μg/m³ |
x | co2 | ppm (0–9999) |
X | co2 | ppm (10000–99990) |
F | ch2o | μg/m³ |
o | tvoc | μg/m³ |
u | uv | UV index |
n | sound | dB |
T | temperature | °C (high-precision, ×50) |
H | humidity | %RH (high-precision, ×10) |
T and H encode the same measurement as t and h at higher precision and will overwrite them if both appear in the same packet.
See the documentation.
To install the latest dev version from the Github repo:
pip install git+https://github.com/nakhonthai/aprs-python
Suggestions, issues and pull requests are welcome.
Just visit the repository at https://github.com/rossengeorgiev/aprs-python