Home

Awesome

remoteweather

remoteweather is a service that pulls live weather data from your weather station hardware, stores it in a time-series database, and shares it over a variety of mediums. It supports popular weather services, gRPC, APRS/CWOP/AX.25 (both RF and APRS-IS routing), along with an attractive and responsive live-streaming Web interface for desktops, tablets, and smartphones.

Features

Quick Start

You will need a few things to use remoteweather:

  1. A Campbell Scientific Inc station and datalogger, or a Davis Instruments VantagePro or VantagePro 2 weather station. This should also work with the Davis Instruments Vue but I haven't tested.

  2. A way to connect your station to a Linux server. There are several options for this:

  1. One or more of the following:

Installation

The easiest and recommended way to use remoteweather is to use the ready-made Docker image, chrissnell/remoteweather/v4.0. This image makes use of gosu to drop root privileges to nobody:nobody. I have included an example Docker Compose file and systemd unit file to get you started.

To use Dockerized remoteweather, follow these steps:

  1. Drop the systemd unit file remoteweather.service wherever you keep your aftermarket unit files. On my Ubuntu server, that's /etc/systemd/user/.

  2. Create a directory for the remoteweather configuration and compose files. I recommend /etc/remoteweather. If you call it something different, be sure to edit the remoteweather.service and docker-compose.yml files to reflect your path. Most folks won't have to edit these.

  3. Copy the config.yaml and the docker-compose.yml files from this GitHub repo into your /etc/remoteweather directory.

  4. Start remoteweather.service by running this as root: systemctl start remoteweather.service

  5. Have a look at remoteweather logs to make sure everything is working correctly: journalctl -u remoteweather -f

  6. Make sure that remoteweather.service starts at boot time by running systemctl enable /etc/remoteweather/user/remoteweather.service

gRPC Support

remoteweather includes a built-in gRPC server that can serve up a stream of live weather readings to compatible clients. I have written an example client, grpc-weather-bar, that reads live weather from remoteweather over the network and display it within Polybar, a desktop stats bar for Linux.

If you would like to build your own client, have a look at the protobuf spec.