Internet Accessible Home Control Team 61
Team 61 Members Brandon Dwiel, Project Manager Sammi Karei Brandon McCormack Richard Reed Anthony Kulis Dr. Haibo Wang, Faculty Technical Advisor
Presentation Outline Executive Summary Subsystems ◦ Graphical User Interface ◦ Peripheral Hardware ◦ Low-Level Software ◦ Processing Core ◦ High-Level Software Video Demonstration Implementation Timeline Summary
Executive Summary The Internet Accessible Home Control System is a working prototype of an intelligent home system Integration of home components into one controllable system More modules can be developed and added to the system to provide extra functionality Each module is plug and play
Subsystems Graphical User Interface Peripheral Hardware Low-Level Software Processing Core High-Level Software
Graphical User Interface
Configuration
Graphical User Interface Key Code
Subsystems Graphical User Interface Peripheral Hardware Low-Level Software Processing Core High-Level Software
Peripheral Hardware Subsystem Includes Necessary Hardware Used to Gather and Transmit Data for the IAHC Components ◦ Single Board Computer ◦ Infrared Sensors ◦ Keypad
Subsystem Components Single Board Computer (SBC) ◦ Technologic Systems TS-7300 ◦ 200MHz ARM9 microprocessor ◦ 32MB SDRAM ◦ Debian Linux Distribution ◦ 55 Digital I/O lines ◦ Ethernet ◦ SD Card slots
Subsystem Components Sensors ◦ “Eyes” of the IAHC ◦ Detects human movement ◦ Three AMN11112 Infrared Radiation (IR) sensors provide 180 degree coverage ◦ 100 degree horizontal viewing angle ◦ 16 ft max detection range ◦ Communicate through I/O ports on SBC
Subsystem Components Keypad ◦ 16 Button ◦ Matrix Keypad ◦ Enter ‘A’ to initiate Key Code Session, then four digit pin
Peripheral Hardware Block Diagram
Future Development Less Expensive SBC Sensors with smaller viewing angle
Subsystems Graphical User Interface Peripheral Hardware Low-Level Software Processing Core High-Level Software
Low-Level Software Subsystem Provide Software to Enable the Processing Core to Communicate with the Peripheral Hardware
Subsystem Components Sensor Circuitry ◦ Overcome Pull-Up Resistors on SBC ◦ Small Enough to be Housed with Sensors
Subsystem Components Software ◦ Each Level Should Only Interact With the Adjacent Level
Software DAQ is the Main Executable ◦ Communicates with the Hardware Through Keypad and Sensor Software
Software The Keypad Software Uses the API Provided by the GPIO Driver Responsible for Recognizing the Entered Keycode Sensor Software Does Everything Involved with Reading from the Sensors
Software GPIO Driver Software is the Only Software that Directly Interacts with the Hardware Provides an API to Allow Interaction Between the Keypad and Sensor Software and the Hardware
Software Flow Chart
Future Improvements Expansion for more Sensors
Subsystems Graphical User Interface Peripheral Hardware Low-Level Software Processing Core High-Level Software
Processing Core Collects module data Manages connections to other components Uses that data to decide what actions need to be taken
Processing Core Implemented using Erlang Listens over a sockets Multi-process design
Processing Core Socket Manager Listens over TCP socket for modules Break packets into manageable parts Send out updates to other processes
Processing Core State Manager Keeps track of what is going on in system Handles requests for data from other processes Tells Rule Manager to reevaluate
Processing Core Rule Manager Stores the current rules the system is using Evaluates the rules to see if action should be taken Takes any actions needed
Processing Core Future Improvements Increase ability to handle new and different conditions and actions Improve ability to work with many modules
Subsystems Graphical User Interface Peripheral Hardware Low-Level Software Processing Core High-Level Software
High-Level Software Subsystem Operates within the Debian Linux environment Main Purposes Control SBC Administration
Subsystem Layout The network interface application has been named the System Information Server (SIS) ◦ Written in the scripting language called Python which is derived from the secure and robust language called Lisp ◦ Restricted to being a simple network interface ◦ Upon successful call, the SIS “hands off” the actual control/information processing to separate applications
SIS White Listed Access Using if/elif/else commands, the SIS compares calls to the white list, passing acceptable calls, and rejecting bad ones
Control 3 Main Control Calls 1.Text Message 2.Audible Alert 3.Reboot
Text Messaging Steps to generate Text Messages 1. SIS receives Text Message control call 2. SIS calls Messaging Script 3. Messaging Script instantiates client called Mutt using prebuilt text files containing the body of the message and phone numbers targeted for delivery 4. Mutt passes compiled message to onboard SMTP MTA called MSMTP for delivery to SMTP Server (eg smtp.gmail.com) 5. SMTP Server delivers to cellular provider, transforming into SMS Protocol.
Audible Alerts Steps to create Audible Alerts 1. SIS receives Audible control call 2. SIS starts the script to generate a system auditory alert 3. The Audible script instantiates the binary called Beep with proper arguments for frequency, duration, and repetitions
Reboot Steps for Reboot Control 1. SIS receives Reboot control message 2. SIS instantiates the Reboot system binary
Administration Four Main Administration Functions 1.Configuration 2.IP Information 3.Host Name Information 4.System Logs
Configuration The SIS Configuration File is the SIS Help information call that displays the messages accepted by the protocol
IP Information The IP information call is a simple tool for the end user to locate the SBC on the network ◦ Especially useful for technical support reasons
Host Name The SBC host name has been set to a default of the SBCs MAC Address ◦ Provides the User Interface a quick and simple way to assign rules to a particular SBC if multiple modules are deployed
System Logs System Logs are vital administration tools that contain hardware diagnostics, software alerts, and user information
SIS Future Development Message Confidentiality Algorithms Message Authentication Algorithms Partial Control and Partial Administration start up options
Video Demonstration
Implementation Timeline Weeks Prepare To Present to Users Begin user Testing Finalize Launch Capabilities Second Round User Tests Internal Load Testing Final round of user tests Finalize hardware design Finalize Software
Cost Breakdown Total Prototype Cost: $419.70
Summary Inexpensive modular home control systems will become increasingly prevalent Our prototype provides a working system from which to build a consumer model
Questions?