Functional Requirements

  1. 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
  2. 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
  3. 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
  4. Low Cost
    • Cost of installation should scale to small houses
    • Cost of installation should be justified by increased convenience/power savings

Requirements

  1. 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.
  2. 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.
  3. Security
    The system cannot render the house more vulnerable than before it was installed. Bluetooth devices must not suddenly become more visible to bluejackers.
  4. 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.
  5. Timeliness
    The system needs to respond to users' movements and actions within ~200 milliseconds, so no delay is noticed.
  6. 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
  1. gumstix basix 400xm-bt (2)
    Intel XScale PXA255 400MHz Processor
    Infineon PBA31308 Class 2 Bluetooth Module
  2. gumstix robostix (2)
    60-pin I/O header
  3. Infrared Sensor/Emitter Pairs
  4. X10 controller
  5. HandySwitch (maybe)
    ===========>

Software Components

Protocols Used

Use Cases

gumstix connex Interaction Diagram