Stelios's Place

A place for thoughts and ideas

The Weather Machine


   This is a project I'm currently working on based on the famous PicAxe micro controller. The basic idea is to create a smart 'object' to display information about the temperature in my house, outside my house and a weather forecast for my city (Athens, GR) coming from the WeatherUnderground website. I have also added the option to see the number of new emails in my GMail Inbox. It's a glanceable information panel which is using a multi-panel design with needles which move to represent the  information. This smart object works as an Ambient Information device which delivers information in a non distracting way.

   The connection between the data and the panel occurs on top of a wireless data communication link. The device has a wireless receiver device that enables it to receive the data. The transmitter device is connected to a PC. This PC  runs the software that gathers the data from the Internet, formats it, encodes it for a specific receiver ID and pushes is out through the wireless transmitter. The data encoding option allows the same transmitter to be also used for other 'smart' objects since the data can be directed for a specific device. This concepts is similar to the wireless datacasting network both Ambient Devices and Microsoft SPOT are using. Many different 'smart' objects can be created each having a different ID, connected to the same datacasting network and linked with information sources through this wireless network. Each one of this objects can display different kinds of information and can also use different types of Ambient Display in order to integrate this information to the surrounding environment.

   This is how the Weather Machine looks like at the moment. The main material used is plexyglass. The pointers are using analogue R/C servos to move around. You can also see the 4 information panels. Top panel is for the weather forecast, the panels left and right are for the temperatures inside and outside my house. The panel on the bottom is the GMail Inbox counter. In the final step the device will probably be mounted on a wall.

The Weather Machine device
The Weather Machine device

The Weather Machine with the wooden frame
The Weather Machine with the wooden frame

   This is how the circuit board looks like. The components are soldered on a perfboard since I needed to have something fast and easy. Each of the servos you see attached on the plexyglass controls a needle for a specific information panel. The uC used is a PicAxe 18x micro controller chip programmed in BASIC language. You can see on the left side of the circuit the wireless receiver module which works in the 433MHz range. You can also see the antenna (black thick wire) extending from the receiver module.

The Weather Machine circuit board with PicAxe
The circuit board with the PicAxe uC

The Weather Machine circuit board with PicAxe
The circuit board with the PicAxe uC (closer look)

  The needles are attached on a servo arm. This is how they look on top of a panel prototype. The needles are actually made with colored wire. I used two colors, red and blue. The information panels were drawn using the OpenSource Inkscape software.

The Weather Machine needles and panel
The needles and the panel design

   I still work on the software that will be running on the PC. The software it's written in Python. The data is fetched from the Internet as RSS feeds. I have also created a Yahoo! Pipe that combines the RSS feeds containing temperatures from my house (in and out) and also the weather forecast into a single RSS feed. The GMail data is coming from the RSS API Google has released. Since not all the servos are alike I need to fine tune the needles to point at the correct value on the panel. This will also have to be done in the software.

   I will be releasing source codes and schematics as soon as the project is finished. The transmitter device used to create the wireless datacasting network will be documented on separate project.

Comments and suggestions are welcomed.



~steliosm

Search

Navigation