For quite some time I’ve been playing with the thought about bying a Raspberry Pi. Yet the biggest issue was: I had no use case for it!
I always liked information about the weather – especiallly I wanted to know in the morning how cold it was at night etc. So the use case was found: a weather station! Yet I was pretty distracted from all examples that I found on the web as I wanted a visually appealing UI so that it is fun to look at the data. Usually the samples just controlled a small LED display to display some values but – honestly – I don’t need a display at the weatherstation directly – I mean – shouldn’t it be somewhere outside and not in the room?
After seeing some of Gerrit Grunwald’s JavaFX-RaspberryPi projects I finally got my use case:
A weather station that shows the actual (and historical data) on our television. Of course the station should be controlled by the TV’s remote control. An additional remote control was unacceptable as there are already too much of them in the room.
Yet I was still a bit afraid of all the detailed electrical work (assembling sensors, resistors, etc) that I’ve never done before. One day, a colleague told me to have a look at Tinkerforge.
Tinkerforge provides quite a nice set of sensors, controls, tiny LCD displays etc that can be connected via USB to a computer. Beneath quite some others, they offer sensors for measuring the temperature, humidity, air pressure and ambient light. yet, the really, really cool thing at these components is that you simply connect one so called masterbrick via USB to a computer and then connect the sensors to this brick by just plugging in some cables. The values can be accessed through their API in quite some languages (Bash, python, php, java, …). No additional power supply or no electrical know how required. And all this for a quite affordable price.
Sure, you can do it cheaper if you’re building it all from the ground, but I just wanted to save time, so I was willing to pay the (rather little) price.
Getting the Requirements
So what did I want to achive? In the end I wanted to have
- A weatherstation (further refered to as the sensor station) outside that measures temperature, humidity, air pressure and ambient light. The sensors should be connected to a WiFi enabled Raspberry.
- An appealing GUI that displays all the data (current and historical) on our TV. Switching through the data must be accomplished by the TV’s remote control. So I needed another Raspberry which could communicate with the sensor station (to get the data) and also with the TV to get the remote control’s command via HDMI.
- Communication between the two should be very fail safe and as simple as possible (to avoid maintenance)
In the next two posts I am going to explain how both Raspberries are set up: First the sensor station which is recording all the nice data. The post will be mostly about the RasPi and the according sensors. The subsequent post will be about the RasPi which is connected to the TV via HDMI, the GUI and how to control the GUI using the CEC-Commands from the TV’s remote control.