Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Building a Weather Station (drbunsen.org)
60 points by WestCoastJustin on Jan 4, 2015 | hide | past | favorite | 21 comments


I have a Davis Vantage VP2 station and reverse engineered the serial connection to the back of the console, the datalogger interface, and the wireless communications from the outdoor unit [1]. Using something like a $20 Moteino [2] (an Arduino clone with an RFM69W RF transceiver), I can monitor its readings without even needing a console. The wxforum [3] is also a very active and helpful site for people getting into this kind of thing. Recent experiments are opening the door for homemade temperature / humidity sensors and the like. Fun stuff.

[1] http://madscientistlabs.blogspot.ca/search/label/Davis%20VP2

[2] http://lowpowerlab.com/moteino/

[3] http://www.wxforum.net/index.php?board=59.0


"I first considered using various Arduino or Tessel configurations, but I soon came to the conclusion that the available hardware was not a good fit for my project. I needed weather resistant hardware that could operate in extreme conditions, preferably with low power consumption.

My research eventually lead me to purchase the Davis 6250 Vantage Vue for this project because it had several advantages compared to other solutions I considered."

Hmm. He wanted an off-the-shelf weather station that he connected to a RaspberryPI. Otherwise, Arduino would be a good fit too, especially if one connects various weather sensors to it. It works also in extreme conditions and has real low power consumption.

I built a weather station myself, with an Arduino UNO, connected several sensors (temperature, wind speed, wind direction, rain meter, humanity, light intensity, etc) and wrote a small webserver (ethernet shield) - total hw costs about 120$. The Arduino run without maintenance outdoors (-25° to +45° Celsius) since 2011. I built a web app that runs on a RPi that fetches the data from the Arduino web server with REST API.


Do you have a writeup of what sensors you used and how you programmed it? I started to look into this topic but was overwhelmed by the choices. When I finally settled on a path I found out, that the combined wireless sensor devices described are no longer available.

Edit: The sensor was called S 300 TH, and it was mentioned in several writeups/tutorials for wireless weather stations with Raspberry Pi.


Wind & Rain Sensor: https://www.argentdata.com/catalog/index.php?cPath=29 or https://www.sparkfun.com/products/8942 ; related Arduino sketch: http://code.google.com/p/pweatherstation/

You want an RTC1307 real time clock, a humidity sensor and pressure & temperature sensor from Sparkfun/Adafruit/etc.

e.g. https://www.sparkfun.com/products/11824 . Good starting point on SF: https://www.sparkfun.com/categories/152

Only buy sensors from vendors that provide you an up-to-date Arduino 1.2+ sketch for Uno/Mega or Due! I had to tune my sketch to fit it in Arduino Uno 32k memory (ethernet shield, various sensors code), so if it's your first project maybe use an Arduino Mega (more memory). Test every sketch on its own, then combine all sketches to one sketch. Cables are more reliable than wireless, especially if it should work years without maintenance. You can also use an RPi.


How's that humanity sensor work? ;-)


haha, I will ask Siri. (iOS auto correction)


Is there a weather station device that lets me query it directly? I just wonder what happens if Weather Underground shuts down or starts charging for API access so I'd rather have one I can access myself.


The future is that your _phone_ is the device that you can query directly. Some phones have barometers, thermometers, hygrometers, or UV sensors, etc. Our smartphones are becoming weather stations, and the future-proofing in your scenario where WU shuts down is merely to startup your own mesh-network of weather sensors.

My startup PressureNet aims to be the go-to platform for accessing/collecting dense atmosphere measurements: http://pressurenet.io/


"Our smartphones are becoming weather stations..."

Only to a very limited extent. A phone is not going to give me rainfall data nor wind information. A phone will also skew temperature readings because the phone itself heats up with usage and the fact that it is typically kept close to your body.


That works fine for measurements that are constant between in/outdoors (such as air pressure, I'm guessing), but how would that work for temperature? I don't care how warm it is in my pocket.


As another poster said, you can query the Vantage Vue (and VP2) directly, but the $295 LAN interface he mentioned is not a necessity. A cheap USB to serial adapter can be used to make a homebrew interface [1]. Beware thought that Davis has some newer firmware versions out there that blocked this hack, but some guys smarter than me figured out a workaround. The latest writeup on how to get around that is here [2].

[1] http://madscientistlabs.blogspot.ca/2014/02/build-your-own-d...

[2] http://www.wxforum.net/index.php?topic=18110.msg235399#msg23...


I use wview for running my parent's weather station: http://weather.voots.org/ i can't remember the station type itself now but it works pretty well and stores the data in an sqlite database if you ever want to work with it directly.


You can do it with the VantageVue model he mentions in the article. The WeatherUnderground integration simply allows you to see your weather station in the WU app and website.

I've had this page bookmarked for quite some time, wanting to build one, but the LAN module for the unit is $295. Someday...


So how does this unit get its data onto WU? Does it transmit to the base unit using RF, which is connected to a computer, and then the computer (with special drivers/software?) sends the data to WU? Would it be possible to connect the base unit to a computer or RPi through USB and 'sniff' the weather off it, when it's transmitted to WU? Or to have the DNS resolver point to localhost and MITM the data, so to say - eventually without even sending the actual data on to WU?

I'm looking for a way to measure the weather and integrate it with my home automation system, and the central heating control eventually, and I'm willing to shell out for a high quality, reliable outdoor measuring device - but I'm not paying 300 bucks for a 'LAN module' nor will I rely on connectivity to the internet for correct functioning of the system.

Actually I think this is a major flaw in the OP's setup - if the weather is bad enough for him to need such a system, then surely it must be so bad that he loses internet connectivity every once in a while, probably at the times he will need the weather measurements the most?


Once you've got the data out of the console using methods I've outlined in other posts, getting the data to something like WU can be pretty simple. One fellow, working from some of the stuff I figured out, did it with a simple LUA script and an ancient WRT-54G router.

http://blog.ancient-workshop.com/post/2011/12/10/Weather-Sta...


Yeah my question above crossed your posts elsewhere in this thread - in fact I just finished reading most of your site before coming back here and finding your reply ;) Great work, I'm going to look into this.


AmatYr is a similar project, written in Lua and JS with Postgresql as a backing database: https://github.com/torhve/Amatyr

Live setup: http://yr.hveem.no/

I'm not the creator, but I set it up for my own weather station, and it has been working flawlessly.


I backed a project on Kickstarter back in July '04 called BloomSky. It's a connected smart weather station with a sky facing camera. They haven't shipped yet but it looks pretty good!

http://www.bloomsky.com/


Did you really mean 'July 2004' or is that a typo?


Kickstarter launched in 2009, so it's a typo.


He mentions weatherunderground a couple of times ... great service. For me it has obviated the need to set up my own station, because the density and quality of weather data available in my area is excellent.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: