500 likes | 614 Vues
The Internet Accessible Home Control System (IAHCS) is a prototype that integrates various home components into a unified controllable system. This project, led by Team 61, demonstrates modularity by allowing additional plug-and-play modules to enhance functionality. Key subsystems include a Graphical User Interface, Peripheral Hardware, Low-Level Software, Processing Core, and High-Level Software. The system employs advanced sensors for movement detection and utilizes a single-board computer for processing. Future enhancements will focus on improving sensor capabilities and expanding the system's adaptability.
E N D
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
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
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 CoreSocket Manager • Listens over TCP socket for modules • Break packets into manageable parts • Send out updates to other processes
Processing CoreState Manager • Keeps track of what is going on in system • Handles requests for data from other processes • Tells Rule Manager to reevaluate
Processing CoreRule Manager • Stores the current rules the system is using • Evaluates the rules to see if action should be taken • Takes any actions needed
Processing CoreFuture 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 • Text Message • Audible Alert • Reboot
Text Messaging • Steps to generate Text Messages • SIS receives Text Message control call • SIS calls Messaging Script • Messaging Script instantiates email client called Mutt using prebuilt text files containing the body of the message and phone numbers targeted for delivery • Mutt passes compiled message to onboard SMTP MTA called MSMTP for delivery to SMTP Server (eg smtp.gmail.com) • SMTP Server delivers email to cellular provider, transforming email into SMS Protocol.
Audible Alerts • Steps to create Audible Alerts • SIS receives Audible control call • SIS starts the script to generate a system auditory alert • The Audible script instantiates the binary called Beep with proper arguments for frequency, duration, and repetitions
Reboot • Steps for Reboot Control • SIS receives Reboot control message • SIS instantiates the Reboot system binary
Administration • Four Main Administration Functions • Configuration • IP Information • Host Name Information • 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
Cost Breakdown Total Prototype Cost: $419.70
Inexpensive modular home control systems will become increasingly prevalent Our prototype provides a working system from which to build a consumer model Summary