smart appliance / may 03-21 home automation via the web client senior design faculty advisor doug...
TRANSCRIPT
Smart Appliance / May 03-21
Home Automation via the Web
Client Senior Design
Faculty Advisor Doug Jacobson
Team Members Mark Melville (EE) Brendan Hickey (CprE) Scott Reeder (CprE) Brian Thorp (CprE) Mike Fernholz (EE)
Presentation Outline
Introduction to Project
Project Activities
Resources and Schedules
Closing Materials
List of Definitions
API Application Program Interface. Interfaces between the operating system and application programs.
Host Controller Device that attaches between a wall plug and a computer that sends and receives X-10 signals.
Smart device Any piece of electronic equipment that is highly automated, or imitates human intelligence.
X-10 A communications protocol that allows compatible products to talk to each other via the existing 110V electrical wiring in the home.
X-10 Module Hardware that facilitates communication between appliances and an X-10 controller. A module would plug into an outlet, and a lamp, for example, would plug into the module.
General Problem Statement
GOAL: Develop a home automation system that is accessible via the WWW
Users include vacationing or security-conscience homeowners
System is designed to enable a homeowner to operate lights, appliances and other devices and check if their garage door is open or closed via the web.
General Solution Statement
Software Programmed in Java Three parts to the software
GUI application that can be run on the home computer that controls the X-10 devices from that computer
Java applet that can be run from any web-enabled device that connects to the home computer to control the home network
Java server that controls the devices when the applet has connected to the host computer
Hardware Garage door monitor
Operating Environment
SoftwarePlatform independentClient applet must run on a browser that
supports Java applets
HardwareHost computer must have a serial port to
talk to the X-10 controllerGarage door sensor must be able to
withstand moderate vibration and seasonal temperature and humidity changes
Intended Users
Person who currently owns or will purchase a CM11A host controller
Small businesses that desire the same security/monitoring requirements that our system provides
Intended Uses
Control appliances and lamps locally
Control appliances and lamps remotely
Automate control via timed events
Allows user to check if their garage door is open or closed
Assumptions
Device shall be easy to install, configure, and useUser is familiar with operating a computerUser will have a computer with a serial port and continuous internet access. (dial-up not recommended)Home environment will comply with the specified operating environmentX-10 system will not experience outside interference from other X-10 systems
Limitations
Limited to 16 different X-10 controlled devices
Server must be running on the home computer when the client desires to connect and control remotely
Device response time is limited by the speed of the user’s Internet connection
End Product DescriptionInstallable software package Installation instructions User software Software Documentation Source Code
X-10 Hardware Must be purchased separately (CM11A devices
required)Garage Door Sensor Monitoring module Mounting hardware Installation instructions
Present Accomplishments
Software
Created local control software
Created remote Java applet
Implemented server into local software
Hardware
Created sensor circuit
Approaches Considered and Ones Used
X-10 Hardware
FireCrackerAdvantages: smaller, no dedicated serial port requiredDisadvantages: less functionality, no 2-way support
ActiveHome CM11AAdvantages: 2-way capable, more uses Disadvantages: more expensive
CM11A chosen because of 2-way functionality
Programming LanguageJava Advantages: Familiar designing GUIs using Java, X-10 API, cross-platformDisadvantages: Slower
C++Advantages: Speed, flexibilityDisadvantages: Not familiar with GUI design, could not find anything like the X-10 API found for Java.
Java chosen because of X-10 API and familiarity
Networking architecture
Stand-alone client/server
Advantages: More secure and stable
Disadvantages: Requires software on each machine
Java Applet
Advantages: Most familiar, easy to use and implement
Disadvantages: Requires Java-enabled browser
Java Applet chosen because it was the best fit for the project
Garage Door Sensor
Buying base sensor and building off of itAdvantages: Quicker and more reliable.Disadvantages: Cost and less known about the
circuit.
Making entire circuitAdvantages: More knowledge of entire circuit.Disadvantages: Time and troubleshooting
Entire circuit was created from scratch, but commercial kit used for testing purposes.
Garage Door CircuitHave the circuit be an X-10 moduleAdvantages: More compact, easier to useDisadvantages: Much more time to design and implement
Have the circuit attach to an X-10 moduleAdvantages: Easier to design, more flexibilityDisadvantages: Requires an external module to function
The circuit will attach to an X-10 module because it allows the team to focus on the garage door circuit itself instead of the X-10 circuitry.
Research Activities
X-10 protocol
X-10 hardware – CM11A
X-10 APIs and programming
X-10 2-Way functionality
Secure web sites
Trusted Applets
Sensor modules
General System Design
Lamp Module Appliance Module
Computer Interface
Local Software
Control Server
Living room Lamp
Television
Custom X-10 Hardware
Remote PCJava-enabled PDA or Phone
Sensor
Java Applet
Local PC
Web server
Key:
Team-created Hardware or SoftwareCommercial X-10 Modules
Receiver Circuit Schematic
3
2
74
6
1
5+
-
V+V-
OUT
OS1
OS2
LED
R21
100k
-9Vdc
3
2
74
6
1
5+
-
V+V-
OUT
OS1
OS2 100
47n
LED
1k
3
2
74
6
1
5+
-
V+V-
OUT
OS1
OS2
PMOS
9Vdc
10k
S1Infared Input 20k
220
1n
C1
1n 16.9k
100
3
2
74
6
1
5+
-
V+V-
OUT
OS1
OS2150
3
2
74
6
1
5+
-
V+V-
OUT
OS1
OS2
X10 voltage
9Vdc
D2 1k
68
10k
15010k 33k
R22
33.47k
Transmitter Circuit Schematic
Infrared Emitter
+9 V DC
R3
1987.5
R110k
NC
R2
20k
+
-
U1
UA741
3
26
7 14 5
NC
R41987.5
-9 V DC
C4
10n
C310n
Integration with X-10
Original Approach
Send signal to 2-Way X-10 module
Modified Approach
Create a new power signal from X-10 module based on sensor circuit signal
Implementation Activities Software1) Create local software
- Create GUI- Send X-10 commands- Add/Modify/Remove devices
2) Create remote applet- Create GUI- Add code to send commands- Store on web site with login screen
3) Implement server into local software- Add remote operation functionality into local
software
Implementation Activities Hardware1) Create Infrared Transmission Circuit- Design oscillator- Combine with Infrared LED2) Create Infrared Receiver Circuit- Design amplifier- Design filter- Combine with Infrared Phototransistor3) Combine Transmitter and Receiver Circuits- Create Infrared switch4) Combine infrared circuit with X-10 module- Create proper integration hardware or circuitry
Testing and Modification Activities
Software testing Test GUI Test local control functionality Test remote control functionality
Hardware Testing Test infrared circuit Test circuit with X-10 module
System testing Test local control Test remote operation Test garage door sensor with software
Other Project Activities Software
Local control software……………………….... (90%)Remote Java applet……………………...........(100%)Web Site with log in..………………………..... (100%)Server implementation into local software…..(100%)Add macros to software………………………. (75%)Show status of 2-way devices……………...... (75%)
HardwareSensor circuit……………………………………(100%)Implement circuit with X-10 module…………. (75%)
$65.00
$100.00
$50.00
$10.00
$225.00
$0.00
$50.00
$100.00
$150.00
$200.00
$250.00
Poster X10 kit w/extra
modules
Garage doorsensor parts
Printing Total
Total Financial Resources
Final Personal Budget
0
20
40
60
80
100
120Administration (poster,reports, meetings)
Documentation
Product revision
Software and hardwaretesting
Software coding
Hardware design andimplementation
Develop project design
Research
First Semester ScheduleID Task Name Duration Start Finish1 Project Planning and Technology Selection 43 days? Tue 8/27/02 Tue 10/22/02
2 Define Project Scope(Final) 6 days? Tue 8/27/02 Tue 9/3/02
3 Define Project Scope(Revised) 6 days? Tue 8/27/02 Tue 9/3/02
4 Define Project Scope(Original) 6 days? Tue 8/27/02 Tue 9/3/02
5 Define General Functions Required(Final) 5 days? Wed 9/4/02 Tue 9/10/02
6 Define General Functions Required(Revised) 5 days? Wed 9/4/02 Tue 9/10/02
7 Define General Functions Required(Original) 5 days? Wed 9/4/02 Tue 9/10/02
8 Draft Project Plan(Final) 5 days? Wed 9/11/02 Tue 9/17/02
9 Draft Project Plan(Revised) 5 days? Wed 9/11/02 Tue 9/17/02
10 Draft Project Plan(Original) 5 days? Wed 9/11/02 Tue 9/17/02
11 Review and Update Project Plan(Final) 4 days? Wed 9/18/02 Mon 9/23/02
12 Review and Update Project Plan(Revised) 4 days? Wed 9/18/02 Mon 9/23/02
13 Review and Update Project Plan(Original) 4 days? Wed 9/18/02 Mon 9/23/02
14 Choose Smart Device(Final) 6 days? Tue 9/24/02 Tue 10/1/02
15 Choose Smart Device(Revised) 6 days? Tue 9/24/02 Tue 10/1/02
16 Choose Smart Device(Orginal) 6 days? Tue 9/24/02 Tue 10/1/02
17 Define Poster Content(Final) 5 days? Wed 10/2/02 Tue 10/8/02
18 Define Poster Content(Revised) 5 days? Wed 10/2/02 Tue 10/8/02
19 Define Poster Content(Orginal) 5 days? Wed 10/2/02 Tue 10/8/02
20 Create Poster(Final) 9 days? Wed 10/9/02 Fri 10/18/02
21 Create Poster(Revised) 9 days? Wed 10/9/02 Fri 10/18/02
22 Create Poster(Orginal) 9 days? Wed 10/9/02 Fri 10/18/02
23 Revise and Finalize Poster(Final) 3 days? Sat 10/19/02 Tue 10/22/02
24 Revise and Finalize Poster(Revised) 3 days? Sat 10/19/02 Tue 10/22/02
25 Revise and Finalize Poster(Orginal) 3 days? Sat 10/19/02 Tue 10/22/02
26 Develop Project Design 38 days? Wed 10/23/02 Wed 12/18/02
27 Define Operating Environment(Final) 2 days Wed 10/23/02 Thu 10/24/02
28 Define Operating Environment(Revised) 2 days Wed 10/23/02 Thu 10/24/02
29 Define Operating Environment(Original) 2 days Wed 10/23/02 Thu 10/24/02
30 Define Intended Users and Uses(Final) 2 days Wed 10/23/02 Thu 10/24/02
31 Define Intended Users and Uses(Revised) 2 days Wed 10/23/02 Thu 10/24/02
32 Define Intended Users and Uses(Original) 2 days Wed 10/23/02 Thu 10/24/02
33 Define Initial Assumptions and Limitations(Final) 2 days Wed 10/23/02 Thu 10/24/02
34 Define Initial Assumptions and Limitations(Revised) 2 days Wed 10/23/02 Thu 10/24/02
35 Define Initial Assumptions and Limitations(Original) 2 days Wed 10/23/02 Thu 10/24/02
36 Define Schedule and Budget(Final) 2 days Wed 10/23/02 Thu 10/24/02
37 Define Schedule and Budget(Revised) 2 days Wed 10/23/02 Thu 10/24/02
38 Define Schedule and Budget(Original) 2 days Wed 10/23/02 Thu 10/24/02
39 Create Project Design(Final) 13 days? Fri 10/25/02 Tue 11/12/02
40 Create Project Design(Revised) 13 days? Fri 10/25/02 Tue 11/12/02
41 Create Project Design(Original) 13 days? Fri 10/25/02 Tue 11/12/02
42 Unbound Project Design Report(Final) 4 days? Thu 11/14/02 Tue 11/19/02
43 Unbound Project Design Report(Revised) 4 days? Thu 11/14/02 Tue 11/19/02
44 Unbound Project Design Report(Original) 4 days? Thu 11/14/02 Tue 11/19/02
45 Revise and Update Project Design Report(Final) 18 days? Wed 11/20/02 Wed 12/18/02
46 Revise and Update Project Design Report(Revised) 18 days? Wed 11/20/02 Wed 12/18/02
47 Revise and Update Project Design Report(Original) 18 days? Wed 11/20/02 Wed 12/18/02
48 Implement Project Design(Hardware) 87 days? Mon 11/11/02 Fri 4/11/03
49 Gather Parts(Final) 82 days? Mon 11/11/02 Fri 4/4/03
50 Gather Parts(Revised) 17 days? Sun 12/1/02 Fri 12/20/02
51 Gather Parts(Original) 17 days? Sun 12/1/02 Fri 12/20/02
52 Assemble Product(Final) 60 days? Mon 1/13/03 Fri 4/11/03
8/25 9/1 9/8 9/15 9/22 9/29 10/6 10/13 10/20 10/27 11/3 11/10 11/17 11/24 12/1 12/8 12/15 12/22 12/29 1/5 1/12August September October November December January
Project Planning and Technology Selection
Develop Project Plan
Implement Project Design (Hardware)
Second Semester ScheduleID Task Name Duration Start Finish52 Assemble Product(Final) 60 days? Mon 1/13/03 Fri 4/11/03
53 Assemble Product(Revised) 15 days? Mon 1/13/03 Fri 1/31/03
54 Assemble Product(Original) 15 days? Mon 1/13/03 Fri 1/31/03
55 Software Coding and testing 77 days? Sun 12/1/02 Fri 4/11/03
56 Main Application(Final) 55 days? Mon 1/13/03 Fri 4/4/03
57 Code Software(Revisedl) 35 days? Sun 12/1/02 Wed 2/5/03
58 Code Software(Original) 35 days? Sun 12/1/02 Wed 2/5/03
59 Web Application(Final) 10 days? Mon 3/24/03 Fri 4/4/03
60 Software Testing(Final) 5 days? Mon 4/7/03 Fri 4/11/03
61 Test Code(Original) 6 days? Thu 2/6/03 Thu 2/13/03
62 Test Product(Revised) 14 days? Thu 2/6/03 Tue 2/25/03
63 Test Product(Original) 11 days? Fri 2/14/03 Fri 2/28/03
64 Product Revision 35 days? Mon 3/3/03 Fri 4/25/03
65 Revise Product(Final) 11 days? Fri 4/11/03 Fri 4/25/03
66 Revise Product(Revisedl) 13 days? Mon 3/3/03 Wed 3/26/03
67 Revise Product(Original) 13 days? Mon 3/3/03 Wed 3/26/03
68 Retest Product(Revised) 6 days? Thu 3/27/03 Thu 4/3/03
69 Retest Product(Original) 6 days? Thu 3/27/03 Thu 4/3/03
70 Documentation 26 days? Fri 3/28/03 Fri 5/2/03
71 Documentation(Final) 5 days? Mon 4/28/03 Fri 5/2/03
72 Documentation(Revised) 11 days? Fri 3/28/03 Sun 4/13/03
73 Revised Documentation(Revised) 9 days? Tue 4/15/03 Fri 4/25/03
74 Product Demo 31 days? Fri 3/28/03 Fri 5/9/03
75 Demonstrate Product(Original) 3 days? Fri 4/4/03 Tue 4/8/03
76 Develop Final Report and Presentation(Original) 21 days? Wed 4/9/03 Wed 5/7/03
77 Define Final Report Contents(Final) 5 days? Mon 3/31/03 Fri 4/4/03
78 Define Final Report Contents(Revised) 6 days? Fri 3/28/03 Fri 4/4/03
79 Define Final Report Contents(Original) 3 days? Wed 4/9/03 Fri 4/11/03
80 Draft Final Report(Final) 4 days? Mon 4/7/03 Thu 4/10/03
81 Draft Final Report(Revised) 5 days? Mon 4/7/03 Fri 4/11/03
82 Draft Final Report(Original) 5 days? Mon 4/14/03 Fri 4/18/03
83 Revised Final Report(Final) 11 days? Fri 4/11/03 Fri 4/25/03
84 Revised Final Report(Revised) 11 days? Mon 4/14/03 Mon 4/28/03
85 Revised Final Report(Original) 13 days? Mon 4/21/03 Wed 5/7/03
86 Final Presentation(Final) 10 days? Mon 4/28/03 Fri 5/9/03
87 Give Final Presentation(Revised) 7 days? Thu 5/1/03 Fri 5/9/03
88 Give Final Presentation(Original) 5 days? Thu 5/1/03 Wed 5/7/03
1/12 1/19 1/26 2/2 2/9 2/16 2/23 3/2 3/9 3/16 3/23 3/30 4/6 4/13 4/20 4/27 5/4 5/11January February March April May
Software Coding and Testing
Product Revision
Documentation
Product Demo
Project EvaluationIdentify possible designs to implement, and choose one fully met
Hardware and software specificationsfully met
Code software by specificationnearly met
Design hardwarefully met
Test hardware and softwarenearly met
Documentationfully met
Commercialization
Production Costs (sensor) $20
Selling price (sensor) $40
Selling price (Software) $20*
Market: vacationers, security conscience homeowners
*plus a monthly fee for using web service
Recommendations for Additional Work
CommercializationAdd support for additional X-10 devicesSecure website with a databaseWrite a java X-10 Api
Lessons LearnedWhat went well Communication Teamwork
What didn’t go well Unspecific project Procrastination
Technical knowledge gained X-10 protocol
Non-Technical knowledge gained Time management
What to change Start Earlier
Risk and Risk Management
Anticipated risks Team scheduling Loss team member Finding parts Finding a java API
Anticipated risks encountered None
Unanticipated risks X-10 API incomplete Integrating sensor with X-10 module
Closing SummaryNeed for project No software available for remote operation Didn’t have a garage door sensor Original software was horrible Software for Windows only
Chosen Solution Java application and applet Garage door sensor
Effectiveness of solution Allows for remote operation of devices Easy to use