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