The primary tool provided is an Automatic Packet Reporting System (APRS) or Citizen Weather Observation Program (CWOP) weather aggregation system. APRS_WX is a systemd daemon that connects to an APRS_IS protocol server, configure the feed to send packets within a specified radius of a given location. The weather reports are aggregated using a weight based on the distance from the location which decays to zero at or before the specified radius. The resulting information is pushed to an InfluxDB database.
Version 3.1 adds two new features:
- The server connection is closed after receipt of
cycleRate
packets, a new server is selected and a connection established. Servers send identification packets every 20 seconds so the default cycle rate of 100 will cause the choice of a new server in at most 33 minutes 20 seconds. This is reduced for each data packet received. Agregated values are maintained across server re-connections. - The program can be configured to repot data only upon receipt of a new data packet
influxRepeats == 0
(the default) or after the receipt of every packetinfluxRepeates != 0
. The former allows Grafana to smooth displayed data.
Debian packages are available for 32 bit ARM architecture which runs on Raspberry Pi, and 64 bit Intel architecture which runs on Intel and AMD processors. Configure the repository then
sudo apt update
sudo apt install aprs_wx
- git
- cmake
- A C++ compiler
- libcurlpp-dev - C++ wrapper around libCURL
- libcurl4-gnutls-dev, libcurl4-nss-dev or libcurl4-openssl-dev - cURL libraries based on various crypto systems.
apt install git cmake g++ libcurl4-openssl-dev libcurlpp-dev
git clone git@github.com:pa28/APRS_WX.git
cd APRS_WX
mkdir cmake-build-release
cd cmake-build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install
make package
The configuration file will be located at /usr/local/share/APRS_WX/config.txt
or
equivalent location. The package default configuration file will also be installed
in the same directory under the name config.pkg
and updated if aditional optiions
are added.
Default config.txt:
#
# Configuration file for APRS_WX Weather Agregator
#
# Set to the callsign, required for validation, SSID optional.
callsign N0CALL-9
# Set the passcode associated with the callsign, required for validation. If you do not know your passcode, or
# how to generate it contact the software provider.
passcode 12345
# QTH Latitude South negative
latitude 12.3456
# QTH Longitude West negative
longitude -123.4567
# APR_IS filter radius in km
radius 50
# Server cycle rate (packets)
cycleRate 100
#
# InfluxDB parameters
#
# To use https set this to 1
influxTLS 0
# The database server host name, assumes influx is an alias for the database server.
influxHost influx
# The database connection port
influxPort 8086
# The database name to store measurements.
influxDb aprs_wx
# Repeat write data to influx on receipt of server identification message if set to 1
influxRepeats 0
sudo systemctl start aprs_wx
sudo systemctl status aprs_wx
sudo systemctl enable aprs_wx
sudo journalctl -u aprs_wx.service -f