The HAUS Master Module is responsible for dictating commands to all of the slave modules, and interfacing with the Server. In my original design, it was meant to be the brain for the entire HAUS infrastructure.
I had an original design of something reminescint of HAL 9000, a large glowing eye that pusled in time with it's speech. I had also envisioned using speech synthesis, probably from the SpeakJet chip. Powering this design was the FEZ Rhino, an ARM based microcontroller board, with an Ethernet port addon. This design was simple and looked better as an end user product.
The Rhino was a lot more powerful than anything I had lying around, and I still didn't own an Arduino. With the addition of the ethernet port, it would be easier to access the internet, thus connecting to the outside world would be much easier. At the time all I wanted was weather integration in addition to a notification and an alert system. The Rhino had plenty of serial connections thus any extra hardware to communicate between the computer and the rest of the HAUS system. With ethernet, the module could exist on its own, without the need of a computer.
The Rhino was all I needed and more, and that was the problem. The Rhino was so much more than I needed. The other problem with the board was that it had to be coded in C# under Microsoft's .Net framework, something that I had only recently been introduced to with the Netduino. The budget I was working with meant that the SpeakJet system and other such extensions were out of reach. Having a module on it's own was an alluring temptation but in order to communicate with it would mean having to write server, and client interface code, mixing two things, networking and .Net, that I wasn't all that familiar with.
With the purchase of an Arduino, that changed the way the final design would look. I wanted to move away from the self contained unit and work with what the average user might have. With the Arduino, I would have to be tethered to the computer, thereby also giving me easy access to the internet without having to purchase seperate hardware. I also wanted to add a graphic LCD to substitute the SpeakJet chip. The LCD would still be able to convey information to the user and lend more options than solely the SpeakJet. One design was pitched to me by a good friend that was meant to resemble GlaDOS from the popular videogame Portal. It would operate on a motorized armature suspended from the ceiling that would be able to move around to look at the user. It would still have the glowing HAL eye and operate on the SpeakJet system to be able to communicate. This design, albeit interesting and somewhat creepy, would be grossly out of budget, not to mention complicated and tedious to build.
The final design was meant to fit with the final style of the slave modules. It is still powered by an Arduino Uno and connected to the user's computer to connect to the internet. It is still plenty powerful to deal with the constant talking to various devices despite the AVR architecture.
The LCD on the front contains enough spaces to communicate various messages to the user. From the code, such things are displayed, such as the current notification or alert, weather data for the next day, the status of the mail, or changes made to the slave modules.
The RGB LED displays the current status for the user. The default for the LED is green, representing the OK status: there are no notifications or alerts. The user can send the main computer notifications, such as upcoming dentist's appointments, or other such things. When a notification comes up, the LED begins to grow and fade blue. At the same time, a twitter message is sent alerting the user of the notification. An alert turns the LED red. This is the alert status, meaning that there is some significant news that should be noted. From the code, an alert is generated due to specific weather criteria .
All parts are ordered from Sparkfun Electronics and DigiKey. The links are provided with each part along with the price.
Arduino Uno: $30 USD
Purchased from Sparkfun Electronics: http://www.sparkfun.com/products/9950 Use: to power the master module, interface with the computer and user, interpert messages coming from wireless reciever
2400bps RF Reciever: $5 USD
Purchased from Sparkfun Electronics: http://www.sparkfun.com/products/10533
Use: recieves messages coming from the HAUS Mail Module
RF Transmitter: $4 USD
Purchased from Sparkfun Electronics: http://www.sparkfun.com/products/8946
Use: transmits messages to the HAUS Slave Modules
20x4 Alpha Numeric LCD w/ Serial Backpack: $30 USD
Purchased from Sparkfun Electronics:
Use: conveys messages to the user when in the same room
Purchased from DigiKey:
Use: fades three different colors to alert the user to a specific status (OK, Notification, Alert)
The code for the Master Module was written in the Arduino IDE, so their software will be necessary to view and edit the files.