Skip to content

pa28/APRS_WX

Repository files navigation

CWOP/APRS Weather Aggregator

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 Updates

Version 3.1 adds two new features:

  1. 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.
  2. 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 packet influxRepeates != 0. The former allows Grafana to smooth displayed data.

Table of Contents

  1. Prebuilt Packages
  2. Build
  3. Requirements
    1. Get the Source
    2. Compile
    3. Install
  4. Configure
  5. Running

Debian Packages

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

Building

Requirements:

  • 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

Get the software

git clone git@github.com:pa28/APRS_WX.git

Compile

cd APRS_WX
mkdir cmake-build-release
cd cmake-build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
make

Install

make install

Make Debian packages

make package

Configure

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

Running the Daemon

Start

sudo systemctl start aprs_wx
sudo systemctl status aprs_wx

Enable start on boot

sudo systemctl enable aprs_wx

Tail the log file

sudo journalctl -u aprs_wx.service -f

About

Analysis of APRS weather packets, specifically using CWOP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published