report

85
Unauthorized Vehicle Control Using Zigbee 2009-10 Chapter 1 INTRODUCTION Department Of ECE, Reva I T M, Bangalore-64

Upload: rajath-raj

Post on 26-Nov-2014

152 views

Category:

Documents


1 download

TRANSCRIPT

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 1

INTRODUCTION

Department Of ECE, Reva I T M, Bangalore-64

Unauthorized Vehicle Control Using Zigbee 2009-10

1.1 Background

It is known in the art to equip vehicles with an alarm system which includes a radio

alarm transmitter (Zigbee module) within the vehicle. Unauthorized tampering with the

vehicle, or operation of a secret alarm switch by the authorized operator of the vehicle,

causes a signal to be transmitted from the vehicle to alert others to the intrusion or other

unauthorized situation. It is also known in the art to provide vehicles with intrusion alarm

systems which operate, in response to unauthorized entry into the vehicle, to disable the

vehicle by techniques such as interrupting the fuel supply, vehicle the electrical system, or

the like. Such systems of the prior art do not, however, provide a system in which a vehicle

which is underway, under control of an unauthorized occupant, can be involuntarily

stopped or retarded by the vehicle operator as he normally operates vehicle controls such

as the brake or accelerator.

Accordingly, it is an object of the present invention to provide an improved vehicle

emergency alarm and stop system. It is another object of the present invention to provide a

vehicle emergency alarm and stop system which causes a vehicle to be stopped or retarded

in a controlled manner when the vehicle operator normally intends to slow down the

vehicle. It is another object of the present invention to provide a vehicle emergency alarm

and stop system which permits selective emergency message signaling from the vehicle. It

is still another object of the present invention to provide an improved antenna system for a

vehicle emergency alarm and stop system.

Stated in general terms, the present invention includes a transmitter which is

carried by a vehicle and which is actuated by one or more emergency conditions within the

vehicle to transmit an alarm signal. A signal receiver located remotely of the vehicle

receives alarm signals from suitably equipped vehicles, so that a stop command signal can

be transmitted for reception by a receiver in the vehicle. The vehicle includes means which

operates in response to a received stop command signal to condition a control function of

the vehicle to be retained in a retarded position at the subsequent control of the vehicle

operator. Stated somewhat more specifically, the received stop command signal conditions

a control function such as the brake system or accelerator of the vehicle so that the selected

control function, when momentarily retarded by the operator to slow down the vehicle,

cannot subsequently be returned to a condition which does not retard the vehicle.

Department Of ECE, Reva I T M, Bangalore-642

Unauthorized Vehicle Control Using Zigbee 2009-10

Selection of the particular emergency-condition vehicle for operation by the stop

command signal is accomplished by an antenna on the vehicle which becomes operative

only in response to an emergency situation, or alternatively by coded stop command

signals.

1.2 Literature survey

ZigBee is a low-cost, low-power, wireless mesh networking proprietary standard. First, the

low cost allows the technology to be widely deployed in wireless control and monitoring

applications. Second, the low power-usage allows longer life with smaller batteries. Third,

the mesh networking provides high reliability and more extensive range.

ZigBee has a lower data rate than other digital radio standards.

The ZigBee Alliance is an association of companies working together to enable reliable,

cost-effective, and low-power wirelessly networked monitoring and control products based

on an open global standard[1]. As per its main role, it standardizes the body that defines

ZigBee, and also publishes application profiles that allow multiple OEM vendors to create

interoperable products. The current list of application profiles either published or in the

works are:

Home Automation

ZigBee Smart Energy 1.0/2.0

Commercial Building Automation

Telecommunication Applications

Personal, Home, and Hospital Care

Toys

The relationship between IEEE 802.15.4 and ZigBee[2] is similar to that between IEEE

802.11 and the Wi-Fi Alliance. The ZigBee 1.0 specification was ratified on 14 December

2004 and is available to members of the ZigBee Alliance. Most recently, the ZigBee 2007

specification was posted on 30 October 2007. The first ZigBee Application Profile, Home

Automation, was announced 2 November 2007. As amended by NIST, the Smart Energy

Profile 2.0 specification will remove the dependency on IEEE 802.15.4. Device

manufacturers will be able to implement any MAC/PHY, such as IEEE 802.15.4(x) and

IEEE P1901, under an IP layer based on 6LowPAN.

ZigBee operates in the industrial, scientific and medical (ISM) radio bands; 868 MHz in

Europe, 915 MHz in the USA and Australia, and 2.4 GHz in most jurisdictions worldwide.

Department Of ECE, Reva I T M, Bangalore-643

Unauthorized Vehicle Control Using Zigbee 2009-10

Thetechnology is intended to be simpler and less expensive than other WPANs such

as Bluetooth. ZigBee chip vendors typically sell integrated radios and microcontrollers

with between 60K and 128K flash memory, such as the Jennic JN5148,

the Freescale MC13213, the Ember EM250, the Texas Instruments CC2430, the Samsung

Electro-Mechanics ZBS240 and theAtmel ATmega128RFA1. Radios are also available as

stand-alone components to be used with any processor or microcontroller. Generally, the

chip vendors also offer the ZigBee software stack, although independent ones are also

available.

1.3 Network Topologies

Network topology is defined as the interconnection of the various elements (links, nodes,

etc.) of a computer network.[1][2]Network Topologies can be physical or logical.

Physical Topology means the physical design of a network including the devices, location

and cable installation. Logical topology refers to the fact that how data actually transfers in

a network as opposed to its physical design.

Topology can be considered as a virtual shape or structure of a network. This shape

actually does not correspond to the actual physical design of the devices on the computer

network. The computers on the home network can be arranged in a circle shape but it does

not necessarily mean that it presents a ring topology.

Any particular network topology is determined only by the graphical mapping of the

configuration of physical and/or logical connections between nodes. The study of network

topology uses graph theory. Distances between nodes, physical interconnections,

transmission rates, and/or signal types may differ in two networks and yet their topologies

may be identical

1.4 ZigBee vs Bluetooth

Figure 1. ZigBee vs. Bluetooth [15].

ZigBee is broadly categorized as a low rate WPAN, and its closest technology is

Department Of ECE, Reva I T M, Bangalore-644

Unauthorized Vehicle Control Using Zigbee 2009-10

Bluetooth.  A good bit of energy has been spent in analyzing whether ZigBee and Bluetooth are complementary or competing technologies, but after a quick look at the two, it can be seen that they fall a lot farther down the complementary side of the spectrum.  They are two different technologies with very different areas of application and different means of designing for those applications.  While ZigBee is focused on control and automation, Bluetooth is focused on connectivity between laptops, PDA’s, and the like, as well as more general cable replacement.  ZigBee uses low data rate, low power consumption, and works with small packet devices; Bluetooth uses a higher data rate, higher power consumption, and works with large packet devices.  ZigBee networks can support a larger number of devices and a longer range between devices than Bluetooth.  Because of these differences, the technologies are not only geared toward different applications, they don't have the capability to extend out to other applications.  As an example, for its applications, Bluetooth must rely on fairly frequent battery recharging, while the whole goal of ZigBee is for a user to be able to put a couple of batteries in the devices and forget about them for months to years.  In timing critical applications, ZigBee is designed to respond quickly, while Bluetooth takes much longer and could be detrimental to the application.  Thus, a user could easily use both technologies as a wireless solution in a PAN to suit all types of applications within that network. 

1.5 Overview

The vehicle includes a Zigbee module which, when actuated as described below,

transmits signals through the antenna which may be concealed beneath the body surface of

the vehicle, when not in use. The vehicle receiver is connected to receive signals from the

antenna, as supplied through receive-transmit switch which protects the receiver from RF

energy the transmitter operates. The output of the vehicle receiver is supplied to the

vehicle stop control.

The vehicle transmitter is energized to transmit a predetermined signal whenever

an unauthorized or emergency condition is sensed by any of one or more condition sensing

means associated with the vehicle. The signal on the line is supplied to the message

selector, which provides a message selection signal to the recorded message unit.

The vehicle apparatus can be equipped with a Zigbee module which provides an

emergency condition input to the message selector in response to a signal received from

the portable transmitter. The portable transmitter is intended to be carried by the

authorized operator of the vehicle when the operator leaves the vehicle unattended, so that

an operator who witnesses an attempted break-in or other emergency relating to the

Department Of ECE, Reva I T M, Bangalore-645

Unauthorized Vehicle Control Using Zigbee 2009-10

unattended vehicle can activate the emergency alarm apparatus within the vehicle

by remote control from the portable transmitter. The portable transmitter and local receiver

preferably operate on a different frequency from the vehicle transmitter and vehicle

receiver, and the portable transmitter should preferably have a relatively short effective

range.

The solenoid is connected to be activated in response to an output signal from the

vehicle receiver, so that the latch member is lowered into engagement position with the

latch surface of the throttle arm. Assuming that the vehicle is operating under at least

partial throttle at a time when the solenoid is actuated to lower the latch member, the

throttle arm is at that time displaced to the right of the latch member by the cable, so that

operation of the throttle is immediately unaffected by the signal from the vehicle receiver.

As soon as the unauthorized operator of the vehicle momentarily releases the accelerator,

however, the throttle arm is returned to the position and the latch surface is engaged by the

latch member. Subsequent attempts to operate the vehicle accelerator will result only in

compressing the spring of the elastic connection, however, since the throttle arm is

maintained in idle position by the latch member. The vehicle will thus coast to a stop or,

alternatively, will be limited to a predetermined maximum speed, despite efforts of the

unauthorized operator to accelerate the vehicle.

Department Of ECE, Reva I T M, Bangalore-646

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 2

DESIGN CONSIDERATIONS

Department Of ECE, Reva I T M, Bangalore-647

Unauthorized Vehicle Control Using Zigbee 2009-10

2.1 Block Diagram:

2.2 PCBs/Manufacturing Process Manufacturing process steps (for a typical rigid multilayer PCB representing about 70% of all PCBs manufactured)

1. PCB data acquisition2. Preparation of PCB laminate (core)3. Inner layer image transfer4. Laminate layers5. Drilling and cleaning holes6. Make holes conductive7. Outer layer image transfer8. Surface finish9. Final fabrication

Department Of ECE, Reva I T M, Bangalore-648

MICRO

CONTROLLER

MAX-232 ZIGBEE

VEHICLE CONTROLE UNIT

POWER INDICATION LED

Transformer

Filter

Rectifier

Regulator

Power supply unit

Unauthorized Vehicle Control Using Zigbee 2009-10

Step2.2.1 1: PCB data acquisition• Files transferred from PCB design house to PCB manufacturing facility:– Gerber files, drill files, fabrication drawings• File review by PCB manufacturer• Creation of PCB tooling– Photo-tool for image transferImage created by PCB software is reproduced on film using laser photo plotters– Drill files– Profile routing filesCNC route file– All tooling is stepped and repeated for optimum utilization of standard panels (24in x 18in) Step 2.2.2: Preparation of PCB laminate (core)• Dielectric material: Woven glass fiber or paper Material depends on the function of the PCB. Some materials perform better in some environments than others (heat, humidity). Some materials are more suitable for particular manufacturing processes (e.g. hole punching). Others again are chosen for electric properties (permittivity). Most widely used: FR4 / CEM• Coat/impregnate dielectric material with resin & harden• Copper foil is rolled or electrolytically deposited on the base laminate• Core material is sheared to panel size• Core material is cleaned mechanically and/or chemically Removal of surface contamination required to promote subsequent adhesion ofStep2.2. 3: Inner layer image transfer (photo-lithography)Purpose: Transfer circuit image to core through “print-and-etch” process• Coat copper foils with photoresist (PR)Negative PR: Light-sensitive organic PR polymerises (“hardens”) when exposed to light. Polymerised PR will resist etching.• Place photo tool and expose to light after expose, PR layer is developed. Polymerised areas remain, unexposed areas are washed away.• EtchingSelectively remove exposed copper areas. Etching is performed with conveyorisedequipment (etchant flood rinse, several water rinses). Common etchants: Acidic cupric chloride and alkaline ammoniacal. Step2.2.4 : Lamination• Cores are pinned in a stack with sheets of prepreg (b-stage) separating the copper layers. Outerlayers are made with a foil of copper• Horizontal alignment critical!• Stack is pinned between two heavy metal plates creating a “book”.• Book is put in a heated hydraulic press for about 2h

Department Of ECE, Reva I T M, Bangalore-649

Unauthorized Vehicle Control Using Zigbee 2009-10

PrepregCorePrepregCorePrepregPrepregCoreOuter Cu foilOuter Cu foilTemperature (175°C)Pressure (3000kg)Time (2h)Prepreg is available in different styles with varying amounts of resin and glass fibers. This allows the manufacturer to control thickness between layers and thickness of the overall PCB.Step2.2.5 : Drilling and cleaningPurpose: Holes are drilled through PCB to interconnect layers (vias), and to allow theinsertion of PTH components• Drilling performed with CNC equipment Using drill files. Alternative methods to drilling exist (punching, laser).• Multiple panels can be drilled together Drilling of complex boards can take several hours per load• DesmearDesmear removes the melted resin smear• Etchback Etch glassfibers. Goal: Copper on the inner layers protrude out into the barrel of the hole• Panels are deburred/scrubbed after Drilling

Step2.2.6: Make holes conductive PCB substrate is not conductive. Therefore a non-electrolytic deposition method is required. In a later process step, electroplating to the required thickness can be performed• Process: Electroless copperElectroless copper is reliable but alternative methods exist. Electroless copper hassome significant disadvantages (like exposure to formaldehyde, which is carcinogen).• Electroless copper bath Deposits 75-125μIn of copper• Constituents of electroless copper: Sodium hydroxide, formaldehyde, EDTA andcopper salt. Complex reaction catalysed by palladium, formaldehyde reduces the copper ionto metallic copper.

Department Of ECE, Reva I T M, Bangalore-6410

Unauthorized Vehicle Control Using Zigbee 2009-10

Step2.2. 7: Outer layer image transfer Most common process: Print, pattern plate, and etch• Coat copper foils with photoresist (PR)• Place phototool and expose to light Outer layer phototools are positive images of the circuit. Circuit image is developed away exposing the copper. PR remaining on the panel will act as plating resist• Pattern plating (copper electroplating) Outer layers will be plated to a thickness of 1.5mil (to ensure a minimum thickness of 1mil in the holes). Copper electroplating takes place in a copper sulfate bath. Plating is performed at roughly 30A/ft2. Plating duration is roughly 1h.• Plate metallic etch resist• Etching

Step2.2. 8: Surface finishPurpose: Prevent copper oxidation. Facilitate solderability.• Most popular surface finish process: SMOBC/HASL:SMOBC: Solder-mask-over-bare-copper. HASL: hot-air-solder-leveling• Solder mask pre-clean (mechanical scrub)• Application of solder maskPurpose of solder mask: Insulate those portions where no solder is required. Most popular mask type: LPI (liquid photoimageable).• Application of flux Provides oxidation protection. Affects heat transfer during solder immersion.• HASLPanels are dipped into molten solder (237°C). Panels are then rapidly carried past jets of hot air. Exposed copper is coated with solder. Masked areas remain solder free.Panels are then cleaned in hot water. Step2.2. 9: Final fabricationMechanical features are added to the board (mounting holes, cutouts, etc)• Routing done through CNC machines• De-penalization– Partial de-penalization. Most of the circuit is routed out of the panel, but tabs remain to hold the circuit in place. This allows the assembly machine to populate multiple boards at once. Afterwards, the circuit can be snapped or broken out of the panel. Such panels are called “breakaways”, “snaps”, or “arrays”.– The alternative to partial de-penalization is to have the panel V-scored. Vscoring is done through a thin rotating scoring blade that will route across the top and the bottom of the panel with about 30% of the thickness of the panel. Vscoring allows more circuits per panel (no spacing is required for routing bits).

Department Of ECE, Reva I T M, Bangalore-6411

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 3

HARDWARE DETAILS

Department Of ECE, Reva I T M, Bangalore-6412

Unauthorized Vehicle Control Using Zigbee 2009-10

3.1 Hardware Components

In the design of unauthorized vehicle control we make use of several components

ZIGBEE

MAX232

Microcontroller P89V51RD2

Power supply unit

Relay

3.1.1 Zigbee

Zigbee is a wireless protocol that allows small, low-cost devices to quickly transmit small

amounts of data, like temperature readings for thermostats, on\off requests for light

switches, or keystrokes for a wireless keyboard. It is a global specification for reliable, cost

effective, low power wireless applications based on the IEEE 802.15.4 standard for

wireless personal area networks (WPANs). ZigBee is targeted at RF applications that

require a low data rate, long battery life, and secure networking. Zigbee is a rather new

wireless technology that looks to have applications in a variety of fields. It uses low data

rates technology allows for devices to communicate with one another with very low power

consumption, allowing the devices to run on simple batteries for several years. Zigbee is

targeting various forms of automation, as the low data rate communication is ideal for

sensors, monitors, and the like. Home automation is one of the key market areas for

Zigbee, with an example of a simple network

ZigBee is designed for wireless controls and sensors. It could be built into just about

anything you have around your home or office, including lights, switches, doors and

appliances. These devices can then interact without wires, and you can control them all

Department Of ECE, Reva I T M, Bangalore-6413

Unauthorized Vehicle Control Using Zigbee 2009-10

from a remote control or even your mobile phone. It allows wireless two-way

communications between lights and switches, thermostats and furnaces, hotel-room air-

conditioners and the front desk, and central command posts.

ZigBee works well because it aims low. Controls and sensors don't need to send and

receive much data. ZigBee has been designed to transmit slowly. It has a data rate of

250kbps (kilobits per second).Because ZigBee transmits slowly; it doesn't need much

power, so batteries will last up to 10 years. Because ZigBee consumes very little power, a

sensor and transmitter that reports whether a door is open or closed, for example, can run

for up to five years on a single double-A battery. Also, operators are much happier about

adding ZigBee to their phones than faster technologies such as Wi-Fi; therefore, the phone

will be able to act as a remote control for all the devices.

ZigBee basically uses digital radios to allow devices to communicate with one another. A

typical ZigBee network consists of several types of devices. A network coordinator is a

device that sets up the network, is aware of all the nodes within its network, and manages

both the information about each node as well as the information that is being

transmitted/received within the network. Every ZigBee network must contain a network

coordinator. Other Full Function Devices (FFD's) may be found in the network, and these

devices support all of the 802.15.4 functions. They can serve as network coordinators,

network routers, or as devices that interact with the physical world. The final device found

in these networks is the Reduced Function Device (RFD), which usually only serve as

devices that interact with the physical world.

3.1.2 MAX 232

Department Of ECE, Reva I T M, Bangalore-6414

Unauthorized Vehicle Control Using Zigbee 2009-10

The MAX232 is a dual driver/receiver that includes a capacitive voltage generator

to supply TIA/EIA-232-F voltage levels from a single 5-V supply. Each receiver converts

TIA/EIA-232-F inputs to 5-V TTL/CMOS levels. These receivers have a typical threshold

of 1.3 V, a typical hysteresis of 0.5 V, and can accept ±30-V inputs. Each driver converts

TTL/CMOS input levels into TIA/EIA-232-F levels. The driver, receiver, and voltage-

generator functions are available as cells in the Texas Instruments LinASIC library.

Meets or Exceeds TIA/EIA-232-F and ITU

Operates From a Single 5-V Power Supply with 1.0 μF Charge-Pump Capacitors

Operates Up To 120 kbit/s

Two Drivers and Two Receivers

±30-V Input Levels

Low Supply Current ...8 mA Typical

ESD Protection Exceeds JESD 22

Upgrade with Improved ESD (15-kV HBM) and 0.1μF Charge-Pump Capacitors is

Available With the MAX202

Applications

3.1.3 Microcontroller P89V51RD2

General description

The P89V51RD2 is an 80C51 microcontroller with 64 kB Flash and 1024 bytes of data

RAM.A key feature of the P89V51RD2 is its X2 mode option. The design engineer can

choose to run the application with the conventional 80C51 clock rate (12 clocks per

machine cycle) or select the X2 mode (6 clocks per machine cycle) to achieve twice the

throughput at the same clock frequency. Another way to benefit from this feature is to

keep the same performance by reducing the clock frequency by half, thus dramatically

reducing the EMI.

Department Of ECE, Reva I T M, Bangalore-6415

Unauthorized Vehicle Control Using Zigbee 2009-10

The Flash program memory supports both parallel programming and in serial In-System

Programming (ISP). Parallel programming mode offers gang-programming at high speed,

reducing programming costs and time to market. ISP allows a device to be reprogrammed

in the end product under software control. The capability to field/update the application

firmware makes a wide range of applications possible. The P89V51RD2 is also In-

Application Programmable (IAP), allowing the Flash program memory to be reconfigured

even while the application is running.

Features

80C51 Central Processing Unit

5 V Operating voltage from 0 to 40 MHz

64 kB of on-chip Flash program memory with ISP (In-System Programming) and

IAP (In-Application Programming).

Supports 12-clock (default) or 6-clock mode selection via software or ISP

SPI (Serial Peripheral Interface) and enhanced UART

PCA (Programmable Counter Array) with PWM and Capture/Compare functions

Four 8-bit I/O ports with three high-current Port 1 pins (16 mA each)

Three 16-bit timers/counters

Programmable Watchdog timer (WDT)

Eight interrupt sources with four priority levels

Second DPTR register

Low EMI mode (ALE inhibit)

TTL- and CMOS-compatible logic levels

Department Of ECE, Reva I T M, Bangalore-6416

Unauthorized Vehicle Control Using Zigbee 2009-10

Block diagram

Department Of ECE, Reva I T M, Bangalore-6417

Unauthorized Vehicle Control Using Zigbee 2009-10

Department Of ECE, Reva I T M, Bangalore-6418

Unauthorized Vehicle Control Using Zigbee 2009-10

Department Of ECE, Reva I T M, Bangalore-6419

Unauthorized Vehicle Control Using Zigbee 2009-10

Department Of ECE, Reva I T M, Bangalore-6420

Unauthorized Vehicle Control Using Zigbee 2009-10

Special function registers

Remark:

Special Function Registers (SFRs) accesses are restricted in the following ways:

• User must not attempt to access any SFR locations not defined.

• Accesses to any defined SFR locations must be strictly for the functions for the SFRs.

• SFR bits labeled ‘-’, ‘0’ or ‘1’ can only be written and read as follows:

– ‘-’ Unless otherwise specified, must be written with ‘0’, but can return any value when

read (even if it was written with ‘0’). It is a reserved bit and may be used in future

derivatives.

– ‘0’ must be written with ‘0’, and will return a ‘0’ when read.

Department Of ECE, Reva I T M, Bangalore-6421

Unauthorized Vehicle Control Using Zigbee 2009-10

3.1.4 Liquid Crystal Display

A liquid crystal display (LCD) is a thin, flat electronic visual display that uses the light

modulating properties of liquid crystals (LCs). LCs do not emit light directly. LCDs

therefore need a light source and are classified as "passive" displays. Some types can use

ambient light such as sunlight or room lighting. There are many types of LCD that are

designed for both special and general uses. They can be optimized for static text, detailed

still images, or dynamic, fast-changing, video content.

They are used in a wide range of applications including: computer monitors, television,

instrument panels, aircraft cockpit displays, signage, etc. They are common in consumer

devices such as video players, gaming devices, clocks, watches, calculators, and

telephones. LCDs have displaced cathode ray tube(CRT) displays in most applications.

They are usually more compact, lightweight, portable, and lower cost. They are available

in a wider range of screen sizes than CRT and other flat panel displays.

LCDs are more energy efficient, and offer safer disposal, than CRTs. Its low electrical

power consumption enables it to be used in battery-powered electronic equipment. It is

an electronically-modulated optical device made up of any number of pixels filled

with liquid crystalsand arrayed in front of a light source (backlight) or reflector to produce

images in colour or monochrome. The earliest discovery leading to the development of

LCD technology, the discovery of liquid crystals, dates from 1888.[1] By 2008, worldwide

sales of televisions with LCD screens had surpassed the sale of CRT units.

Department Of ECE, Reva I T M, Bangalore-6422

Unauthorized Vehicle Control Using Zigbee 2009-10

3.1.5 Relay

A simple electromagnetic relay consists of a coil of wire surrounding a soft iron core, an

iron yoke, which provides a low reluctance path for magnetic flux, a movable

iron armature, and a set, or sets, of contacts; two in the relay pictured. The armature is

hinged to the yoke and mechanically linked to a moving contact or contacts. It is held in

place by a spring so that when the relay is de-energized there is an air gap in the magnetic

circuit. In this condition, one of the two sets of contacts in the relay pictured is closed, and

the other set is open. Other relays may have more or fewer sets of contacts depending on

their function. The relay in the picture also has a wire connecting the armature to the yoke.

This ensures continuity of the circuit between the moving contacts on the armature, and the

circuit track on the printed circuit board(PCB) via the yoke, which is soldered to the PCB.

When an electric current is passed through the coil, the resulting magnetic field attracts the

armature, and the consequent movement of the movable contact or contacts either makes

or breaks a connection with a fixed contact. If the set of contacts was closed when the

relay was de-energized, then the movement opens the contacts and breaks the connection,

and vice versa if the contacts were open. When the current to the coil is switched off, the

armature is returned by a force, approximately half as strong as the magnetic force, to its

relaxed position. Usually this force is provided by a spring, but gravity is also used

commonly in industrial motor starters. Most relays are manufactured to operate quickly.

Department Of ECE, Reva I T M, Bangalore-6423

Unauthorized Vehicle Control Using Zigbee 2009-10

In a low voltage application, this is to reduce noise. In a high voltage or high current

application, this is to reduce arcing.

When the coil is energized with direct current, a diode is often placed across the coil to

dissipate the energy from the collapsing magnetic field at deactivation, which would

otherwise generate a voltage spike dangerous to circuit components. Some automotive

relays already include a diode inside the relay case. Alternatively a contact protection

network, consisting of a capacitor and resistor in series, may absorb the surge. If the coil is

designed to be energized with alternating current (AC), a small copper ring can be crimped

to the end of the solenoid. This "shading ring" creates a small out-of-phase current, which

increases the minimum pull on the armature during the AC cycle.[1]

By analogy with functions of the original electromagnetic device, a solid-state relay is

made with a thyristor or other solid-state switching device. To achieve electrical isolation

an optocoupler can be used which is a light-emitting diode (LED) coupled with a photo

transistor.

3.1.6 Power supply

Power supply is a supply of electrical power. A device or system that

supplies electrical or other types of energy to an output load or group of loads is called

a power supply unit orPSU. The term is most commonly applied to electrical energy

supplies, less often to mechanical ones, and rarely to others.

A power supply may include a power distribution system as well as primary or secondary

sources of energy such as: C.M.S

Conversion of one form of electrical power to another desired form and voltage,

typically involving converting AC line voltage to a well-regulated lower-

voltage DC for electronic devices. Low voltage, low power DC power supply units are

commonly integrated with the devices they supply, such as computers and household

Department Of ECE, Reva I T M, Bangalore-6424

Unauthorized Vehicle Control Using Zigbee 2009-10

electronics; for other examples, seeswitched-mode power supply, linear

regulator, rectifier and inverter (electrical).

Batteries

Chemical fuel cells and other forms of energy storage systems

Solar power

Generators  or alternators

Department Of ECE, Reva I T M, Bangalore-6425

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 4

Software Requirements

Department Of ECE, Reva I T M, Bangalore-6426

Unauthorized Vehicle Control Using Zigbee 2009-10

A software requirements definition is an abstract description of the services,

which the system should provide, and the constraints under which the system must operate.

It should only specify only the external behavior of the system and is not concerned with

system design characteristics. It is a solution, in a natural language plus diagrams, of what

services the system is expected to provide and the constraints under which it must operate.

1. The software should provide a means for searching, selecting and purchasing a

particular house.

2. It should allow for selling of a property.

3. Software should provide some secure means for maintaining the details for each

house.

4. It should provide rapid/easy access of data.

5. User friendly interfaces with quick processing of transaction or operations.

6. Flexibility in operations.

7. Centralize data storage.

4.1 Requirements specification: -

These add further information to the requirements definition. The requirements

specification is usually presented with the system models developed during requirements analysis.

It is a structured document, which sets out the system services in detail. This document, which is

sometimes called a functional specification, should be precise. It will serve as a contract between

the system buyer and software developer of the system.

The software should provide a means for searching, selecting and purchasing a particular

house.

a) The user should be provided a means for searching a particular house based on some

specification.

b) Facilities should be provided to a user for searching a particular house based on some

specification.

Department Of ECE, Reva I T M, Bangalore-6427

Unauthorized Vehicle Control Using Zigbee 2009-10

4.2 Minimum System Requirements:

Pentium III Processor 40 GB Hard Disk

512MB RAM

Windows XP or later

4.3 Software used: Microsoft visual Studio MSQL Web Server

Keil C Compiler

4.4 Hardware Used:

Microcontroller P89V51RD2 Zigbee module

Power supply unit

Max232

Microsoft visual Studio

C#.net 2.0:

C# .NET is Microsoft's C# development tool. It includes an interactive development

environment, visual designers for building Windows and Web applications, a compiler,

and a debugger. Visual C# .NET is part of a suite of products, called Visual Studio .NET,

that also includes Visual Basic .NET, Visual C++ .NET, and the JScript scripting

language.

When you automate an application such as a Microsoft Office application, the calls to the

properties and methods of the Office application's objects must be connected in some way

Department Of ECE, Reva I T M, Bangalore-6428

Unauthorized Vehicle Control Using Zigbee 2009-10

to those objects. The process of connecting property and method calls to the objects that

implement those properties and methods is commonly called binding. In Visual C#, the

two types of binding that are available are early binding and late binding. The type of

binding you choose can affect many aspects of your program, including performance,

flexibility, and maintainability.

This article explains and compares early and late binding for Visual C# Automation clients

and provides code samples that demonstrate both types of binding.

This C# offering takes a unique approach to help it stand out among the numerous .NET

programming titles available. The format is well suited for developers that already

understand the basics of .NET programming and want a practical reference for various

programming tasks. Each chapter consists of a brief introduction to the topic at hand,

followed by a number of "recipes." Each recipe will consist of a brief descriptive name,

followed by a longer but brief description of the task, followed by the technique itself, and

finally concluded with a "comments" section where the technique is discussed.What do

you need when you are coding in C#? If your answer is easily understood recipes for code

that does something, then this is the book for you! You probably already have a handle on

the basics of .NET programming and are in need of some shortcuts to make your job

easier. How about 350 code recipes! The Microsoft Visual C# .NET 2003 Developer's

Cookbook provides a practical reference for various programming tasks. Each chapter

consists of a brief description of the topic at hand and then gives you the goods - recipes

that explain a brief description of the task, the technique and comments about the

technique chosen by C# experts, Mark Schmidt and Simon Robinson.

Introduction to the C# Language and the .NET Framework 

C# is an elegant and type-safe object-oriented language that enables developers to build a

wide range of secure and robust applications that run on the .NET Framework. You can

use C# to create traditional Windows client applications, XML Web services, distributed

components, client-server applications, database applications, and much, much more.

Department Of ECE, Reva I T M, Bangalore-6429

Unauthorized Vehicle Control Using Zigbee 2009-10

Microsoft Visual C# 2005 provides an advanced code editor, convenient user interface

designers, integrated debugger, and many other tools to facilitate rapid application

development based on version 2.0 of the C# language and the .NET Framework.

C# Language

C# syntax is highly expressive, yet with less than 90 keywords, it is also simple and easy

to learn. The curly-brace syntax of C# will be instantly recognizable to anyone familiar

with C, C++ or Java. Developers who know any of these languages are typically able to

begin working productively in C# within a very short time. C# syntax simplifies many of

the complexities of C++ while providing powerful features such as nullable value types,

enumerations, delegates, anonymous methods and direct memory access, which are not

found in Java. C# also supports generic methods and types, which provide increased type

safety and performance, and iterators, which enable implementers of collection classes to

define custom iteration behaviors that are simple to use by client code.

As an object-oriented language, C# supports the concepts of encapsulation, inheritance and

polymorphism. All variables and methods, including the Main method, the application's

entry point, are encapsulated within class definitions. A class may inherit directly from one

parent class, but it may implement any number of interfaces. Methods that override virtual

methods in a parent class require the override keyword as a way to avoid accidental

redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can

implement interfaces but does not support inheritance.

In addition to these basic object-oriented principles, C# facilitates the development of

software components through several innovative language constructs, including:

Encapsulated method signatures called delegates, which enable type-safe event

notifications.

Properties, which serve as accessors for private member variables.

Attributes, which provide declarative metadata about types at run time.

Inline XML documentation comments.

Department Of ECE, Reva I T M, Bangalore-6430

Unauthorized Vehicle Control Using Zigbee 2009-10

If you need to interact with other Windows software such as COM objects or native Win32

DLLs, you can do this in C# through a process called "Interop." Interop enables C#

programs to do just about anything that a native C++ application can do. C# even supports

pointers and the concept of "unsafe" code for those cases in which direct memory access is

absolutely critical.

The C# build process is simple compared to C and C++ and more flexible than in Java.

There are no separate header files, and no requirement that methods and types be declared

in a particular order. A C# source file may define any number of classes, structs,

interfaces, and events.

Compiling an Running C# program

Department Of ECE, Reva I T M, Bangalore-6431

Unauthorized Vehicle Control Using Zigbee 2009-10

.NET Framework Platform Architecture

C# programs run on the .NET Framework, an integral component of Windows that

includes a virtual execution system called the common language runtime (CLR) and a

unified set of class libraries. The CLR is Microsoft's commercial implementation of the

common language infrastructure (CLI), an international standard that is the basis for

creating execution and development environments in which languages and libraries work

together seamlessly.

Source code written in C# is compiled into an intermediate language (IL) that conforms to

the CLI specification. The IL code, along with resources such as bitmaps and strings, is

stored on disk in an executable file called an assembly, typically with an extension of .exe

or .dll. An assembly contains a manifest that provides information on the assembly's types,

version, culture, and security requirements.

When the C# program is executed, the assembly is loaded into the CLR, which might take

various actions based on the information in the manifest. Then, if the security requirements

are met, the CLR performs just in time (JIT) compilation to convert the IL code into native

machine instructions. The CLR also provides other services related to automatic garbage

collection, exception handling, and resource management. Code that is executed by the

CLR is sometimes referred to as "managed code," in contrast to "unmanaged code" which

Department Of ECE, Reva I T M, Bangalore-6432

Unauthorized Vehicle Control Using Zigbee 2009-10

is compiled into native machine language that targets a specific system. The following

diagram illustrates the compile-time and run time relationships of C# source code files, the

base class libraries, assemblies, and the CLR.

Language interoperability is a key feature of the .NET Framework. Because the IL code

produced by the C# compiler conforms to the Common Type Specification (CTS), IL code

generated from C# can interact with code that was generated from the .NET versions of

Department Of ECE, Reva I T M, Bangalore-6433

Unauthorized Vehicle Control Using Zigbee 2009-10

Visual Basic, Visual C++, Visual J#, or any of more than 20 other CTS-compliant

languages. A single assembly may contain multiple modules written in different .NET

languages, and the types can reference each other just as if they were written in the same

language.

In addition to the run time services, the .NET Framework also includes an extensive

library of over 4000 classes organized into namespaces that provide a wide variety of

useful functionality for everything from file input and output to string manipulation to

XML parsing, to Windows Forms controls. The typical C# application uses the .NET

Framework class library extensively to handle common "plumbing" chores.

The Microsoft .NET Framework is a software component that can be added to the

Microsoft Windows operating system. It provides a large body of pre-coded solutions to

common program requirements, and manages the execution of programs written

specifically for the framework. The .NET Framework is a key Microsoft offering, and is

intended to be used by most new applications created for the Windows platform.

The pre-coded solutions form the framework's class library and cover a large range of

programming needs in areas including: user interface, data access, database connectivity,

cryptography, web application development, numeric algorithms, and network

communications. The functions of the class library are used by programmers who combine

them with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that

manages the program's runtime requirements. This runtime environment, which is also a

part of the .NET Framework, is known as the Common Language Runtime (CLR). The

CLR provides the appearance of an application virtual machine, so that programmers need

not consider the capabilities of the specific CPU that will execute the program. The CLR

also provides other important services such as security mechanisms, memory management,

and exception handling. The class library and the CLR together compose the .NET

Framework. The framework is intended to make it easier to develop computer applications

and to reduce the vulnerability of applications and computers to security threats.

Department Of ECE, Reva I T M, Bangalore-6434

Unauthorized Vehicle Control Using Zigbee 2009-10

Design goals and principal features

The .NET Framework was designed with several intentions:

Interoperability - Because interaction between new and older applications is

commonly required, the .NET Framework provides means to access functionality

that is implemented in programs that execute outside the .NET environment.

Access to COM components is provided in the Enterprise Services namespace of

the framework, and access to other functionality is provided using the P/Invoke

feature.

Common Runtime Engine - Programming languages on the .NET Framework

compile into an intermediate language known as the Common Intermediate

Language, or CIL; Microsoft's implementation of CIL is known as Microsoft

Intermediate Language, or MSIL. In Microsoft's implementation, this intermediate

language is not interpreted, but rather compiled in a manner known as just-in-time

compilation (JIT) into native code. The combination of these concepts is called the

Common Language Infrastructure (CLI), a specification; Microsoft's

implementation of the CLI is known as the Common Language Runtime (CLR).

Language Independence - The .NET Framework introduces a Common Type

System, or CTS. The CTS specification defines all possible datatypes and

programming constructs supported by the CLR and how they may or may not

interact with each other. Because of this feature, the .NET Framework supports

development in multiple programming languages. This is discussed in more detail

in the .NET languages section below.

Base Class Library - The Base Class Library (BCL), sometimes referred to as the

Framework Class Library (FCL), is a library of types available to all languages

using the .NET Framework. The BCL provides classes which encapsulate a number

of common functions, including file reading and writing, graphic rendering,

database interaction and XML document manipulation.

Department Of ECE, Reva I T M, Bangalore-6435

Unauthorized Vehicle Control Using Zigbee 2009-10

Simplified Deployment - Installation of computer software must be carefully

managed to ensure that it does not interfere with previously installed software, and

that it conforms to increasingly stringent security requirements. The .NET

framework includes design features and tools that help address these requirements.

Security - .NET allows for code to be run with different trust levels without the use

of a separate

Common Language Infrastructure (CLI)

The most important component of the .NET Framework lies in the Common Language

Infrastructure, or CLI. The purpose of the CLI is to provide a language-agnostic platform

for application development and execution, including, but not limited to, components for

exception handling, garbage collection, security, and interoperability. Microsoft's

implementation of the CLI is called the Common Language Runtime, or CLR. The CLR is

composed of five primary parts:

Common Type System (CTS)

Common Language Specification (CLS)

Common Intermediate Language (CIL)

Just-in-Time Compiler (JIT)

Virtual Execution System (VES)

.NET framework Architecture

Department Of ECE, Reva I T M, Bangalore-6436

Unauthorized Vehicle Control Using Zigbee 2009-10

.NET framework works

Department Of ECE, Reva I T M, Bangalore-6437

Unauthorized Vehicle Control Using Zigbee 2009-10

Microsoft SQL 2000

Microsoft SQL Server 2000 is a full-featured relational database management system

(RDBMS) that offers a variety of administrative tools to ease the burdens of database

development, maintenance and administration. In this article, we'll cover six of the more

frequently used tools: Enterprise Manager, Query Analyzer, SQL Profiler, Service

Manager.

Enterprise Manager is the main administrative console for SQL Server installations. It

provides you with a graphical "birds-eye" view of all of the SQL Server installations on

Department Of ECE, Reva I T M, Bangalore-6438

Unauthorized Vehicle Control Using Zigbee 2009-10

your network. You can perform high-level administrative functions that affect one or more

servers, schedule common maintenance tasks or create and modify the structure of

individual databases.

Query Analyzer offers a quick and dirty method for performing queries against any of your

SQL Server databases. It's a great way to quickly pull information out of a database in

response to a user request, test queries before implementing them in other applications,

create/modify stored procedures and execute administrative tasks

SQL Profiler provides a window into the inner workings of your database. You can

monitor many different event types and observe database performance in real time. SQL

Profiler allows you to capture and replay system "traces" that log various activities. It's a

great tool for optimizing databases with performance issues or troubleshooting particular

problems.

Service Manager is used to control the MSSQLServer (the main SQL Server process),

MSDTC (Microsoft Distributed Transaction Coordinator) and SQLServerAgent processes.

An icon for this service normally resides in the system tray of machines running SQL

Server. You can use Service Manager to start, stop or pause any one of these services

Data Transformation Services (DTS) provide an extremely flexible method for importing

and exporting data between a Microsoft SQL Server installation and a large variety ofother

formats. The most commonly used DTS application is the "Import and Export Data"

wizard found in the SQL Server program group.

MS sql client tools

Department Of ECE, Reva I T M, Bangalore-6439

Unauthorized Vehicle Control Using Zigbee 2009-10

Features

Microsoft SQL Server uses a variant of SQL called T-SQL, or Transact-SQL, an

implementation of SQL-92 (the ISO standard for SQL, certified in 1992) with many

extensions. T-SQL mainly adds additional syntax for use in stored procedures, and affects

the syntax of transaction support. (Note that SQL standards require Atomic, Consistent,

Isolated, Durable or "ACID" transactions.) Microsoft SQL Server and Sybase/ASE both

communicate over networks using an application-level protocol called Tabular Data

Stream (TDS). The TDS protocol has also been implemented by the FreeTDS project in

order to allow more kinds of client applications to communicate with Microsoft SQL

Server and Sybase databases. Microsoft SQL Server also supports Open Database

Connectivity (ODBC). The latest release SQL Server 2005 also supports the ability to

deliver client connectivity via the Web Services SOAP protocol. This allows non-

Windows Clients to communicate cross platform with SQL Server. Microsoft has also

Department Of ECE, Reva I T M, Bangalore-6440

Unauthorized Vehicle Control Using Zigbee 2009-10

released a certified JDBC driver to let Java Applications like BEA and IBM WebSphere

communicate with Microsoft SQL Server 2000 and 2005.

MS sql Interaction

C Language.

A high-level programming language developed at Bell Labs that is able to manipulate the

computer at a low level like assembly language. During the last half of the 1980s, C

became the language of choice for developing commercial software. C, and its object-

oriented successor C++, are used to write a huge variety of applications and almost all

operating systems. There are C/C++ compilers for all major operating systems and

hardware platforms. C was standardized by ANSI (X3J11 committee) and ISO in 1989.

Department Of ECE, Reva I T M, Bangalore-6441

Unauthorized Vehicle Control Using Zigbee 2009-10

Characteristics of C

We briefly list some of C's characteristics that define the language and also have lead to its

popularity as a programming language. Naturally we will be studying many of these

aspects throughout the course.

Small size

Extensive use of function calls

Loose typing -- unlike PASCAL

Structured language

Low level (Bitwise) programming readily available

Pointer implementation - extensive use of pointers for

memory, array, structures and functions.

C has now become a widely used professional language for various reasons.

It has high-level constructs.

It can handle low-level activities.

It produces efficient programs.

It can be compiled on a variety of computers.

KEIL IDE

The µVision3 IDE from Keil combines project management, make facilities,

source code editing, program debugging, and complete simulation in one powerful

environment. The µVision development platform is easy-to-use and it helps you quickly

create embedded programs that work. The µVision editor and debugger are integrated in a

single application that provides a seamless embedded project development environment.

µVision3 provides unique features like:

The Device Database which automatically sets the assembler, compiler, and linker

options for the chip you select.  This prevents you from wasting your time

configuring the tools and helps you get started writing code faster.

Department Of ECE, Reva I T M, Bangalore-6442

Unauthorized Vehicle Control Using Zigbee 2009-10

A robust Project Manager which lets you create several different configurations

of your target from a single project file.  Only the Keil µVision3 IDE allows you to

create an output file for simulating, an output file for debugging with an emulator,

and an output file for programming an EPROM--all from the same Project file.

An integrated Make facility with automatic dependency generation.  You don't

have to figure out which header files and include files are used by which source

files.  The Keil compilers and assemblers do that automatically.

Interactive error correction.  As your project compiles, errors and warnings appear

in an output window.  You may make corrections to the files in your project while

µVision3 continues to compile in the background.  Line numbers associated with

each error or warning is automatically resynchronized when you make changes to

the source.

µVision3 Debugger

The µVision Debugger from Keil supports simulation using only your PC or laptop, and

debugging using your target system and a debugger interface. µVision includes traditional features

like simple and complex breakpoints, watch windows, and execution control as well as

sophisticated features like trace capture, execution profiler, code coverage, and logic analyzer.

Viewing Code & Data

The µVision Debugger provides a number of ways to display variables and program objects.

Source Code Windows display your high-level language and assembly program

source code.

The Disassembly Window shows mixed high-level language and assembly code.

The Registers Tab of the Project Workspace shows system registers.

The Symbol Window hierarchy displays program symbols in your application.

The Output Window displays the output of various debugger commands.

The Memory Window displays up to four regions of code or data memory.

Department Of ECE, Reva I T M, Bangalore-6443

Unauthorized Vehicle Control Using Zigbee 2009-10

Executing Code

µVision offers several ways you can control and manipulate program execution.

Reset - It is possible to debug reset conditions using the µVision Simulator.

Run/Stop - Buttons and Commands make starting and stopping program execution

is easy.

Single-Stepping - µVision supports various methods of single-stepping through

your target program.

Execution Trace - Execution trace information for each executed instruction is

stored by µVision.

Breakpoints - Both simple and complex breakpoints are supported by the µVision

Debugger.

Advanced Analysis Tools

Advanced analysis tools are available to help you test and debug your embedded

applications.

Code Coverage helps you determine how much of your program has been tested.

The Performance analyzer shows how functions and code blocks in your program

perform.

The Execution Profiler shows execution counts and time for each line of code or

instruction.

The Logic analyzer shows how various signals and variables in your program

change over time.

Simulation

Simulation capabilities make it possible to test your target system without target hardware.

Department Of ECE, Reva I T M, Bangalore-6444

Unauthorized Vehicle Control Using Zigbee 2009-10

Instruction Simulation simulates the exact effects and timing of each MCU

instruction.

Interrupt Simulation simulates the cause and effect of a system or peripheral

interrupt.

Peripheral Simulation simulates the effects of on-chip peripherals including

special function registers.

Debugger Functions allow you to expand the command scope of the debugger and

create and respond to stimuli.

Toolbox Buttons are a convenient way for you to connect debugger functions

buttons on the user-interface.

Target Debugging

Target debug drivers allow you to test programs running on target hardware.

JTAG Debugging uses external hardware to interface your PC to your target system.

A Target Monitor interfaces your PC to your target system using RS-232 and software.

Flash Programming uses a target interface to download your target program to Flash

memory.

AGDI Drivers interface the µVision Debugger to third-party hardware or provide additional debugger features.

Department Of ECE, Reva I T M, Bangalore-6445

Unauthorized Vehicle Control Using Zigbee 2009-10

Project Window:

Department Of ECE, Reva I T M, Bangalore-6446

Unauthorized Vehicle Control Using Zigbee 2009-10

Debug window:

Department Of ECE, Reva I T M, Bangalore-6447

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 5

IMPLEMENTATION AND TESTING

Department Of ECE, Reva I T M, Bangalore-6448

Unauthorized Vehicle Control Using Zigbee 2009-10

5.1SYSTEM TESTING:

TESTING CONCEPTS USED IN OUR PROJECT

We have tested the project with manual testing.

Manual testing is the process of manually testing software for defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior. To ensure completeness of testing, the tester often follows a written test plan that leads them through a set of important test cases.

A key step in the process of software engineering is testing the software for correct behavior prior to release to end users.

For small scale engineering efforts (including prototypes), exploratory testing may be sufficient. With this informal approach, the tester does not follow any rigorous testing procedure, but rather explores the user interface of the application using as many of its features as possible, using information gained in prior tests to intuitively derive additional tests. The success of exploratory manual testing relies heavily on the domain expertise of the tester, because a lack of knowledge will lead to incompleteness in testing. One of the key advantages of an informal approach is to gain an intuitive insight to how it feels to use the application.

Large scale engineering projects that rely on manual software testing follow a more rigorous methodology in order to maximize the number of defects that can be found. A systematic approach focuses on predetermined test cases and generally involves the following steps.[1]

1. Choose a high level test plan where a general methodology is chosen, and resources such as people, computers, and software licenses are identified and acquired.

2. Write detailed test cases, identifying clear and concise steps to be taken by the tester, with expected outcomes.

3. Assign the test cases to testers, who manually follow the steps and record the results.

4. Author a test report, detailing the findings of the testers. The report is used by managers to determine whether the software can be released, and if not, it is used by engineers to identify and correct the problems.

Department Of ECE, Reva I T M, Bangalore-6449

Unauthorized Vehicle Control Using Zigbee 2009-10

A rigorous test case based approach is often traditional for large software engineering projects that follow a Waterfall model. However, at least one recent study did not show a dramatic difference in defect detection efficiency between exploratory testing and test case based testing

Software testing is the process used to help identify the correctness, completeness,

security, and quality of developed computer software. Testing is a process of technical

investigation, performed on behalf of stakeholders, that is intended to reveal quality-

related information about the product with respect to the context in which it is intended to

operate. This includes, but is not limited to, the process of executing a program or

application with the intent of finding errors. Quality is not an absolute; it is value to some

person. With that in mind, testing can never completely establish the correctness of

arbitrary computer software; testing furnishes a criticism or comparison that compares the

state and behavior of the product against a specification. An important point is that

software testing should be distinguished from the separate discipline of software quality

assurance, which encompasses all business process areas, not just testing.

There are many approaches to software testing, but effective testing of complex products is

essentially a process of investigation, not merely a matter of creating and following routine

procedure. One definition of testing is "the process of questioning a product in order to

evaluate it", where the "questions" are operations the tester attempts to execute with the

product, and the product answers with its behavior in reaction to the probing of the

tester.Although most of the intellectual processes of testing are nearly identical to that of

review or inspection, the word testing is connoted to mean the dynamic analysis of the

product—putting the product through its paces. Some of the common quality attributes

include capability, reliability, efficiency, portability, maintainability, compatibility and

usability. A good test is sometimes described as one which reveals an error; however,

more recent thinking suggests that a good test is one which reveals information of interest

to someone who matters within the project community.

Department Of ECE, Reva I T M, Bangalore-6450

Unauthorized Vehicle Control Using Zigbee 2009-10

5.2White-box and black-box testing

White box and black box testing are terms used to describe the point of view a test

engineer takes when designing test cases. Black box being an external view of the test

object and white box being an internal view. Software testing is partly intuitive, but largely

systematic. Good testing involves much more than just running the program a few times to

see whether it works. Thorough analysis of the program under test, backed by a broad

knowledge of testing techniques and tools are prerequisites to systematic testing. Software

Testing is the process of executing software in a controlled manner; in order to answer the

question “Does this software behave as specified?” Software testing is used in association

with Verification and Validation. Verification is the checking of or testing of items,

including software, for conformance and consistency with an associated specification.

Software testing is just one kind of verification, which also uses techniques as reviews,

inspections, walk-through. Validation is the process of checking what has been specified is

what the user wanted actually.

Validation: Are we doing the right job?

Verification: Are we doing the job right?

In order to achieve consistency in the Testing style, it is imperative to have and follow a

set of testing principles. This enhances the efficiency of testing within SQA team members

and thus contributes to increased productivity. The purpose of this document is to provide

overview of the testing, plus the techniques.

At SDEI, 3 levels of software testing is done at various SDLC phases

Unit Testing: in which each unit (basic component) of the software is tested to

verify that the detailed design for the unit has been correctly implemented

Integration testing: in which progressively larger groups of tested software

components corresponding to elements of the architectural design are integrated

and tested until the software works as a whole.

Department Of ECE, Reva I T M, Bangalore-6451

Unauthorized Vehicle Control Using Zigbee 2009-10

System testing: in which the software is integrated to the overall product and tested

to show that all requirements are met

5.3Test levels

Unit testing tests the minimal software component and sub-component or modules

by the programmers.

Integration testing exposes defects in the interfaces and interaction between

integrated components (modules).

Functional testing tests the product according to programmable work.

System testing tests an integrated system to verify/validate that it meets its

requirements.

Acceptance testing can be conducted by the client. It allows the end-user or

customer or client to decide whether or not to accept the product. Acceptance

testing may be performed after the testing and before the implementation phase.

See also Development stage

o Alpha testing is simulated or actual operational testing by potential

users/customers or an independent test team at the developers' site. Alpha

testing is often employed for off-the-shelf software as a form of internal

acceptance testing, before the software goes to beta testing.

o Beta testing comes after alpha testing. Versions of the software, known as

beta versions, are released to a limited audience outside of the company.

The software is released to groups of people so that further testing can

ensure the product has few faults or bugs. Sometimes, beta versions are

made available to the open public to increase the feedback field to a

maximal number of future users.

It should be noted that although both Alpha and Beta are referred to as testing it is in fact

use emersion. The rigors that are applied are often unsystematic and many of the basic

Department Of ECE, Reva I T M, Bangalore-6452

Unauthorized Vehicle Control Using Zigbee 2009-10

tenants of testing process are not used. The Alpha and Beta period provides insight into

environmental and utilization conditions that can impact the software.

After modifying software, either for a change in functionality or to fix defects, a regression

test re-runs previously passing tests on the modified software to ensure that the

modifications haven't unintentionally caused a regression of previous functionality.

Regression testing can be performed at any or all of the above test levels. These regression

tests are often automated.

Test cases, suites, scripts and scenarios

A test case is a software testing document, which consists of event, action, input, output,

expected result and actual result. Clinically defined (IEEE 829-1998) a test case is an input

and an expected result. This can be as pragmatic as 'for condition x your derived result is

y', whereas other test cases described in more detail the input scenario and what results

might be expected. It can occasionally be a series of steps (but often steps are contained in

a separate test procedure that can be exercised against multiple test cases, as a matter of

economy) but with one expected result or expected outcome. The optional fields are a test

case ID, test step or order of execution number, related requirement(s), depth, test

category, author, and check boxes for whether the test is automatable and has been

automated. Larger test cases may also contain prerequisite states or steps, and descriptions.

A test case should also contain a place for the actual result. These steps can be stored in a

word processor document, spreadsheet, database or other common repository. In a

database system, you may also be able to see past test results and who generated the results

and the system configuration used to generate those results. These past results would

usually be stored in a separate table.

The term test script is the combination of a test case, test procedure and test data. Initially

the term was derived from the byproduct of work created by automated regression test

tools. Today, test scripts can be manual, automated or a combination of both.

The most common term for a collection of test cases is a test suite. The test suite often also

contains more detailed instructions or goals for each collection of test cases. It definitely

Department Of ECE, Reva I T M, Bangalore-6453

Unauthorized Vehicle Control Using Zigbee 2009-10

contains a section where the tester identifies the system configuration used during testing.

A group of test cases may also contain prerequisite states or steps, and descriptions of the

following tests.

Collections of test cases are sometimes incorrectly termed a test plan. They might correctly

be called a test specification. If sequence is specified, it can be called a test script, scenario

or procedure.

A sample testing cycle

Although testing varies between organizations, there is a cycle to testing:

1. Requirements Analysis: Testing should begin in the requirements phase of the

software development life cycle.

During the design phase, testers work with developers in determining what aspects

of a design are testable and under what parameter those tests work.

2. Test Planning: Test Strategy, Test Plan(s), Test Bed creation.

3. Test Development: Test Procedures, Test Scenarios, Test Cases, and Test Scripts to

use in testing software.

4. Test Execution: Testers execute the software based on the plans and tests and

report any errors found to the development team.

5. Test Reporting: Once testing is completed, testers generate metrics and make final

reports on their test effort and whether or not the software tested is ready for

release.

6. Retesting the Defects

Not all errors or defects reported must be fixed by a software development team. Some

may be caused by errors in configuring the test software to match the development or

Department Of ECE, Reva I T M, Bangalore-6454

Unauthorized Vehicle Control Using Zigbee 2009-10

production environment. Some defects can be handled by a workaround in the production

environment. Others might be deferred to future releases of the software, or the deficiency

might be accepted by the business user. There are yet other defects that may be rejected by

the development team (of course, with due reason) if they deem it inappropriate to be

called a defect.

5.4 Software Testing Life Cycle

Software Testing Methodologies

Department Of ECE, Reva I T M, Bangalore-6455

Unauthorized Vehicle Control Using Zigbee 2009-10

Step 1 - Proposal for Engagement

In this step we define the terms of reference, customer expectations, project scope &

commitments and the overall project framework.

Step 2 - Knowledge Transfer

Here our domain experts/business analysts will ensure that the critical activity of

knowledge transfer—both domain-specific as well as project-specific knowledge—

happens smoothly and with the least possible effort.

Step 3 - Test Preparation

This step runs in parallel to the software development activity and the team works on

producing the test strategy, test cases, trace-ability, test scripts, test data guidelines and

Run Plans. Parallel preparation helps improve delivery time.

Step 4 - Test Execution

Here the actual execution of testing happens based on the test start and completion criteria.

Experienced teams of test engineers facilitate flawless and timely completion.

Department Of ECE, Reva I T M, Bangalore-6456

Unauthorized Vehicle Control Using Zigbee 2009-10

Step 5 - Defect Management

This step involves defect management and tracking defects systematically to closure. Test

logs, defect summaries, status reports and defect analyses are also produced.

Step 6 - Test Automation

Selecting and deploying appropriate tools for automating regression testing and

performance testing is what this step is all about. Test execution productivity is

considerably enhanced by automatic tools.

Step 7 - Test Maintenance

This step implements a process and a stable framework for handling on-going release

testing requirements on a long-term basis.

Testing Implemented:

Integration Testing: The phase of software testing in which individual software modules are combined and tested as a group. The purpose of integration testing is to verify functional, performance and reliability requirements placed on major design items. These "design items", i.e. assemblages (or groups of units), are exercised through their interfaces using black box testing, success and error cases being simulated via appropriate parameter and data inputs. Simulated usage of shared data areas and inter-process communication is tested and individual subsystems are exercised through their input interface. Test cases are constructed to test that all components within assemblages interact correctly, for example across procedure calls or process activations, and this is done after testing individual modules, i.e. unit testing.

The overall idea is a "building block" approach, in which verified assemblages are added to a verified base which is then used to support the integration testing of further assemblages, In this approach, all or most of the developed modules are coupled together to form a complete software system or major part of the system and then used for integration testing.

Department Of ECE, Reva I T M, Bangalore-6457

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 6

CONCLUSION

Department Of ECE, Reva I T M, Bangalore-6458

Unauthorized Vehicle Control Using Zigbee 2009-10

It is known in the art to equip vehicles with an alarm system which includes a radio

alarm transmitter (Zigbee module) within the vehicle. Unauthorized tampering with the

vehicle, or operation of a secret alarm switch by the authorized operator of the vehicle,

causes a signal to be transmitted from the vehicle to alert others to the intrusion or other

unauthorized situation. It is also known in the art to provide vehicles with intrusion alarm

systems which operate, in response to unauthorized entry into the vehicle, to disable the

vehicle by techniques such as interrupting the fuel supply, vehicle the electrical system, or

the like. Such systems of the prior art do not, however, provide a system in which a vehicle

which is underway, under control of an unauthorized occupant, can be involuntarily

stopped or retarded by the vehicle operator as he normally operates vehicle controls such

as the brake or accelerator.

Accordingly, it is an object of the present invention to provide an improved vehicle

emergency alarm and stop system. It is another object of the present invention to provide a

vehicle emergency alarm and stop system which causes a vehicle to be stopped or retarded

in a controlled manner when the vehicle operator normally intends to slow down the

vehicle. It is another object of the present invention to provide a vehicle emergency alarm

and stop system which permits selective emergency message signaling from the vehicle. It

Department Of ECE, Reva I T M, Bangalore-6459

Unauthorized Vehicle Control Using Zigbee 2009-10

is still another object of the present invention to provide an improved antenna system for a

vehicle emergency alarm and stop system.

Chapter 7

FUTURE SCOPE

Department Of ECE, Reva I T M, Bangalore-6460

Unauthorized Vehicle Control Using Zigbee 2009-10

Future

In our project a lot of advancement can be incorporated with proper research and development.Great work can be achieved through this.

This system is applicable for

Toll collection centers

Traffic police

School zones etc.

Advantages:

Remotely control the unauthorized vehicles

User friendly application

Fully automated control of vehicles

Department Of ECE, Reva I T M, Bangalore-6461

Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 8

REFERENCE

Department Of ECE, Reva I T M, Bangalore-6462

Unauthorized Vehicle Control Using Zigbee 2009-10

REFERENCES:

The 8051 Microcontroller and Embedded Systems

- Muhammad Ali Mazidi

- Janice Gillispie Mazidi

Pointers in C

- Yashwanth Kanitkar

www.keil.com

www.atmel.com

www.w3schools.com

www.csharpcorner.com

Department Of ECE, Reva I T M, Bangalore-6463

Unauthorized Vehicle Control Using Zigbee 2009-10

Department Of ECE, Reva I T M, Bangalore-6464