IOWA STATE UNIVERSITY Remote Control of Home Appliances Project Plan for Senior Design: Dec0905 Team Members and Authors: Elie Abichar Chris Tefer Ananta Upadhyaya Faculty Advisor: Dr. Ahmed Kamal 2/27/2009 This document contains the project plan for creation of a system of components that will control home appliances through a web application interface. Remote Control of Home Appliances Page | 2 Contents i. List of Figures ........................................................................................................................................ 4 ii. List of Definitions .................................................................................................................................. 5 1. Problem Statement ............................................................................................................................... 6 2. Need Statement .................................................................................................................................... 6 3. Concept Sketch ..................................................................................................................................... 6 4. System Block Diagram ........................................................................................................................... 7 5. System Description ............................................................................................................................... 8 6. 5.1 User ............................................................................................................................................... 8 5.2 Server ............................................................................................................................................ 8 5.3 Access Point .................................................................................................................................. 8 5.4 Device Control Unit (DCU) ............................................................................................................ 8 5.5 Devices .......................................................................................................................................... 8 5.6 System Operating Environment .................................................................................................... 8 5.7 User Interface ............................................................................................................................... 8 5.7.1 Interface Screen Flow Diagram ............................................................................................. 9 5.7.2 Login Screen .......................................................................................................................... 9 5.7.3 Home Appliance Change Password .................................................................................... 10 5.7.4 Home Appliance Administrator Main ................................................................................. 11 5.7.5 Home Appliance User Main ................................................................................................ 12 5.7.6 Air Conditioner Control ....................................................................................................... 13 5.7.7 Garage Door Control ........................................................................................................... 14 Requirements ...................................................................................................................................... 15 6.1 6.1.1 Access Point ........................................................................................................................ 15 6.1.2 Two-Way Communication Receiver .................................................................................... 15 6.1.3 Microcontroller Units .......................................................................................................... 15 6.1.4 Server Application ............................................................................................................... 15 6.1.5 Client Interface.................................................................................................................... 15 6.2 7. Functional Requirements ............................................................................................................ 15 Non Functional Requirements .................................................................................................... 15 Market and Literature Survey ............................................................................................................. 16 7.2 Similar Systems ........................................................................................................................... 16 Remote Control of Home Appliances Page | 3 7.3 8. 9 Technologies ............................................................................................................................... 16 7.3.1 Microcontrollers.................................................................................................................. 16 7.3.2 Security Systems ................................................................................................................. 16 7.3.3 Wireless Communication Technologies .............................................................................. 17 7.3.4 Server .................................................................................................................................. 17 Deliverables......................................................................................................................................... 17 8.1 Server Application ....................................................................................................................... 17 8.2 Access Point ................................................................................................................................ 17 8.3 Device control Unit (DCU) ........................................................................................................... 17 8.4 User Manual ................................................................................................................................ 18 8.5 Project Plan ................................................................................................................................. 18 8.6 Project Poster.............................................................................................................................. 18 8.7 Design Documents ...................................................................................................................... 18 8.8 Final Report ................................................................................................................................. 18 Work Plan ............................................................................................................................................ 18 9.1 Project Risks ................................................................................................................................ 18 9.1.1 Time management .............................................................................................................. 18 9.1.2 Project Complexity .............................................................................................................. 18 9.1.3 Integration of various components .................................................................................... 18 9.1.4 New Technologies ............................................................................................................... 18 9.2 Resource Requirements…………………………………………………………………………………………………………18 9.3 Work Breakdown ........................................................................................................................ 19 9.3.1 9.4 Work Progression ................................................................................................................ 19 Project Schedule ......................................................................................................................... 20 9.4.1 Project Plan Schedule.......................................................................................................... 20 9.4.2 Project Development Schedule........................................................................................... 20 Remote Control of Home Appliances Page | 4 i. List of Figures Figure 1: Concept Sketch of the System ....................................................................................................... 6 Figure 2: System Block Diagram .................................................................................................................... 7 Figure 3: Interface Screen Flow Diagram ...................................................................................................... 9 Figure 4: Login Interface ............................................................................................................................... 9 Figure 5: Password Interface ...................................................................................................................... 10 Figure 6: Admin Interface ........................................................................................................................... 11 Figure 7: Application Interface.................................................................................................................... 12 Figure 8: Air Conditioner Control Interface ................................................................................................ 13 Figure 9: Garage Door Control Interface .................................................................................................... 14 Figure 10: Work Progression ....................................................................................................................... 19 Figure 11: Project Plan Schedule ................................................................................................................ 20 Figure 12: Project Development Schedule.................................................................................................. 20 Remote Control of Home Appliances Page | 5 ii. List of Definitions Access Point – Device that allows wireless communication devices to connect to a wireless network using standard wireless technologies Device – In this context device refers to any appliance that will be controlled by the product Device Control Unit (DCU) – A control unit that includes a microcontroller and a wireless transceiver Microcontroller – A chip capable of controlling overall operation of the device Transceiver – A wireless device capable of transmitting a receiving commands Server – Both the personal computer and the application that runs on the computer used to send messages to the access point for controlling the device Wireless – A type of communication between two points that uses radio waves instead of wires Remote Control of Home Appliances Page | 6 1. Problem Statement The objective of this project is to design and implement a system that will enable users to remotely control their home appliances or check their status, through the Internet. Users will be provided with a web interface using which they will be able to communicate with their home appliance such as air conditioner or a garage door. For example, user will be able to check if the air conditioner is on or off as well as adjust the temperature as needed. It will also be possible to obtain the present temperature in the house. A user will be asked to login to the system. Upon authentication, a user will be presented to the interface screen where an appliance can be selected. The user will then be able to control or check the status of the device. 2. Need Statement The system designed will provide a new product to the newly emerging automation and controls market. It will be used in households to remotely control and monitor various home appliances through the Internet. Internet has proven to be the most popular medium of communication and the ability of this system to operate from any device with Internet capability will make this system useful for a large number of consumers. 3. Concept Sketch This section presents a concept sketch of the system which serves to illustrate the system, its interface and its use. Shown in Figure 1, is a user accessing the computer to control and communicate with the appliance by sending commands via Internet. Figure 1: Concept Sketch of the System Remote Control of Home Appliances Page | 7 4. System Block Diagram This section presents a block diagram of the system and its components, which serves to illustrate principal parts or functions of the system and the interaction between them. For our system, the main hardware parts are the server, access point, two-way communication channel and the micro controller which controls the appliance. The transceiver and the microcontroller make up the Device Control Unit (DCU). User Garage Door Internet Server Transceiver Micro Controller Transceiver Micro Controller Access Point Air Conditioner Figure 2: System Block Diagram Remote Control of Home Appliances Page | 8 5. System Description This section provides a detailed description of each component in the above system block diagram and explains the functional role of these components in the system. 5.1 User User will login to the server using a web based user interface on any computing device connected to the Internet. Upon authentication the user will connect to the server to check the status of the home appliances and control them. 5.2 Server Server will host a web application that will authenticate users and allow them to send commands to the devices. It will interpret user commands and send device level commands to the Device Control Unit through the Internet using a wireless access point. 5.3 Access Point Access point in this system is a wireless router. This device will relay commands from the server to the Device Control Unit (DCU) and from the DCU to the server wirelessly. 5.4 Device Control Unit (DCU) Device control unit is the major component of this system. It consists of a microcontroller chip and a transceiver. This unit will connect directly to the device and control the functioning of the device based on the commands received from the server. DCU will communicate with the access point in order to receive commands and send responses to the server in order to provide status data to the user. 5.5 Devices This refers to the home appliance that is controlled by the DCU. Appliances considered for this project are Air conditioner and garage door. Some of the appliances that could be controlled with this system are lights, sprinkler, coffee pot, DVR, Home security system etc. 5.6 System Operating Environment Our system consists of several units that would operate both indoors and outdoors. Most of the system components will operate indoors under normal room temperature. The device control unit would operate both indoors and outdoors depending on the location of the device. The system would operate within the temperature and humidity limits for proper operation of hardware. A secure Internet connection would be necessary for the operation of the system. 5.7 User Interface The user should start a web browser and connect to the server through a known IP address or host name. The user will login to a software graphic user interface (GUI) in order to authenticate. If the username and password combination is valid, the GUI would lead the user to the Home Appliance main menu, where the user would be able to select the specific home appliance he/she is wishes to control or communicate with. Depending on the selected appliance, the GUI would start a new frame that displays a list of options that the user can select in order to communicate and/or control the appliance. For example, the garage door options would be either “open garage door”, “close garage door”, or “get garage door status”. Remote Control of Home Appliances Page | 9 The software system would support multiple user classification, such as an admin or a regular user. The admin can enable or disable options for the regular users. In addition, the admin would be able to remove a user, block a specific user from using the system, or change user privileges. This feature would allow the admin to manage the system. 5.7.1 Interface Screen Flow Diagram Figure 3: Interface Screen Flow Diagram 5.7.2 Login Screen 1 2 3 4 5 Figure 4: Login Interface Remote Control of Home Appliances Page | 10 Home Appliance Login: Purpose: To authenticate the user Event: The user starts the program 1. 2. 3. 4. Text Box: Get the user’s username as input Password Box: Get the password to the username entered as input Combo Box: Select to login as either administrator or user Button: Check if the username and password match and let the user login in case they do, otherwise keep the user out 5. Button: Exit the program 5.7.3 Home Appliance Change Password 1 2 3 5 4 6 Figure 5: Password Interface Home Appliance Change Password: Purpose: To let the user or the administrator change their password Event: The user clicks change password 1. 2. 3. 4. 5. 6. Text Box: Get the user’s username as input Password Box: The user’s current password Password Box: The user’s new password Password Box: The user’s new password Button: Set the new password Button: Go back to the previous page Remote Control of Home Appliances Page | 11 5.7.4 Home Appliance Administrator Main 4 1 2 3 9 5 10 11 6 8 12 7 13 Figure 6: Admin Interface Home Appliance Administrator Main: Purpose: To let the administrator manage the system Event: The user login as an administrator 1. 2. 3. 4. Text Box: The username to be created Password Box: The password for that new username Password Box: The password for that new username repeated Button: Adds the user Remote Control of Home Appliances Page | 12 5. 6. 7. 8. 9. 10. 11. 12. 13. List: List of the users in the database Button: Remove the selected user in the user list Button: Go to the “Change Password” page Button: Set the selected privileges for the selected user Radio Button: Enable the user to control the A/C Radio Button: Enable the user to control the fan Radio Button: Enable the user to control the heater Radio Button: Enable the user to control the garage door Button: Exit the program 5.7.5 Home Appliance User Main 1 2 3 4 Figure 7: Application Interface Home Appliance User Main: Purpose: To link functionality to the user as a regular user Event: The user login correctly 1. 2. 3. 4. List: A list of home appliances that can be controlled Button: Select the home appliance and go to the home appliance control menu Button: Go to the “Change Password” page Button: Exit the program Remote Control of Home Appliances Page | 13 5.7.6 Air Conditioner Control 1 3 2 4 5 6 7 8 9 10 11 8 12 22 2 Figure 8: Air Conditioner Control Interface Air Conditioner Control: Purpose: To control the air conditioner Event: The user starts the program and selects the air conditioner as the appliance to control 1. Text Box: Outputs the air conditioner current condition ( on/ off and if on the current temperature) 2. Button: Get the current condition of the air conditioner 3. Text Box: Get the new temperature to be set as input from the user 4. Button: Set the current temperature to the given input 5. Radio Button: Turn on the air conditioner 6. Radio Button: Turn off the air conditioner 7. Radio Button: Turn on the heater 8. Radio Button: Turn off the heater 9. Radio Button: Turn on the fan 10. Radio Button: Turn off the fan 11. Button: Update the status of the air conditioner Remote Control of Home Appliances Page | 14 12. Button: Go back to the “Home Appliance Main” 5.7.7 Garage Door Control 3 1 4 2 5 6 Figure 9: Garage Door Control Interface Garage Door Control: Purpose: To control the garage door Event: The user starts the program and selects the garage door as the object to control 1. 2. 3. 4. 5. 6. Radio Button: Set the garage door to open Radio Button: Set the garage door to close Text Box: Output the door current status ( open or close ) Button: Get the current status of the garage door Button: Update the status of the garage door ( open / close ) Button: Go back to the “Home Appliance Main” Remote Control of Home Appliances Page | 15 6. Requirements 6.1 Functional Requirements 6.1.1 Access Point 6.1.2 6.1.3 6.1.4 6.1.5 6.2 Must Be Wireless Must use a wireless technology Two-Way Communication Receiver Must be able to send and receive messages from the access point Must communicate with the access point wirelessly Must interface directly to the Microcontroller Microcontroller Units Must be able to receive commands from the receiver Must be able to send status messages to the receiver Must be able to control the device Must be able to parse and interpret commands Server Application Must be accessible from the Internet Must allow multiple user connections Must allow users to control multiple devices Must allow or disallow a user to control a device Must send commands through the access point to the device microcontroller Must maintain a list of users that can access the devices Must be able to authenticate users Client Interface Must be able to receive user input Must display the devices, and controls to those devices, to the user Must have a logon method for verifying users Non Functional Requirements Access point must have a footprint of less than 50 feet Wireless antennas must be shorter than 4 inches (internal preferred) GUI must have an intuitive look and feel for the user Remote Control of Home Appliances Page | 16 7. Market and Literature Survey This section presents the market survey our team conducted to research similar systems available in the market. This market survey also includes a research on various devices and technologies available in the market that can be used in the implementation of our project. 7.2 Similar Systems Several systems similar to the one we are designing were found in the market. Some of the systems and system components are discussed below. HAI System – HAI is a complete home control system designed to control and monitor variety of home appliances. HAI products include computer software and hardware, touch screen interfaces, keypads, consoles and remote controls which control home appliances through the Internet. HAI software comes on a USB drive that plugs into any computer and directly communicates with the appliance. Components of this system can be purchased separately. The total cost of the system is approximately $1000. Proliphix – Proliphix is a web-enabled IP Network thermostat. This thermostat can be connected via Internet to a network and is able to serve its own web pages to allow the user to configure and monitor their thermostats using a standard web browser. The cost of Proliphix thermostat starts at $250. 7.3 Technologies Some of the technologies that can be used in the implementation of our project are given below. 7.3.1 7.3.2 Microcontrollers AVR – This is a low power, high performance microcontroller. TI MSP430 – These microcontrollers are built by Texas Instruments. They are designed for low cost low power consumption applications. It is mainly used in measuring devices. MIPS – MIPS is a microcontroller primarily used in embedded systems. Security Systems All security measures can be made on the server side Methods for passing secure input o One-way encryption – The user data is hashed so that it cannot be decrypted o Two-way encryption – The user data is encrypted and decrypted Single key – One key is used to encrypt and decrypt Public and Private keys – The public key is used to encrypt and the private key is used to decrypt (usually used in authentication) Secure File Storage A file or database must store passwords and user information on the server for authentication. The authentication file can be stored in two places, on the web service root, where it can be accessed by anyone with a connection to the server, and outside the web service root where only the server may access it Remote Control of Home Appliances Page | 17 7.3.3 7.3.4 On the web service root – The file must be completely encrypted, except where information is already public Outside the web service root – Passwords should be encrypted to allow for user privacy and permissions should be set for administrator access only Wireless Communication Technologies Wi-Fi – a wireless networking technology which provides high speed powerful network connections. Wi-Fi has a range of up to 100 meters and bandwidth of more than 11000 kbps. Zigbee – a communication protocol which is designed to consume less power. It can work on a single battery for up to 1000 days. Zigbee has a simple design and is less expensive. It is ideal for sensors which do not require long range but need low energy consumption. Zigbee has a range of 1-75 meters and its bandwidth is up to 250 kbps Bluetooth – a wireless system that has a range of up to 100 meters. Bluetooth is also designed for low power consumption and has a battery life of up to 7 days. Server System should be Internet accessible and able to run a web service such as: o Apache – Open source web service that is both Linux and Windows compatible o Microsoft IIS – Web service that is Windows only Hardware Requirements o Pentium III 900 MHz or better o 256 MB of RAM or more o 20 GB of hard drive space or greater o Ethernet LAN adapter System may need another connection to the access point 8. Deliverables Below is the list of items that would be delivered to the client upon completion of this project. 8.1 Server Application The Server application that will maintain the list of users, authenticate them and enable communication between the user and the microcontroller 8.2 Access Point The Access Point will be a wireless router that will use one of the standard wireless technologies. 8.3 Device control Unit (DCU) This unit is a combination of a wireless transceiver and the Microcontroller. The wireless transceiver will receive the user commands from the server and transmit the status data to the server and the user. The DCU will control the device. Remote Control of Home Appliances Page | 18 8.4 User Manual This manual will provide the user with detailed steps for the operation of various components of the system. It will include a detailed interface description and explain various capabilities of the interface. 8.5 Project Plan Project plan will provide our client with a description of our goal as well as the schedule we will follow. 8.6 Project Poster Project poster will be used to showcase the project to professors and students. 8.7 Design Documents These documents will describe technical design and specifications of the system. 8.8 Final Report Final report will document the overall project. It will contain all the documentation done throughout the project and explain on the end result. 9 Work Plan 9.1 Project Risks Some of the risks that we might have to deal with are given below. 9.1.1 Time management Currently, there are three people working on this project and all three are full time students. We will have to do well in other courses, as well as allocate time to finish this project on time. 9.1.2 Project Complexity This project is one of the most complex projects that we have worked on as undergraduate students. It is important to define the scope of our project in order to limit the complexity. 9.1.3 Integration of various components The system we are designing contains various components. The system will only operate if all components are functioning properly. Our system will not operate unless we integrate all the components of the system 9.1.4 New Technologies For this project we might have to use new hardware and software devices which we have never used before. Team members might not have enough knowledge about these devices and systems. 9.2 Resource requirements For this project two separate components make up the estimated resource requirements: All work will be completed as a whole for the team. While some tasks will be assigned, each member will be expected to do an equal amount of work. Financial requirements: Remote Control of Home Appliances Page | 19 o Funding will be required to purchase various components of the system. 9.3 Work Breakdown 9.3.1 Work Progression Work will be divided into several areas that will progress linearly. Research – All areas of both software and hardware will be researched before work begins Hardware – The devices must be obtained or created Software – GUI and server applications must be coded Integration – The software and hardware components will be integrated Testing – The project, as a whole, must be tested for final the production Figure 10: Work Progression Remote Control of Home Appliances Page | 20 9.4 Project Schedule 9.4.1 Project Plan Schedule Figure 11: Project Plan Schedule 9.4.2 Project Development Schedule Figure 12: Project Development Schedule