PAGE CONTENTS

 

  • Certificate

 

  • Acknowledgement

 

  • The Team

 

  • A Smarter house for the common man

 

  • Guiding Principles – Simple , convenient and robust

 

  • Idea Overview

 

  • The System architecture
    • The three level architecture
    • The CCMS Central Control and Monitoring Station
    • The IRCU Independent Room Control Unit
    • The Interface

 

  • Software Architecture
    • The Architecture
    • The Backend
    • The User Interface
    • The Voice Command System
    • The IVR Tele-control System

 

  • Modes of Control
    • Central Control
    • Manual Switching
    • Tele-control
    • Voice commands
    • Point and Shoot remote control
    • Automatic event triggering
    • Timer based control

 

  • Introduction to the hardware
    • The PC parallel port
    • The relay
    • Decoding signals

 

  • The circuit
    • The digital circuit
    • The analog circuit

 

  • Sensors
    • The sensor interface
    • The simple switch sensor
    • The Infrared sensor
    • The thermal sensor

 

  • Crisis Prevention
    • Overriding the manual control
    • The main kill switch
    • The central autocontrol disable switch
    • The room autocontrol disable switch
    • Ready bootable media

 

  • Security and visitor control

 

  • Various control systems
    • Automatic lighting control
    • Automatic fan regulation
    • Electronic door locking system
    • Door and gate control system
    • Automatic curtain control
    • Automatic rain guard system
    • Automatic irrigation system
    • Fire fighting system

 

  • Personal profile identification panel

 

  • System requirement specifications
    • Hardware
    • Software

 

  • A Perspective on the future
    • Real Smartness

 


 

 

 

Certificate

 

 

This is to certify that the project Smarthome insignis has been designed and developed by us and is in no way borrowed from anyone else.

 

Excluding the analog circuit, all the other circuits have been designed by us. Apart from the third party software listed on the next page, all the software we are using has been designed and developed by us.

 

 

 

________________ (Harsh Kanwar)

 

 

________________ (Gagan Grover)

 

 

________________ (Jatinder Singh)

 

 

 

 

 

Third party software

 

 

 

For the development and deployment of this project, we needed various software for varying purposes, and considering all the aspects we were dealing with, we found the following packages incredibly helpful and ideal for our development and deployment.

 

 

 

]     Borland® Turbo C++™ 3.0, the incredible, ever-so-useful package for C++ development, used and taught across all schools and colleges, which in itself is a complete solution it came to C++.

 

]     Protel Tech, Inc CircuitMaker® Student V6.2, a very helpful and handy tool for the design and simulation of our circuit.

 

]     Microsoft® Visual Basic® 6.0, the undisputed tool for user interface design, aided with the very helpful WYSIWYG package.

 

]     Katlina Tech Voice Guide 4.7.12 working trial version, a powerful and interactive tool for designing and deployment of computer based interactive voice response systems.

 

]     Dragon Naturally Speaking 5.2 Preferred, the leading voice recognition package with the ability to recognize and decipher the Indian accents.

 

]     Microsoft® Windows™ 98 Second Edition, which needs no introduction and is an ideal platform for the SmartHome insignis.

 

All product names are trademarks or registered trademarks of their respective owners.


 

 

The Team

 

 

 

No project can happen unless, of course, you want it to happen. There are a number of factors that define team organization, but, in all cases the most basic organization idea would be a spirit to make the project happen. So, like all powerful projects this project too has a powerful team to back it up, to make things possible, and to turn dreams to realities.

 

 

 

Harsh Kanwar, 13117019

          C++ programming, circuit design, C++ front-end, C++ back end, Control systems

E-mail: [email protected]

 

Gagan Grover, 13117014

C++ programming, circuit development, C++ backend, Control systems development.

            E-mail: [email protected]

 

Jatinder Singh, 13117020

          User Interface, electrical systems, Control systems implementation.

            E-mail: [email protected]

 


 

 

A smarter house for the common man

 

 

Every person has his own perception of what a SmartHome actually is. We may be disappointing some very rich people here, but then our project was never aimed at the superrich, but rather for the everyday user. The kind who feels that electricity is a precious commodity, the kind who would still like some sophistication in his life, the kind who likes to draw some real value for their money.

 

One very primary goal of the project is budget minimization, which directly implies minimizing production costs. A lot of emphasis is placed on providing solutions through the use of software, the cost of which we do not include in development or deployment costs. There are a couple of third party software packages involved which would considerably increase the cost and we are working on developing solutions so that we can provide our own alternatives for those.

 

Another very important factor to be considered when developing something for the everyday user is the ease of use. Most people seem to get confused by a complex interface. Even too many buttons can bewilder the not-so-techno-savvy person. So, another logical aim when developing the system would be to build a user interface which is really, really simple to understand and use.

 

There are no end the features that can be incorporated to make your home smarter, so regardless of how techno savvy you are you can always personalize the system to suit your specific needs and attach only those systems which will indeed be helpful to you. For the average user, we bundle a set of the most essential features that we consider every home must be equipped with.


 

 

Guiding Principles

Simple. Convenient. Robust

 

 

Simple Quite simply it should make your life simpler. How would we do that? Well, to start with you will be having a very friendly interface to deal with. There’s that mapmode in which you can view a section of the house and control and check on the lights and appliances. On the whole, everything will be kept very simple so that you are never at a non-plus because of the system.

 

Convenient All control and information will be available at your fingertips. You can conveniently control and monitor all appliances using your computer or from any available telephone. You can program any switch to act in a certain manner using an easy to use programming interface – and no, programming doesn’t mean you need to use some obscure programming keywords. All you need to know is how to move the mouse about.

 

Robust You can’t wait to switch on your bathroom light because your computer is still initiating a boot sequence. The point is, your electricals cannot come to a standstill because of any failure in the system. The system needs to be very robust and should detect errors whenever it can and take evasive action. If the PC is hung up, it should reboot automatically. If the system, due to some failure, cannot function, it should automatically revert to manual control. All components employed should be very reliable so that failures are minimal. On the whole, the system should be very, very reliable. After all, it controls your entire home.


 

 

 

Idea Overview

 

 

The central idea of the project is to control all your household appliances, lighting and other electricals using a computer system programmed for that purpose. Apart from the control part, a number of sensors would be deployed around the house so that you can monitor various activities around like doors, the gas regulator and many more. You can easily program the system to suit your needs by programming it. Programming here involves using an intuitive graphical interface, so that you can achieve the most complex tasks in the simplest of ways. And no, you don’t need to know computers to operate the system. A 5-minute tutorial delivered when the system is installed will tell you all you should know to enjoy the advantages.

 

 

 

The System Architecture

 

 

 

Every system has to have an architecture, either explicit or implicit. So, rather than have a crude architecture coming up automatically as a result of a bottom-up design strategy, we decided to carefully analyze an architecture which we could implement and which could provide us with the necessary features.

 

We’re using a three level architecture, one for central control, one for delegated control and one for the interface. All the levels in themselves are independent, so that an error or a failure of one layer does not affect the other layers. Thus, this delegation of control is quite necessary to make the system robust.

 

Covered in the following pages are the details of the functions of each layer and how the layers would interact.


The Three Level Architecture

 

 

 

 

 

           


 

 

The Central Control and Monitoring Station

 

The CCMS is, as the name suggests, the central point where all the ends meet to make the SmartHome. The CCMS is a limited power computing station with an associated circuit for decoding the signals from the parallel port and communicating information to the appropriate room circuit. The CCMS also communicates with the Interface, if it is a separate station, over a network link. The CCMS, may, if required assume the role of the interface itself.

 

The CCMS is, by far, the most important part of the SmartHome, and the functioning of all the automation systems depend on this system. The basic tasks of the CCMS can be summed up as below:

 

Ø      Providing an Application backend, which the various applications like voice command, tele-control, etc can communicate to, since it would be the only way that signals can actually be transmitted to or received from the various room control units.

 

Ø      Providing a control interface. The CCMS also provides an interface for controlling and monitoring the various switches and sensors.

 

Ø      Timer Control. The CCMS is also responsible for monitoring the execution of various timers that have been defined by the user.

 

Ø      Event Triggering. The CCMS would be responsible for monitoring the various sensors and then executing any events that may be related to those sensors.

 

Ø      Tele-Control. The CCMS would be running a tele-control application. This would be responding to all incoming calls after a specific number of rings and would present the caller with an interactive voice guided menu to control and monitor various appliances around his house.

 

Ø      Camera Control. The CCMS would be responsible for capturing images using a camera deployed at the entry point so that the visitor control system and the intruder photographing system can use the images.

 

Ø      Centralization. This is the point where all the control systems synchronize to activities around the house to provide an integrated system.


The Independent Room Control Unit

 

The IRCU would be an independent hardware unit installed in each room the SmartHome controls. The unit would control and monitor the various switches on instructions from the CCMS. The CCMS would have a memory system for maintaining the status of all switches in the room. The CCMS would also be provided with a user switch interface so that users can switch appliances and electricals from within the room itself. The IRCU would be responsible for disabling the actual switches and then enabling the special switches which can be automatically controlled.

 

The IRCU is independent of the functioning of the CCMS, and even if the CCMS is not functioning, the IRCU will function as usual. The basic functioning of the IRCU is thus to hold the status of all the switches in the room, and respond to user requests from within the room itself. Additionally, the computer may also direct it to toggle it a specific switch, or read the status of the switches and the various sensors. Thus the IRCU also acts as a feedback to the CCMS.

 

 

 

The Interface

 

The interface is the part which the user deals with, that is, the user interface, the voice command system and the direct control system. Here, the user may check the status of any appliance around the house, or issue commands to the system from the house map, from other categorized menus or using simple voice commands. The interface may be a remote PC networked to the CCMS over a LAN, over telephone lines or over the internet. Alternatively, the CCMS may assume the role of the Interface itself and be equipped with the required software for monitoring and control.

 

Since the interface needs to interact with the user, it needs to be incredibly simple so that nobody feels like a novice when dealing with it. Simplicity shouldn’t, however, crush the power of the system. So, the greater challenge lies in bringing about the power of the system to the novice user, so that he can easily customize the system in accordance to his needs.

 

 

The Software Architecture

 

 

 

The software architecture is again divided into three levels, one for the backend, one acting as an interface, and one level for the various functions that need to be performed.

 

Event Triggering

 
Text Box: Sensor
Read
Info
Text Box: Event
Information File

Tele Control Module

 

User Interface

 

Command Line Interpreter

 

Voice Command Module

 

The Parallel port control program

 
Text Box: Common
Request
File
Text Box: Timer
Information File

Timer Control Program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 


The Backend

 

The backend is a C++ program that receives requests from the other user and system programs and directs the various IRCUs accordingly, using the parallel port. Thus, the implementation details of the various room and switch codes are limited to this program. All the other programs simply enter a request for access through the common request file, which the backend interprets and issues directives accordingly.

 

Apart from this program, there would be other programs that do the automation work like implementation of timer and event triggering. They read corresponding information from the various control files and then append information to the CRF, when required.

 

The User Interface

 

The user interface is the program which is presented to the user and the administrator, which implies that there would be two versions of the interface itself, one with a very easy-to-understand interface for the user, and one with a more complex interface with extensive control features which give the administrator complete control over the system.

 

The Voice Command System

 

The voice command system receives requests from the user in the form of speech recognition over a VB application, when then executes a command line program with parameters accordingly.

 

The IVR Tele Control System

 

The Interactive Voice Response System responds to telephone calls through a modem and then presents the user with an interactive voice guided menu, so that the user can control and monitor his various electricals and appliances through any available telephone.

 

 

Introduction to the hardware

 

 

 

 

Needless to say, some key hardware components will be involved in the design of the project. What we basically intend to do is use the signals from the PC parallel port (the printer port) to control switches electronically using relays. Since the output from the parallel port would be limited to eight lines, we need to encode the signals using software which would then be decoded using some specific decoding circuitry. Discussed overleaf are the key hardware elements for the project


 

The PC Parallel port

 

The PC parallel port is a 25-pin port commonly referred to as the printer port. For most PC configurations the base address is configured as 0x378 (where 0x specifies that the value is in hexadecimal).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The general operating data is summed up below

 

PIN

Use

Port Name

R/W

Address

2-5

Data Out

Data Port

W

Base

6-9

Data Out

Data Port

W

Base

1

Strobe

Control Port

R/W

Base + 2

14

Auto Feed

Control Port

R/W

Base + 2

16

Init

Control Port

R/W

Base + 2

17

Select i/p

Control Port

R/W

Base + 2

15

Error

Control Port

R

Base + 1

13

Select

Control Port

R

Base + 1

12

Paper end

Control Port

R

Base + 1

10

Ack

Control Port

R

Base + 1

11

Busy

Control Port

R

Base + 1

 

Pins 18-25 serve as Ground.

 

For this project we’d probably be using pins 2-9 for the signal. Additional pins would be used as required.


The Relay

 

Simply stated, a relay is a switch which can be operated using a current source. That is, is we can switch it on or off by applying a voltage across its terminals. We actually apply the voltage across a coil of wire, as a result of which a magnetic field is generated. This magnetic field attracts one terminal and connects it to the other. This way we can switch it on. And when the current is stopped, the coil de-energizes and the terminals separate, thus switching the switch off.

 

This is what a relay looks like ..

The Relay

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


The Relay terminals

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


           


Decoding the Signals

 

The parallel port has eight lines for data output. Using them directly implies we can control up to eight devices from the computer. But an average house would need significantly more control ports. So, to overcome this limitation we will need to encode the signals using software before they are output from the parallel port. Thus, the signals the parallel port now emits from its eight lines can control up to 256 devices using this port by encoding all 8 bits directly. Instead, we choose to encode the lines separately so that we can select the rooms and the switches in the room. For this purpose, we assume we have to control seven rooms and seven switches in each room. And then, we’ll be using one line for diagnostic purposes. So, we have eight rooms and eight switches per room. For selecting eights, we need three output lines. Thus, three output lines for the rooms and three output lines for the switches enable us to control upto sixty-four devices. If we increase the room count to sixteen, we now need four lines for the room and thus using seven lines we can control sixteen rooms with eight switches per room, which adds up to 128 switches, which we control using the computer.

 

And now, since the computer is providing us with encoded signals, the hardware would need to decode the signals to understand which room and which switch is being selected. To accomplish this decoding process, we need to use an electronic IC known as a decoder/demultiplexer. The IC 74138 is a 3 to 8 line decoder and can effectively decode the signals for our purpose.  The 74138 logic diagram is shown below.

 

 

 

 

 

 

 

 

Thus, using this chip, along with a couple of other like buffers, invertors, etc., the signals can be effectively decoded and we can control 64 lines using the parallel port.


The Circuit

 

The circuit can basically be divided into two parts, the analog and the digital part.

 

 

 

 

The Analog Circuit

 

Since the digital circuit provides a 5V output and we would be controlling 6V relays, we need to convert the output to 6V. We do this by using the circuit below using a transistor as a switch to switch the 6V supply on or off using the 5V from the PC.

 

 

 

 

 

 

 

 

The Digital Circuit

 

Since the signals available from the parallel port are encoded, we need a circuit to decode those signals. Further, the circuit also needs to remember the state of the various switches connected to it. It will also need to respond to requests from the manual switches or the computer, and would also need to report the status of the various switches and sensors to the computer.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

Crisis Prevention

 

 

Inspite of all our best efforts, problems are bound to appear when the system is implemented. There may be many problems which can only be detected and removed once the system is actually implemented. Since the system would be controlling some very important electricals around the house, it is imperative that we adopt a approach where there is an easy alternative route to take in case of any problems.

 

To work around any such changeover crisis scenarios, we, instead of scrapping the traditional switches, choose to override the switches, still keeping them as an integral part of control. So, the user can, with a simple flick of the switch, disable the automatic control and resort to the simple tried and trusted standard switches.


Overriding Manual Control

 

Now that we have decided that we would actually be overriding manual control, how do we disable the manual control and transfer control to the automatic control. Well, we’ll be using this circuit ..

 

 

 

 

 

 

 

 

 

 

                

 

 

 

 

 

 

We simple attach the manual switch to this circuit. A 6V lines serves as the override line. When this 6V line is active, the Control Enable and Override relays are energized. This causes the control signal bridging to be complete and control signals are transmitted to the control relay. The override relay, on the other hand is connected in the normally closed (NC) state, and the 6V signal thus disables the manual switch. The circuit, as a CAD output..

 

Override Sig

 

Manual

S/W

 

Ctrl Sig.

 

N/C

 

N/O

 


So now we understand that, if the 6V Override signal is cut-off we revert back to manual control. There are three ways of disabling this 6V supply.

 

  • Main Kill Switch
  • Central AutoControl Disable
  • Room AutoControl Disable

 

 

 

The Main Kill Switch

 

The main kill switch is attached to the main power supply. When this switch is switched off, the central power supply is cut off and all control systems are shut down and the manual switches in all rooms are enabled.

 

 

 

Central AutoControl Disable Switch

 

The central autocontrol disable switch is electronically controlled and cuts off the power supply to all the room circuits and thus, all manual switches are enabled. This option can be triggered from the computer itself.

 

 

 

Room AutoControl Disable Switch

 

The Room AutoControl disable will cut off the 6V supply for the room, thus enabling the manual switches and disabling the automatic control relay.

 

 

Bootable Media

 

The system is supplied with a bootable CD-ROM and a bootable floppy disk which can be used in the event of any software failure to keep all essential system running until some preventive action can be taken. This way, in the event of an emergency, any PC can be deployed to control the system, which would be up and running as soon as it boots.

 

 

 

Security and Visitor Control

 

The SmartHome insignis would be equipped with a Security and visitor control system to help make your house more secure.

 

The security system would gather data from various sensors around the house and ensure that their have been no intrusions. In the event of an intrusion, the system would raise an alarm, and, if the owners and outside, can even call them on their telephone. If there is no response, the system may then call the neighbor’s telephone and deliver the message.  The system would be enabled automatically at specific times and would also disarm itself as and when required, for example, when you open a door from inside.

 

The visitor control system would, as soon as the doorbell is rung, display a photograph of the doorway and thus the visitor. The user would be presented with various choices, like unlocking the doors, opening the gate or opening the gate, sending a tele-message, etc.


 

 

 

 

Personal Profile Identification Panel

 

 

There are various people around the house and each has his own different preferences. Well, a smarter house has to understand this simple fact and make it’s users, however different they may be, feel more comfortable.

 

Well, one way to accomplish this would be to use a personal profile identification panel. Each room would have a panel with a button for each user of the room. So, as soon as a user enters a room and selects his profile, the system would act according to his very own settings. For eg, if person1 selects his profile and the time is 7am , the curtains draw open, the lights switch on and then the radio switches on. If however, profile2 is selected, nothing of the sort happens, as the user likes to sleep till late. The curtains draw open at 10am and then the TV switches on, just like he wanted.

 

 

System Requirement Specifications

 

 

For the basic system:-

 

Hardware

 

  • A limited power Personal Computer

o  A P-1 200Mhz ; 32MB ; 2.1GB would do just fine

  • A 5V power supply
  • A 12V power supply

 

Software

  • MS-DOS

 

 

For the fully functional version:-

 

Hardware

  • A PC with a P-II or better processor, 128MB RAM , a 2.1 or greater HDD
  • A 5V, 12V power supply

 

Software

  • MS Windows 98
  • Dragon Naturally Speaking 5.0
  • VoiceGuide Professional

 

 

 

 A Perspective on the future

Real Smartness

 

 

Nothing can really be considered smart unless it exhibits some form of intelligence. Hence, the SmartHome cannot be called smart unless and until it learns to take some decisions on it’s own.

 

In a very lucid sense when we say the house is ‘smart’ it should have the capability to understand the user’s needs and should then program itself to suit the user. Thus, the system should automatically understand the patterns by which the user operates. There should be no need for the user to explicitly program the system or issue instructions. The system should do all that for him.

 

Only when the SmartHome exhibits such behaviour can it be really considered ‘smart’, and that is the penultimate aim of the project

 

… real smartness.

 

 

 

 

 

 

(D) 2005 iDC. All rights reserved. ***