Sunteți pe pagina 1din 64

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-64


2
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-64


3
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-64


4
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-64


5
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-64


6
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 2
DESIGN
CONSIDERATIONS

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


7
Unauthorized Vehicle Control Using Zigbee 2009-10

2.1 Block Diagram:

Power supply unit

Transformer MAX-232 ZIGBEE


Rectifier
MICRO

CONTROLLER
Filter Regulator

POWER VEHICLE
INDICATION LED CONTROLE UNIT

2.2 PCBs/Manufacturing Process


Manufacturing process steps (for a typical rigid multilayer PCB representing about 70%
of all PCBs manufactured)
1. PCB data acquisition
2. Preparation of PCB laminate (core)
3. Inner layer image transfer
4. Laminate layers
5. Drilling and cleaning holes
6. Make holes conductive
7. Outer layer image transfer
8. Surface finish
9. Final fabrication

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


8
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 transfer
Image created by PCB software is reproduced on film using laser photo plotters
– Drill files
– Profile routing files
CNC 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 of
Step2.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.
• Etching
Selectively remove exposed copper areas. Etching is performed with conveyorised
equipment (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.
Outer
layers 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

Prepreg

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


9
Unauthorized Vehicle Control Using Zigbee 2009-10

Core
Prepreg
Core
Prepreg
Prepreg
Core
Outer Cu foil
Outer Cu foil
Temperature (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 cleaning
Purpose: Holes are drilled through PCB to interconnect layers (vias), and to allow the
insertion 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
• Desmear
Desmear 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 copper
Electroless copper is reliable but alternative methods exist. Electroless copper has
some 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 and
copper salt. Complex reaction catalysed by palladium, formaldehyde reduces the copper
ion
to metallic copper.

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


10
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 finish


Purpose: 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 mask
Purpose 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.
• HASL
Panels 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 fabrication
Mechanical 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-64


11
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 3
HARDWARE DETAILS

3.1 Hardware Components

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


12
Unauthorized Vehicle Control Using Zigbee 2009-10

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-64


13
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-64


14
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-64


15
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-64


16
Unauthorized Vehicle Control Using Zigbee 2009-10

Block diagram

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


17
Unauthorized Vehicle Control Using Zigbee 2009-10

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


18
Unauthorized Vehicle Control Using Zigbee 2009-10

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


19
Unauthorized Vehicle Control Using Zigbee 2009-10

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


20
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-64


21
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.

3.1.5 Relay
Department Of ECE, Reva I T M, Bangalore-64
22
Unauthorized Vehicle Control Using Zigbee 2009-10

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.

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

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


23
Unauthorized Vehicle Control Using Zigbee 2009-10

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-64


24
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-64


25
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 4
Software
Requirements

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


26
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-64


27
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
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

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


28
Unauthorized Vehicle Control Using Zigbee 2009-10

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.
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.

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


29
Unauthorized Vehicle Control Using Zigbee 2009-10

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-64


30
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-64


31
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
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.

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


32
Unauthorized Vehicle Control Using Zigbee 2009-10

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
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.

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


33
Unauthorized Vehicle Control Using Zigbee 2009-10

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.

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.

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


34
Unauthorized Vehicle Control Using Zigbee 2009-10

• 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.
• 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

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


35
Unauthorized Vehicle Control Using Zigbee 2009-10

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-64


36
Unauthorized Vehicle Control Using Zigbee 2009-10

.NET framework works

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


37
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-64


38
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-64


39
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-64


40
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-64


41
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-64


42
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.

Executing Code
Department Of ECE, Reva I T M, Bangalore-64
43
Unauthorized Vehicle Control Using Zigbee 2009-10

µ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.

• 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.
Department Of ECE, Reva I T M, Bangalore-64
44
Unauthorized Vehicle Control Using Zigbee 2009-10

• 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-64


45
Unauthorized Vehicle Control Using Zigbee 2009-10

Project Window:

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


46
Unauthorized Vehicle Control Using Zigbee 2009-10

Debug window:

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


47
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 5
IMPLEMENTATION AND
TESTING

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


48
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-64


49
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-64


50
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-64


51
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
tenants of testing process are not used. The Alpha and Beta period provides insight into
environmental and utilization conditions that can impact the software.

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


52
Unauthorized Vehicle Control Using Zigbee 2009-10

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
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.

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


53
Unauthorized Vehicle Control Using Zigbee 2009-10

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
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.
Department Of ECE, Reva I T M, Bangalore-64
54
Unauthorized Vehicle Control Using Zigbee 2009-10

5.4 Software Testing Life Cycle

Software Testing Methodologies

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


55
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-64


56
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-64


57
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 6
CONCLUSION

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


58
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
is still another object of the present invention to provide an improved antenna system for a
vehicle emergency alarm and stop system.

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


59
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 7
FUTURE SCOPE

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


60
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-64


61
Unauthorized Vehicle Control Using Zigbee 2009-10

Chapter 8
REFERENCE

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


62
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-64


63
Unauthorized Vehicle Control Using Zigbee 2009-10

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


64

S-ar putea să vă placă și