New kit

I upgraded to an OS WMR100: about as close to a proper weather station as it gets. As well as measuring temperature and humidity like the RMS300, it also has wireless wind and rain gauges, the option for a UV sensor and sufficiently improved range that putting the sensors outdoors is feasible.

Finding a suitable place to put the outdoor parts ((the temperature sensor and wind gauge are designed to be mounted on a (included) pole; the rain gauge is meant to sit close to ground level with screws to make sure it’s level; both should be in open space)) was awkward but generally it all works.
There are a few issues: the signal from the wind gauge can be quite flaky ((the console is well inside range though there are walls which will affect that)) and the cover on the temperature sensor is plastic so quite poor at stopping the sun getting through.
Ideally, the two would be in separate places so that one could be in clear space and the other shaded.

Like before, I use the WMR100 USB client to get data from the console and dump it in a text file then parse it but store data in PostgreSQL and use matplotlib to draw graphs rather than rrdtool for both.

The combination has some advantages ((rrdtool doesn’t really work for rain data; mpl is a lot more customizable although the documentation sucks)). It’s a huge dataset to deal with ((a month’s worth of wind speed/direction data is 192k data points if every measurement is received, there are roughly 4 million lines in data.log right now and it grows at a rate of 19 thousand lines a day)) so a lot of work had to be done to get processing fast enough to be usable.
Lots of time was spent with the Python profiler and PG query analyzer, adding table indexes and looking for slow code.

Data also goes to Weather Underground – they do a load of analysis and graph drawing that I haven’t get around to.

Weather Nerdery

I’ve wanted to set up/build a weather station for a while; lazyness and apathy were mostly what stopped me. Last week, I bit the bullet and bought an Oregon Scientific RMS300 (change from 35 quid from OS themselves).
It comes in two parts: a base station with a screen and built in temperature/humidity sensor and an included wireless sensor (by default labelled “outside” as a serving suggestion).

The supplied (via download) software, “OS Weather”, is…pretty shit. It doesn’t work on Windows 7 (“trial version” available “end of June”, apparently) and I couldn’t be bothered setting up a virtual machine to screw about with it.

Next up was Weather Station Data Logger. It’s good, but I have more than enough machines running 24/7 without adding a Windows one (and again don’t particularly want a Windows VM). I have machines which do run near-enough-24/7 but run Debian GNU/Linux so the ideal solution would run under that and ideally headless.

Enter the WMR100 module which will do all the work of getting the data out of the base station and its wireless sensors and present them in a fairly easy to manipulate format:

DATA[20100622001211]:type=TEMP,sensor=0,smile=0,trend=,temp=24.7,humidity=42,
dewpoint=0.0

Next magic trick will be to get the data I collected with WSDL and the data that’s being collected with WMR100, stick it all together in some way, and start getting it into graphs of some description. rrdtool‘s the obvious candidate.