This Instructable will show you how to build a really cool Raspberry Pi Internet-based weather station. Actually, to call this build a “weather station” is a bit of an under statement. This build could easily be extended to provide much more than simply the weather. However, it's a good start and it looks really cool on my desk.
Our family (OK, mostly me) has enjoyed having the family iPad on the kitchen counter, when not in use, quietly showing the current outside weather conditions. However, it's a pain to load and unload the iPad in and out of the arcade cradle case. Plus, just when I go to look at the weather, I discover someone has taken the iPad / weather display. What's needed is a permanent counter-top display that the kids are not going to swipe like the iPad.
Step 1: Gen 1 – The Lunchbox Pi Weather Station
My first thought was to use a little composite video display. I picked up the one in the picture on Ebay for $22 bucks – simply search on “4.3 Inch TFT LCD Car Rear View Monitor Car Monitor”. The display has a reported resolution of 656 by 416 pixels which defiantly makes displaying a lot of useful information a challenge! The display requires 12Vdc as the supply voltage. The Raspberry Pi, of course, needs 5Vdc as the supply voltage. To resolve this, I bought a cheap USB car charger from Amazon. For around $6 bucks I found a 5Vdc by 2 Amp car changer. Therefore, the lunchbox has an external 12Vdc wall wart power supply. The 12Vdc powers the display directly. The 12Vdc also goes to the USB car charger which steps the voltage down to a regulated 5Vdc. As a final hack, I soldered a pair of wires directly between the car charger and the Raspberry Pi – not my best idea.
While it all kinda worked I was not really satisfied with the quality of the video on the composite display. The small font on the display was more fuzzy than I would like. Plus, while the lunchbox at first seemed cute later it seemed kinda cheesy.
Step 2: Gen 2 – HDMI Monitor + Laser Cut Plexiglass Arcade Case
Back on eBay I found a nice looking $54 dollar HDMI open frame monitor with a resolution of 800×600. By definition, an open frame anything needs a frame to mount in. Since the cuteness of the lunchbox was long over it was time for some laser cut acrylic. My local hacker space i3Detroit has a really nice 150 watt cutter that can make mince meat of 4.5mm acrylic.
I loosely based my arcade enclosure on the iPad arcade box. If I ever make a Gen 3 design it would defiantly include a removable / slide out tray for the Pi. Turns out, it's a major pain in the neck trying to plug things in and out of the Pi since there is not much room between the Pi and the side walls.
The HDMI monitor also requires a 12Vdc feed. So, I used the same trick of using a USB car charger again. This time, however, I chopped up an old USB cable so soldered wires on the Pi was not required.
If anyone is interested in the arcade case post a comment below and I'll upload the DXF files. Or, the files are on my web site at ph-elec.com.
Step 3: Pi Setup
To setup a new Raspberry Pi with the needed software is not that hard. All the software is written in Python with just one added Python module. The extra Python module is called “pywapi”. Here is a link where you can download the module. This module makes it easy to get real-time weather from either Yahoo, Weather.com, or NOAA.
First things first, here is a checklist to setting up a raw Raspberry Pi:
- Download the latest Raspbian (Debian Wheezy). Unzip to obtain a .img file.
- Write the to a SD card with “dd bs=4M if=2014-09-09-wheezy-raspbian.img of=/dev/sdb”
- The dd command takes about five minutes. When complete, run “sync” to flush the pipes.
- Install SD card in the Pi and reboot. Make sure there is an Ethernet connection to the Pi.
- Using the “Attached Devices” page on the router, find the IP address of the new Pi.
- Login to the Pi using “ssh [email protected].???” where ??? is the IP number from above. Password will be “raspberry”.
- On the Pi, use the command “raspi-config” to setup defaults.
- Turn on automatic boot into the GUI.
- Set the host name to something like “MyPi”.
- Install VNC on the Pi with “sudo apt-get install tightvncserver”.
- Run “tightvncserver” which sets the password.
- Back on the big Linux box, use “Remote Desktop” to view the Pi GUI desktop.
For more detail: Raspberry Pi Internet Weather Station