- Temperature, Humidity and barometric pressure measurement
- No external power for outdoor sensors required (solar powered)
- Wireless communication between outdoor sensor and PC
- Full logging and reporting on weather information on PC
- Relatively inexpensive and easy to build
Code is also available at https://github.com/zmashiah/arduino-StalkerV2WeatherStation
Components of the solution
- Arduino compatible Seedstudio Stalker board for remote sensors.
- XBee based communication between outdoor sensor and PC
- Solar panel and LiPo battery for outdoor sensor power
- XBee Explorer connected to PC for communication reception
- C# based PC application to store, report and graph all data
What will you need to build this?
- Seeduino Stalker v2 ($39). If you chose v2.1 there will be some code modifications required.
- Solar panel for powering the outdoor sensor ($ 2.00)
- A LiPo battery of 1000mAH or 2000mAh ($7.5 - $12)
- DHT22 Humidity sensor ($ 9.95)
- BMP085 Barometric pressure sensor ($19.95)
- A 10K Resistor
- 2x Xbee series 2 modules (2x $25.95)
- XBee Explorer ($ 24.95)
- Jumper wires
- USB Cable to connect PC to XBee Explorer
- Optional small bread-board to hook up the two sensors above. Choose either a solder-less one or something like this that does require soldering or any other alternative you think is suitable for you.
Notes about the components:
Battery: I built the outdoor sensor unit with 2000mAh battery, however by monitoring the device for few months now, including winter I can tell you this is really an overkill as the battery does not get drained or even close to that. I have every reason to believe a 1000mAh or even less will be enough.
Price: For almost any of the components above, I recommend spending some time online, including eBay to find a much better price for each. My experience in the last 6months is that you can find things on eBay for fraction of the cost compared to the amateurs sites.
Board: I used the Seedstudio Stalker for remote sensor controller, however one can really build it with many other Arduino compatible boards. The reason I chose this one is because it has both XBee module socket, on-board real-time-clock (RTC), ready for LiPo battery power and charger, which are all great features that are required here. I did take advantage of the RTC for waking up the board periodically.
XBee: I used the 2mW Series 2 ZigBee modules while in fact for this application without future enhancements that I consider, one can use Series I modules and perhaps the 1mW versions. Since I plan future enhancements I used the Series 2 modules. As for transmitting power, the 2mW will be my recommendation. My house is built of concrete and the distance between outdoor sensor station and PC is not too long, still if I take it 5 meters further, the reception becomes very poor.
DHT22: You can choose to use DHT11 instead of the DHT22
Other Tools you will need:
- Arduino IDE. I use the version 0022. Porting the code and libraries to newer IDE version should not be too difficult but pointless as far as I am concern.
- X-CTU tool for configuring the XBee modules
- I use the following libraries: TMP102 (Stalker on-board temperature sensor), R8025 (Stalker on-board RTC), BMP085 (barometric pressure sensor), DHT (for DHT22 humidity sensor), NewSoftwareSerial (for debugging console), Xbee-arduino (for wireless communication). All these libraries are included in the code ZIP file here, however if you decide to port or modify things here, I thought is important to mention this list. Specifically when porting to newer IDE note the name of NewSoftwareSerial was changed, and you need to use #include instead of #include (back-compat of the IDE was not high on the list I guess :-))
- Soldering Iron
This is a hobby build and not a product. I did not include any languages support other than English. I use only Celsius temperatures (you can modify code to use Fahrenheit if you want), there is no data archiving and grooming support and more similar stuff that makes something a product rather than a hobby build.