In this project we will create a home based weather station using the Raspberry PI single board computer. There are many commercially made home weather stations priced anywhere from hundreds to thousands of dollars. The objective is to create a weather station where we have full access to the weather data and the ability to add our own sensors.
Using a Raspberry PI single board computer gives us the power to process and log vast amounts of weather data. It gives us the ability to generate an internal web page with graphs of weather trends as well as send emails about current weather conditions to our cellphone so we know what is going on at home while we are away. We can monitor indoor and outdoor temperature and send an email alert if the house gets too hot or too cold.
There are many interesting sensors that we can add to our weather station. This project will help us to learn about not only the weather, but how to interface environmental sensors to a microcontroller.
The features we would like to have in our home weather station are as follows:
Figure 1.1 shows a block diagram of the Raspberry PI weather station system. The Raspberry PI single board computer would form the indoor base station of the weather station. The Raspberry PI would perform the main tasks composed of processing the weather sensor data and generating, graphs, web pages and emails.
A wireless link would connect the Raspberry PI with the outdoor sensors. The wireless link could be a simple transmitter receiver pair, but in reality we will use a more robust wireless module called XBee which communicates using the mesh networking protocol ZigBee.
We will build the basic wireless link between the Raspberry PI and the outdoor sensor module first, then we will add sensors one by one to the weather station. Here is a list of some of the sensors of interest that we can add to the weather station:
Figure 1.2 shows the proposed remote sensor unit block diagram. The remote sensor unit will communicate with the Raspberry PI base station via a XBee wireless module running the ZigBee protocol. Note that this is a simplified diagram we will most likely use multiple remote sensor nodes located in different physical locations. The reason for using multiple sensor nodes is because each of the sensors have an optimal placement and no one place may be ideal for all of the sensors together.
For example, it would be ideal to have both the UV and sunlight sensors located in direct sunlight, but the temperature sensor would be more accurate if it were located in the shade. Using multiple remote sensor nodes would allow us to locate the sunlight and the temperature sensors in different locations. XBee modules would allow us to use mesh networking which would allow us to easily add additional sensor nodes.
Using the Raspberry PI allows us to create a more full featured interface for the weather station rather than the typical microcontroller based LCD display. There will be no local interface directly to the Raspberry PI weather station, instead all interfacing will be done over the local Ethernet home network. Here are some of the planned user interface features: