Skip to main content

Gadget Wisdom

Series: Weather Station

0 Responses

Starting a Weather Station

A few years ago, I set up two weather stations. More recently, with me being stuck at home, I’ve made some tweaks and enhancements. I’ve invested some time in trying to figure out what I’d do if  I had to do it over again. So, in addition to improving the setup, I’m going to work on enhancing it.

At the moment, in one location, I’m using the Acurite Atlas weather station. The Acurite equipment is designed to be used with their station, or internet connected system, but I  do not do that. When I first started, I also used Acurite temperature sensors hooked into my Home Assistant instance to track internal temperature. But I’ve since dismantled that system and replaced it with a combination of other sensors.

Acurite is known as a low-end hobbyist brand, and while  there were some criticism with the accuracy of the Acurite 5-in-1 sensor, which I still use  in  one of my stations, the Atlas offers better accuracy and  several additional sensors.

All Acurite equipment transmits using a 433MHz radio, which can be picked up by a USB software defined radio  and  a program called RTL_433.  I’ve run this on a Raspberry Pi, and sent to a more robust system for storage There are alternative weather stations, which offer different ways to get the data, but the important part for me is to be able to get the data, because then I can do things with it, such as upload it to third party servers, display it, etc.

In future posts, I am going to get into more detail on how I set this up and what I’ve learned.

Published on April 14, 2020
Full Post
1 Response

The Power of Weewx

There are a lot of different ways to store and use weather data. For my station, I wanted something that had a lot of built-in features and extensibility. I ended up with WeeWx, which is a well-supported python based project. They are currently in beta for Version 4.0.

WeeWx supports multiple sources for inputs, uploads to a variety of sites, and has extensions to add additional functionality. It generates reports that can be deployed by ftp or rsync to a remote website, or  as I do, you can host it on the computer running the software. WeeWx is lightweight enough you could host it on a Raspberry Pi. I do this for one of my weather stations. With the other, I’m hosting on the same computer that handles my Home Automation.

With something like a Pi, the biggest concern is frequent writes to the database. So if you are using a Pi, I suggest you use a database hosted elsewhere and transfer the reports to another computer, or you may wear out your microSD card. I will have to talk about my Pi issues another time, but the weak point on a Pi is the microSD card.

Installing WeeWx is simple as installing any other Linux package. Then, in order to receive data from 433MHz SDR(software defined radio) devices, the easiest way is to get an RTL-SDR USB dongle and add the extension, WeeWx-SDR. This requires a little compiling of various drivers to allow receipt of signals from a variety of different devices. It takes some trial and error to map the sensors to the right values in WeeWx though.This is just a matter of running an application and noting the output. However, once you do this, it stays stable…unless you change hardware. I am also using the Acurite Atlas, which is not in the stable version of RTL_433, the library that translates the 433MHz signals, but you can install the development branch.

I also supplement that data by running another extension, weewxMQTT, which I use to send in sensors that are not coming in via 433MHz. This is how I added a barometer, as I couldn’t find a 433MHz one. There is a robust set of examples from hobbyists of creatng MQTT enabled sensors using inexpensive wifi enabled boards like the NodeMCU or the D1 Mini.

After WeeWx is installed, and the drivers for the various sensors are added, the system will generate reports. The default skin, which is the template for the output, is probably sufficient for most people, but it can be customized, and alternate ones found online.

WeeWx also has built-in and extensible uploaders to send the data to various sources. I contribute to every source that will let me. Why discriminate?

Next, will cover some of the customizations I’ve put in.

 

Published on April 27, 2020
Full Post
0 Responses

Updating the Sensors

The last time I added to this series was a few years ago. But a new writer wrote something on WeeWX on the site, and the technology has changed, so I decided to update what I had done. I moved from WeeWX-sdr over to WeeWX-MQTTSubscribe. MQTTSubscribe is actively developed by Rich Bell, and he is very responsive to issues. The extension can act as a driver or a service…so either as your primary source of weather data, or to add additional weather data.

The other advantage is that RTL_433 can run as a standalone service and now supports publishing to MQTT. So, it can decode my weather sensors as well as my 433MHz leak sensors. Oddly enough, I also seem to be picking up someone’s tire pressure sensors as well.

Elsewhere, I assembled custom sensors to get additional readings, running ESPhome, also sending their data via MQTT and being integrated by the same extension to WeeWX. This includes barometric pressure and particulates.

This means my WeeWX installation is much more robust, and modular. This is mirrored in my Home Assistant installation, where I’ve increasingly divided off some subsystems to act more independently.

 

Published on December 6, 2023
Full Post

Get New Posts By Email