For Christmas 2013, my good wife, knowing the geek that I am, gifted me a personal weather station. I was delighted to receive it, and had it up on-line in no time, and it’s been happily chugging along for over a year since. I’ve always intended to write about the set-up, so today I’m going to tackle that…
The Weather Station
The weather station itself, is a basic entry level model we picked up from our local Maplin store. It measures internal and external temperature and humidity, barometric pressure, wind speed and direction, and rainfall rate. The external sensors attach to a metal stand, which you can attach to a wall or some other location. These transmit data to the touch-screen receiver, which you keep indoors. The receiver keeps a history (about a week) in its internal memory, and this can be accessed over a USB connection and analysed using EasyWeather software for Microsoft Windows.
The Raspberry Pi
Ever since it’s launch I’ve been a fan of the Raspberry Pi mini-computer and have implemented several projects using them. Using one to manage the weather station seemed a good idea, and I set about looking at software equivalents for EasyWeather that would run on Linux and the Raspberry Pi. I stumbled upon Pywws, which was written specifically for EasyWeather compatible weather stations, so I used this to read and manage the data from the weather station in real time.
Publishing the Data.
Pywws excels at reading the data from your weather station and creating graphs and reports from it. It can also be configured to send data to on-line services also, so knowing this I set up an account on wunderground.com and created a new weather station, before configuring the system to publish data here in real time (every 50 seconds approx). Pywws does all the heavy lifting, I only had to write an init.d script to turn it into a system service and allow controlled start-up and shut-down of pywws software as the Raspberry Pi was powered up or down.
It is also possible to set up a tweeting schedule, so that the recent weather data can be summarised and tweeted automatically. This seemed cool, so I did this also. Details for configuration are all given in the Pywws documentation, linked below.
How it Works.
Generally it works quite well. The most severe failure I’ve had was when the batteries died in the external sensor transmitter. You’ll have to climb back up to your weather stations and swap in new ones. In the meantime, your station will be offline as there is no new data gathered.
Other than this, there are times when the service becomes interrupted. Since I have some other services running on the Raspberry Pi, it can sometimes get starved of CPU, or USB I/O and lose connection with the receiver. In this case the pywws process dies and needs to be restarted. In the meantime, new data is still held on the receiver memory, and the software can catch up when it next starts publishing.
Overall, the system is quite stable, given the parts used.
- Black USB Wireless Touch-screen Weather Centre
- Pywws – Python software for USB Wireless WeatherStations
- IGALWAYG4 on wunderground.com
- LoughreaWeather on Twitter