The WeatherStationMan is a wireless outdoor Arduino weather station that logs and graphs humidity, temperature, and pressure. This project requires no external power for outdoor sensors (it's solar powered), wirelessly communicates between sensors and computer (either Mac or PC), logs the data, and is relatively inexpensive and easy to build.
Building Materials:
- Seeduino Stalker v2.3
- Solar panel for powering the outdoor sensor
- LiPo battery of 1000mAH
- DHT22 Humidity sensor
- BMP085 Barometric pressure sensor
- 10KOhm Resistor
- 2x XBee series 2 modules
- XBee Explorer
- Jumper wires
- USB Cable to connect PC to XBee Explorer
- Small solder-less bread-board to hook up the two sensors above (for debugging purposes), but then I used 21 x 19 Proto board
- An FTDI board, 3.3V (to debug information from the stalker board)
Software:
- Download Arduino (I used the version 0022, but my code can work for the newer Arduino version)
- Download X-CTU (for configuring the XBee modules on PC) or CoolTerm (for configuring the XBee modules on Mac)
- Download Processing (tool to read graph)
- Download drivers (if your computer cannot find drivers use the website to download them)
Other Tools:
Disclaimer:
I built this project as something to do in my spare time and not as a product. I did not include any other languages support besides English. I used only Celsius temperatures (it can modified to record Fahrenheit temperature if need be), and once again this a recreational project and NOT a product.
Overview to build the WeatherStationMan
- Connect all the sensors to the Stalker/Arduino board
- Configure the XBee modules
- Load Arduino code onto the Stalker
- Run graphing program on the computer
- Last-minute modifications
Connecting the Sensors:
- Connect the DHT22 sensor to breadboard, which is connected via Jumper wires to the Stalker Board
- DHT22 is connected to digital pin 2 of Stalker board
- DHT22 Pin 1 to 3.3 Volt of Stalker board
- DHT22 Pin 4 to GND of Stalker board
- DHT22 Pin 2 to digital pin 2 of Stalker board
- 10K resistor between pin 1 (Vcc) to pin 2 (data) of the sensor
- DHT22 Pin 3 is left not connected.
- Connect the BMP085 sensor to the breadboard, which is connected via Jumper wires to the Stalker Board
- BMP085 is connected to the I2C interface (analog pins 4 and 5 of the Stalker Board).
- Vcc from sensor breakout board to 3.3V of Stalker board
- GND from sensor breakout board to GND of Stalker board
- SDA from sensor breakout board to Stalker board analog pin 4
- SCL from sensor breakout board to Stalker board analog pin 5
Configuring the XBee modules:
- Install the X-CTU utility (or CoolTerm if you're using Mac) and Drivers
- Connect XBee with USB to computer and run CoolTerm
- Configure one unit to be coordinator and another to be endpoint
- Place the XBee module configured as endpoint into the Stalker socket
- Place the XBee module configured as coordinator into the XBeeExplorer and connect it to the computer
- Optional: Do firmware upgrade to the XBee Modules
More information for Mac
More information for PC
Loading Arduino code onto the Stalker board:
- Copy the Boards code into the Boards notepad/textEdit document, which is located inside the arduino folder (inside hardware folder) in the Arduino program (arduino folder is located in users/ "your username" /Arduino/Contents/Resources/Java/hardware/arduino/)
- Connect FTDI board on the Stalker (for debugging purposes)
- Connect the USB Cable from the FTDI board to the computer
- Add the Libraries DHT22 and BMP085 into the user libraries of your Arduino (libraries folder is located in users/ "your username" /Arduino/Contents/Resources/Java/libraries)
- Place the code for the Stalker into your development area
- Compile and load the program onto the Stalker
- Remove USB cable and connect XBee module
Running graphing program on the computer:
- (For Mac) Copy certain libraries from the Arduino program into Processing (Copy RXTXcomm.jar and librxtxSerial.jnilib from Arduino (found in users/ "your username" /Arduino/Contents/Resources/Java) into Processing (where to place the RXTXcomm.jar copy: users/ "your username" /Processing/Contents/Resources/Java/modes/java/libraries/serial/library/) (where to place the librxtxSerial.jnilib copy: users/ "your username" /Processing/Contents/Resources/Java/modes/java/libraries/serial/library/macosx)
- Place the code for the graph into the development area
- Connect battery and solar charger to the Stalker
- Plug the other XBee module into the computer with the USB cable
- Run the program and graph
Last-minute modifications:
- Remove the bread board and solder the jumpers wire through a proto board
- Put an enclosure around weather station
Last, but not least, enjoy the weather!
Notes:
You need to place the outdoor unit somewhere where direct sunlight does occur from time to time, otherwise if there is too much sunlight, temperatures reading will be very high, especially in the summer. In addition, after 1 hour of direct sunlight the battery should be fully charged.
There is a log file that saves the data every day. If you want you can modify the data, so that you receive data every 30 minutes or longer instead of every second.
If, for some reason, you cannot open the Graphing and Collection file, rename the folder, which has the processing file in it, graphforbm. Then the computer will be able open the file properly.