Internet_Accessible_..

Download Report

Transcript Internet_Accessible_..

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
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

1.
2.
3.
4.
5.
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
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
1
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Cost Breakdown
K eypad
4%
S ens or Hous ing
2%
IR S ens ors
18%
D evelopment K it
24%
Total Prototype Cost: $419.70
S ing le B oard
C omputer 52%
Summary
Inexpensive modular home control systems
will become increasingly prevalent
 Our prototype provides a working system
from which to build a consumer model

Questions?