Functional Requirements
- Increase convenience of using appliances
- Automatically activate devices when user is likely to need them
- Remember device settings for different users
- Also provide an explicit means of control; i.e., an application on your phone that controls all lamps in the house
- Maintain or increase the safety and security of the house
- Don’t let a hacker control the whole house via Bluetooth
- If we control the thermostat, don’t crash and burn down the house
- Noise should not be able to crash the system
- Easy to install
- Don’t require a central server/device
- Don’t require home-specific installation
(such as basing everything around a blueprint of the house
- Low Cost
- Cost of installation should scale to small houses
- Cost of installation should be justified by increased convenience/power savings
Requirements
- Reliability
System will work even under high-interference conditions where up to 50% of packets may be dropped.
Additionally, if the system crashes the user must still be able to control all appliances manually.
- Safety
The system will not be allowed to put the house in an unsafe state, such as setting the thermostat
to 150 degrees or turning on appliances such that a fuse is blown.
- Security
The system cannot render the house more vulnerable than before it was installed.
Bluetooth devices must not suddenly become more visible to bluejackers.
- Portability
Users should not need additional hardware beyond the base station. If no portable Bluetooth-enabled
devices are available (such as a mobile device or notebook computer), the user can attach a passive
RFID tag to their watch or other item they carry around often.
- Timeliness
The system needs to respond to users' movements and actions within ~200 milliseconds,
so no delay is noticed.
- Performance
The system should work with installations with multiple floors and a minimum bandwidth
of a 1080p video signal being transmitted between any two rooms.
Technical Specifications
Hardware Components

gumstix connex with robostix and wifistix attached (
source)

gumstix basix with brainstem attached
-
gumstix basix 400xm-bt (2)
Intel XScale PXA255 400MHz Processor
Infineon PBA31308 Class 2 Bluetooth Module
- gumstix robostix (2)
60-pin I/O header
- Infrared Sensor/Emitter Pairs

- X10 controller
- HandySwitch (maybe)
===========>
Software Components
Protocols Used
Use Cases

gumstix connex Interaction Diagram