I've recently brought an Oregon Scientific RMS300A temperature and humidity weather station (they're cheap). This has USB "data logging" output, and I want to connect it to my Ubuntu Linux netbook. The netbook is the house "server", so always on, which is handy as the RMS300 doesn't actually store any data, data has to be downloaded in real time and stored on the computer.

There is some Windows software that comes with it. Not only is that of no use to me, it has bad reviews so is not even worth trying to run with Wine emulation.

All I want to do is log the data (not display it, that's the job of a web application later). After a lot of searching I found the RMS300 has the same format data as the WMR100 (and WMR200, amongst others) and there is a great little application which just logs the data.

It's Barnybug's WMR100 module that is open source and written in C.

Follow the instructions on there. First of all, install libhid-dev.

Then, make the program.

Then, run wmr100 either as root or follow the udev instructions to run it as a user.

It logs output to data.log in the directory you run it in. Note that the logged temperatures are in Celcius only.

Here's what the log file looks like (my outside sensor is channel 2):

DATA[20100531074337]:type=TEMP,sensor=2,smile=2,trend=-,temp=27.1,humidity=17,dewpoint=0.0
DATA[20100531074345]:type=TEMP,sensor=0,smile=0,trend=,temp=32.1,humidity=26,dewpoint=0.0
DATA[20100531074350]:type=CLOCK,at=201005310044,powered=0,battery=0,rf=0,level=1
DATA[20100531074355]:type=TEMP,sensor=0,smile=0,trend=,temp=32.1,humidity=26,dewpoint=0.0

Sensor 0 is indoors. Each other sensor number matches the channel number, so if you have an outdoor sensor on channel 2 (slide switch in battery compartment in middle position), it'll be logged as sensor 2. The indoor sensor (the base station) updates around every 10-12 seconds, the remote sensors about every 45 seconds (or less often if the signal is weak).

If you move the compiled executable to another machine, you'll need to install libhid-dev on that machine as well. I've tested this on Ubuntu 9.10, and I've also had a report that Centos 5.5 works fine as well.

All in all, the program just does one job, simply, and makes the RMS300A useful in a Linux environment.

As far as reliability is concerned, I've not had the RMS300A long enough to know that. I did have to hard reset the weather station once after disconnecting (and reconnecting) the USB cable (the wmr100 program could no longer see it), but that doesn't happen everytime, need to find the exact case (probably depends if it is communicating at that moment). In a reliable power constant 24/7 setup it should be OK.

Now, I just need to write the remaining part of the system, to read that log file to produce pretty web reports...