1. Monitoring robot using GPRS and Bluetooth
Department of ECE 1 H.K.B.K.C.E
CHAPTER 1
INTRODUCTION
The robot manipulator has been an essential tool for the development of the automated
industry. In the near future these robots will be accompanied by intelligent mobile robots that
will assist us in many different areas, including transportation, cleaning, mining photography or
agriculture. Such intelligent robots incorporate increased flexibility and need the ability to plan
their actions and to execute them in a safe way. In order to operate in a changing and partially
unpredictable environment, these robots also need the ability to detect when the execution does
not proceed as planned, and to correctly identify the causes of the failure. An execution
monitoring system is a system that allows the robot to detect and classify these failures.
1.1Proposed System:
Server-Side:
The server PC is designed to monitor the place by viewing the video being streamed from
the mobile. The server has the privilege to move the robot remotely i.e. left, right, front and back
to have the person in focus. The PIR could also be controlled by turning it on/off.
Client-Side:
At the client end, the Android C++ is responsible for the communication between the
robot and the mobile through Bluetooth. There is an option for controlling the PIR sensor i.e. to
turn on/off. The PIR sensor senses for any motion in the affected area and when the motion is
detected, the PC is intimated by the mobile through socket communication as well as starts
capturing the images.
The mobile streams the video to the server such that the robot can be moved in all the
directions i.e. front, back, left and right to monitor the place as well as to focus to view the status
of the alive person.
2. Monitoring robot using GPRS and Bluetooth
Department of ECE 2 H.K.B.K.C.E
1.2 Project requirements:
1.2.1 Hardware Requirements
Smart phone with Android OS and Bluetooth enabled
ULN 2003A
Bluetooth
DC Motor
PIC Micro controller
Relays
PIR Sensor
1.2.2 Software Requirements
JDK 1.6 or above
Android Operating System(GPRS enabled)
Android emulator
Android Bluetooth
Wireless Tool Kit 2.5.2
Embedded C
MPLAB
1.2.3 PC Requirements
PIII Processor
40GB HDD
256MB RAM
3. Monitoring robot using GPRS and Bluetooth
Department of ECE 3 H.K.B.K.C.E
1.3 Block Diagram:
Socket Communication(GPRS)
1.3.1 Detailed Block diagram
Figure 1.1 block diagram of proposed project
BT Enabled android
OS cell
PC
BT
Communication
PIRSensor
Blue tooth
Module
PIC
Controller
Cell
Phone
modem
Driver unit
for MotorRobot
Wheels
PIR
Sensor
PC
4. Monitoring robot using GPRS and Bluetooth
Department of ECE 4 H.K.B.K.C.E
CHAPTER 2
OVERVIEW ON ROBOTICS
2.1 Introduction
The Robot Institute of America defines a robot as a programmable, multifunctional
manipulator designed to move material, parts, tools, or specialized devices, through variable
programmed motions, for the performance of a variety of tasks.It can also be defined as an
electro-mechanical contraption that is designed for performing a certain task or a certain set of
tasks repeatedly without fail. The chief feature of robots that distinguishes them from purely
mechanical or purely electronic devices is in the property of self-locomotion, limited
intelligence, and in the element of automation built into them.
Robotics means the study and application of robot technology.The Merriam Webster
Dictionary, 1998, defines Robotics as ―technology dealing with the design, construction, and
operation of robots‖. It is a fast emerging technology which is a merging point of many diverse
fields of Science such as Electronics, Electrical, Computers, Mechanicals,and Material Science
etc and has been hugely responsible for domestic and industrial automation revolution. Because
of rapid change in the industries requirements of performance and speed, with the progression
towards the 21st
century, the current state automation is being fast replaced by Robotization.
5. Monitoring robot using GPRS and Bluetooth
Department of ECE 5 H.K.B.K.C.E
2.2 Types of Robots
There are different types of robot that are widely used nowadays for variety of
applications. Some of them are:
1. Mobile Robots
A mobile robot is a machine which can move as a whole in a controlled way with
some degree of autonomy. A mobile robot‘s possible motions can be analyzed in terms of
degree of freedom: it may fly or float in three-dimensional medium or it may be confined
to a follow a surface or it may be confined to a track or pipe. Most mobile robots so far,
like land vehicles in general, have used wheels since this is the simplest method of
locomotion.
2. Pick and place manipulator
Pick and place manipulator or limited sequence manipulators, use mechanical
stops to set two stopping positions on each axis. The joint must travel backwards and
forwards between these two end stops, whose positions can be adjusted when the
machine is set up. They are fast and relatively cheap. They are limited to transfer of parts
from one place to another.
3. Point to point robots
Point to point robots have servo positions control of each axis and can go through
a sequence of specified points. The path between these points is unspecified. There can
be any number of stopping positions in each axis. The program for such a robot consists
of a series of points; for each point all the joint angles must be specified. It is really just a
pick and place machine with arbitrarily large number of programmable positions.
4. Continuous path robots
Continuous path robots do not go through a finite list of target points but can,
ideally, execute a smooth path of any shape, with continuous variation of speed as the
arm moves along the path. This requires not only servo control of the velocity of each
joint but that several joints move at once in a coordinated way, whereas for a point to
point robot it is possible ,although not compulsory, to move one joint at a time.
6. Monitoring robot using GPRS and Bluetooth
Department of ECE 6 H.K.B.K.C.E
2.3 Overview of Mobile Robots
As a result a brief overview on the concepts of mobile robot is mentioned here which
includes arrangement of wheels, navigation for land vehicles, route planning and control and
coordination.
Figure 2.1 Mobile Robot
ARRANGEMENTS OF WHEELS AND TRACKS
There are three fundamental ways of steering a wheeled or tracked vehicle by ground
reaction and they need two wheels.
- In the least restricted way all the wheels or tracks can be turned together or differentially,
resulting in translational or rotational motion or a combination. Such a vehicle can rotate about
its own center. Three wheels are often are used.
- The second way, used by caterpillar tractors and some AGV‘s, is differential steering of a
pair of fixed wheels or tracks. Again it allows rotation on the spot but the vehicle cannot move
sideways.
- The third way it to pivot on wheel or group of wheels while others remain fixed. This
method is used by cars and bicycles. This arrangement is rarely found in robots as turned around
in a confined space or passing through a narrow gap tends to need complex back-and-forth
manoeurving.
7. Monitoring robot using GPRS and Bluetooth
Department of ECE 7 H.K.B.K.C.E
NAVIGATION FOR LAND VEHICLES
Navigation is used here to mean determining the position of a mobile robot. It is
sometimes defined to include route planning and following. There are many possible methods,
some of which are listed below:
- Tele-operation
If the operator can see the vehicle directly or see its surroundings through an on-board
television camera, the robot need have no autonomous ability.
- Dead reckoning
Odometry (travelled- distance measurement) by counting the wheel revolution together
with direction finding using a magnetometer or gyrocompass, or differential wheel rotation, is
often used for wheeled indoor robots. Dead reckoning is of little use on rough ground except as a
coarse or emergency method.
- Tracking from a fixed base
Triangulation using radar, optical or acoustic methods can be used to locate the vehicle
relative to fixed stations and the information can be transmitted to the vehicle. A related
technique is for the radar or other sensor to be on the vehicle and to detect beacons which may be
lights, reflectors or transponders.
- Satellite navigation
The equipment for a satellite navigation system, which uses radio transponders to
measure the distance to satellites of accurately known position, is small enough to fit to some
larger mobile robots.
8. Monitoring robot using GPRS and Bluetooth
Department of ECE 8 H.K.B.K.C.E
ROUTE PLANNING
Assuming that the problem of navigation can be solved, a mobile robot, except when
teleported, must work out a route to its current destination. Route planning can be regarded as a
branch of Artificial Intelligence.
CONTROL AND COMMUNICATION
Mobile robots generally have a hierarchical control structure in which on- board
software handles the lowest levels such as interrogating sensors and driving motors, and often
the intermediate levels such as following a path or even planning a route.
The highest level of control is often remote control by human operator. In this case the
on-board software must be able to receive commands by radio or some other link and to carry
them out, maintaining a safe course of action even when communication is interrupted.
Communication is usually by radio, infrared or cable. Each has its problem. A cable can
become entangled, limits range and imposes drag, but is cheap and simple and is sometimes
useful as a way of pulling the robot out of a dangerous place if its own mobility fails.
If radio is used it may need bandwidth for television signals, and so it has to be ultrahigh
frequency or microwave and there may be legal restrictions on its use and problems of
obstruction and interference.
An antenna pointing mechanism may be necessary. Infrared is strictly a line-of-sight
method and so is even more prone to obstruction than radio, but is immune to most forms of
interference. A combination of methods is needed for the highest reliability.
9. Monitoring robot using GPRS and Bluetooth
Department of ECE 9 H.K.B.K.C.E
2.4 Applications of Mobile Robots
The correlation between the applications and the physical forms of mobile robots is not
perfect, but for most applications only one or two physical types are common. This section lists
the main application of robot surface vehicles and in each case describes the types of robot used.
Education and Research – Mobile robots such as turtle types connected as peripherals
to microcomputers are used to enliven the teaching of programming, of computer
principles, and of elementary geometry and other aspects of mathematics.
Remote Handling – Mobile robots for remote handling of radioactive, explosive and
other dangerous materials are generally teleoperated. They have been built with
internal combustion engines for long-endurance outdoor use, but most are electric,
powered by batteries.
Military Mobile Robots – These robots are currently being designed around multi-
wheeled (six being common) chassis, or with tracks. These robots will have to able to
recognize targets, threats and friendly units.
Fire- fighting and Rescue – Robots are potentially attractive for inspecting dangerous
areas in fire and for providing a fire-proof vehicle which can be sent through a fire to
rescue people.
Construction – Legged robots for surveying the sea- bed in preparation for bridge
construction has been proposed.
The use of mobile robot in the mining activity and planetary exploration has been
proposed such as mine clearance, as decoys etc.
10. Monitoring robot using GPRS and Bluetooth
Department of ECE 10 H.K.B.K.C.E
2.5 Advantages of Mobile robots
Speed – These robots can process information much more quickly than humans. This means they
are good for controlling machinery that might need to be adjusted instantly.
Repetition – Mobile robots are automated systems that can do the same task over and over again
without getting bored, needing breaks or making mistakes.
Accuracy – These robots can do very detailed work and follow precise instructions without
error.
Safety – Mobile robots can work in places where it would be unsafe to put a human, for
example, in a nuclear power plant, under water or in space.
Efficiency - They get more done than humans but cost less to operate. This is because they do
not need breaks, wages, holidays, canteens, heating and lighting. The quality of the work done is
always of the same standard being materials are not wasted due to human error.
Adaptability - Automated systems can be reprogrammed to do different tasks. For example, the
Survobot is performing subdivision of plots with a constraint of 3 inches, as a result of which it
can be at present used for small area calculations. It can be reprogrammed for bigger area
calculation as well.
So we understood how advantageous mobile robots are present day scenario.
11. Monitoring robot using GPRS and Bluetooth
Department of ECE 11 H.K.B.K.C.E
CHAPTER 3
LITERATURE SURVEY
The definition we have chosen for a ―robot‖ requires the device to obtain data about its
environment, make a decision, and then take action accordingly. This does not exclude the
option of a robot being semi-autonomous (having aspects which are controlled by a human and
others which it does on its own). A good example of this is a sophisticated underwater robot; a
human controls the basic movements of the robot while an on-board processor measures and
reacts to underwater currents in order to keep the robot in the same position without drifting. A
camera onboard the robot sends video back to the human while onboard sensors may track the
water temperature, pressure and more. If the robot loses communication with the surface, an
autonomous program may kick-in causing it to surface. If you want to be able to send and/or
receive commands from your robot, you will need to determine its level of autonomy and if you
want it to be tethered, wireless or fully autonomous.
3.1 Tethered
3.1.1Direct Wired Control
The easiest way to control a vehicle is with a handheld controller physically connected to the
vehicle using a cable (i.e. a tether). Toggle switches, knobs, levers, joysticks and buttons on this
controller allow the user to control the vehicle without the need to incorporate complex
electronics. In this situation, the motors and a power source can be connected directly with a
switch in order to control its forward/backwards rotation. Such vehicles usually have no
intelligence and are considered to be more ―remote controlled machines‖ than ―robots‖.
Figure 3.1 direct wired control
12. Monitoring robot using GPRS and Bluetooth
Department of ECE 12 H.K.B.K.C.E
Advantages
The robot is not limited to an operating time since it can be connected directly to the
mains
There is no worry about loss of signal
Minimal electronics and minimal complexity
The robot itself can be light weight or have added payload capacity
The robot can be physically retrieved if something goes wrong (very important for
underwater robots)
Disadvantages
The tether can get caught or snagged (and potentially cut)
Distance is limited by the length of the tether
Dragging a long tether adds friction and can slow or even stop the robot from moving.
3.1.2 Wired computer control
The next step is to incorporate a microcontroller into the vehicle but continue to use a tether.
Connecting the microcontroller to one of your computer‘s I/O ports (e.g. a USB port) allows you
to control its actions using a keyboard (or keypad), joystick or other peripheral device. Adding a
microcontroller to a project also may require you to program how the robot reacts to the input.
Instead of using a laptop or desktop computer, netbooks are often a desirable choice because of
their low price, small size and low weight.
Figure 3.2 wired computer control
13. Monitoring robot using GPRS and Bluetooth
Department of ECE 13 H.K.B.K.C.E
Advantages
Same advantages as with direct wired control
More complex behaviors can be programmed or mapped to single buttons or commands.
Larger controller choice (mouse, keyboard, joystick, etc.)
Added onboard intelligence means it can interface with sensors and make certain
decisions on its own
Disadvantages
Cost is higher than a purely tethered robot because of the added electronics
Same disadvantages as with direct wired control.
3.1.3 Ethernet
A variation on computer control would be to use an Ethernet interface. A robot that is physically
connected to a router (so it could be controlled via the Internet) is also possible (though not very
practical) for mobile robots. Setting-up a robot that can communicate using the internet can be
fairly complex, and more often than not, a WiFi (wireless internet) connection is preferable. A
wired and wireless combination is also an option, where there is a transceiver (transmit and
receive) connected physically to the internet and data received via the internet is then sent
wirelessly to the robot.
Figure 3.3 Ethernet
14. Monitoring robot using GPRS and Bluetooth
Department of ECE 14 H.K.B.K.C.E
Advantages
Robot can be controlled through the Internet from anywhere in the world
The robot is not limited to an operating time since it could use Power over Ethernet
(PoE).
Using Internet Protocol (IP) can simplify and improve the communication scheme.
Same advantages as with direct wired computer control
Disadvantages
Programming involved is more complex
The tether can get caught or snagged (and potentially cut)
Distance is limited by the length of the tether
Dragging a long tether adds friction and can slow or even stop the robot from moving.
3.2 Wireless
3.2.1 Infrared
Infrared transmitters and receivers cut the cables connecting the robot to the operator. This is
usually a milestone for beginners. Infrared control requires ―line of sight‖ in order to function;
the receiver must be able to ―see‖ the transmitter at all times in order to receive data. Infrared
remote controls (such as universal remote controls for televisions) are used to send commands to
an infrared receiver connected to a microcontroller which then interprets these signals and
controls the robot‘s actions.
Figure 3.4 Infrared
15. Monitoring robot using GPRS and Bluetooth
Department of ECE 15 H.K.B.K.C.E
Advantages
Low cost
Simple TV remote controls can be used as controllers
Disadvantages
Needs to be line of sight
Distance is limited.
3.2.2 Radio Frequency (RF)
Commercially available Remote Control (R/C) units use small microcontrollers in the transmitter
and receiver to send, receive and interpret data sent via radio frequency (RF). RF communication
requires either a transmitter matched/paired with a receiver, or a transceiver (which can both
send and receive data). RF does not require line of sight and can also offer significant range
(transmission distance). Standard radio frequency devices can allow for data transfer between
devices as far away as several kilometers and there is seemingly no limit to the range for more
professional RF units.
XBee and Zigbee modules use RF for communication, but allow the user to vary many of the
communication parameters involved. These modules have a specific footprint (layout) and are
only produced by certain companies. Their main advantage is that they provide a very robust
easy to set up link and take care of all of the communication protocol details.
Many robot builders choose to make semi-autonomous robots with RF capability since it allows
the robot to be as autonomous as possible, provide feedback to a user and still give the user some
control over some of its functions should the need arise.
Figure 3.5 Radio Frequency(RF)
16. Monitoring robot using GPRS and Bluetooth
Department of ECE 16 H.K.B.K.C.E
Advantages
Considerable distances possible
Setup can be straightforward
Omni directional (impeded but not entirely blocked by walls and obstructions)
Disadvantages
Very low data rate (simple commands only)
Pay attention to the transmission frequencies – they can be shared.
3.2.3 Bluetooth
Bluetooth is a form of RF and follows specific protocols for sending and receiving data. Normal
Bluetooth range is often limited to about 10m though it does have the advantage of allowing
users to control their robot via Bluetooth-enabled devices such as cell-phones, PDAs and laptops
(though custom programming may be required to create an interface). Just like RF, Bluetooth
offers two-way communication.
Figure 3.6 Bluetooth
Advantages
Controllable from any Bluetooth enabled device (usually additional programming is
necessary) such as a Smartphone, laptop, desktop etc.
Higher data rates possible
Omnidirectional (does not need line of sight and can travel a little through walls)
17. Monitoring robot using GPRS and Bluetooth
Department of ECE 17 H.K.B.K.C.E
Disadvantages
Devices need to be ―paired‖
Distance is usually about 10m (without obstructions).
3.2.4 WiFi
WiFi is now an option for robots; being able to control a robot wirelessly via the internet
presents some significant advantages (and some drawbacks) to wireless control. In order to set
up a WiFi robot, you need a wireless router connected to the internet and a WiFi unit on the
robot itself. For the robot, you can also use a device that is TCP/IP enabled with a wireless
router.
Figure 3.7 WiFi
Advantages
Controllable from anywhere in the world so long as it is within range of a wireless router
High data rates possible
Disadvantages
Added programming required
Maximum range is usually determined by the choice of wireless router
18. Monitoring robot using GPRS and Bluetooth
Department of ECE 18 H.K.B.K.C.E
3.2.5 GPRS / Cellular
Another wireless technology that was originally developed for human to human communication,
the cell phone, is now being used to control robots. Since cellular frequencies are regulated,
incorporating a cellular module on a robot usually requires added patience for programming as
well as an understanding of the cellular network system and the regulations.
Figure 3.8 GPRS enabled mobile phone
Advantages
Robot can be controlled anywhere it has a cellular signal
Direct satellite connection is possible
Disadvantages
Setup and configuration can be complex – NOT for beginners
Each network has its own requirements / restrictions
Cellular service is not free; usually the more data you transmit/receive the more money
you will need to pay.
System is not (yet) well setup for robotics use.
19. Monitoring robot using GPRS and Bluetooth
Department of ECE 19 H.K.B.K.C.E
CHAPTER 4
PIC16F87X
PIC is a family ofmodified Harvard architecturemicrocontrollers made by Microchip
Technology, derived from the PIC1650 originally developed byGeneral Instrument's
Microelectronics Division. The name PIC initially referred to "Peripheral Interface
Controller".
PICs are popular with both industrial developers and hobbyists alike due to their low cost, wide
availability, large user base, extensive collection of application notes, availability of low cost or
free development tools, and serial programming (and re-programming with flash memory)
capability. They are also commonly used in educational programming as they often come with
the easy to use 'pic logicator' software.
4.1 Core architecture
The PIC architecture is characterized by its multiple attributes:
Separate code and data spaces (Harvard architecture).
A small number of fixed length instructions
Most instructions are single cycle execution (2 clock cycles, or 4 clock cycles in 8-bit
models), with one delay cycle on branches and skips
One accumulator (W0), the use of which (as source operand) is implied (i.e. is not
encoded in the opcode)
All RAM locations function as registers as both source and/or destination of math and
other functions.
A hardware stack for storing return addresses
A small amount of addressable data space (32, 128, or 256 bytes, depending on the
family), extended through banking
Data space mapped CPU, port, and peripheral registers
20. Monitoring robot using GPRS and Bluetooth
Department of ECE 20 H.K.B.K.C.E
ALU status flags are mapped into the data space
The program counter is also mapped into the data space and writable (this is used to
implement indirect jumps).
There is no distinction between memory space and register space because the RAM serves the
job of both memory and registers, and the RAM is usually just referred to as the register file or
simply as the registers.
Data space (RAM)
PICs have a set of registers that function as general purpose RAM. Special purpose control
registers for on-chip hardware resources are also mapped into the data space. The addressability
of memory varies depending on device series, and all PIC devices have some banking
mechanism to extend addressing to additional memory. Later series of devices feature move
instructions which can cover the whole addressable space, independent of the selected bank. In
earlier devices, any register move had to be achieved via the accumulator.
To implement indirect addressing, a "file select register" (FSR) and "indirect register" (INDF)
are used. A register number is written to the FSR, after which reads from or writes to INDF will
actually be to or from the register pointed to by FSR. Later devices extended this concept with
post- and pre- increment/decrement for greater efficiency in accessing sequentially stored data.
This also allows FSR to be treated almost like a stack pointer (SP).
External data memory is not directly addressable except in some high pin count PIC18 devices.
Code space
The code space is generally implemented as ROM, EPROM or flash ROM. In general, external
code memory is not directly addressable due to the lack of an external memory interface. The
exceptions are PIC17 and select high pin count PIC18 devices.
Word size
All PICs handle (and address) data in 8-bit chunks. However, the unit of addressability of the
code space is not generally the same as the data space. For example, PICs in the baseline (PIC12)
and mid-range (PIC16) families have program memory addressable in the same word size as the
21. Monitoring robot using GPRS and Bluetooth
Department of ECE 21 H.K.B.K.C.E
instruction width, i.e. 12 or 14 bits respectively. In contrast, in the PIC18 series, the program
memory is addressed in 8-bit increments (bytes), which differ from the instruction width of 16
bits.
Stacks
PICs have a hardware call stack, which is used to save return addresses. The hardware stack is
not software accessible on earlier devices, but this changed with the 18 series devices.
Hardware support for a general purpose parameter stack was lacking in early series, but this
greatly improved in the 18 series, making the 18 series architecture more friendly to high level
language compilers.
Figure 4.1 Pin Diagram PIC16F877
22. Monitoring robot using GPRS and Bluetooth
Department of ECE 22 H.K.B.K.C.E
4.2 Peripheral Features:
• Timer0: 8-bit timer/counter with 8-bit prescaler
• Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via external
Crystal/clock
• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler
• Two Capture, Compare, PWM modules
- Capture is 16-bit, max. Resolution is 12.5 ns
- Compare is 16-bit, max. Resolution is 200 ns
- PWM max. Resolution is 10-bit
• 10-bit multi-channel Analog-to-Digital converter
• Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave)
• Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address
Detection
• Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin only)
• Brown-out detection circuitry for Brown-out Reset (BOR).
4.3Instruction set
A PIC's instructions vary from about 35 instructions for the low-end PICs to over 80 instructions
for the high-end PICs. The instruction set includes instructions to perform a variety of operations
on registers directly, the accumulator and a literal constant or the accumulator and a register, as
well as for conditional execution, and program branching.
Some operations, such as bit setting and testing, can be performed on any numbered register, but
bi-operand arithmetic operations always involve W (the accumulator), writing the result back to
either W or the other operand register. To load a constant, it is necessary to load it into W before
it can be moved into another register. On the older cores, all register moves needed to pass
through W, but this changed on the "high end" cores.
23. Monitoring robot using GPRS and Bluetooth
Department of ECE 23 H.K.B.K.C.E
PIC cores have skip instructions which are used for conditional execution and branching. The
skip instructions are 'skip if bit set' and 'skip if bit not set'. Because cores before PIC18 had only
unconditional branch instructions, conditional jumps are implemented by a conditional skip (with
the opposite condition) followed by an unconditional branch. Skips are also of utility for
conditional execution of any immediate single following instruction. It is possible to skip skip
instructions. For example, the instruction sequence "skip if A; skip if B; C" will execute C if A is
true or if B is false.
The 18 series implemented shadow registers which save several important registers during an
interrupt, providing hardware support for automatically saving processor state when servicing
interrupts.
In general, PIC instructions fall into 5 classes:
1. Operation on working register (WREG) with 8-bit immediate ("literal") operand.
E.g. movlw (move literal to WREG), andlw (AND literal with WREG). One instruction
peculiar to the PIC isretlw, load immediate into WREG and return, which is used with
computed branches to produce lookup tables.
2. Operation with WREG and indexed register. The result can be written to either the
Working register Bit operations. These take a register number and a bit number, and
perform one of 4 actions: set or clear a bit, and test and skip on set/clear. The latter are
used to perform conditional branches. The usual ALU status flags are available in a
numbered register so operations such as "branch on carry clear" are possible.
3. Control transfers. Other than the skip instructions previously mentioned, there are only
two: goto and call.
4. A few miscellaneous zero-operand instructions, such as return from subroutine,
and sleep to enter low-power mode.
24. Monitoring robot using GPRS and Bluetooth
Department of ECE 24 H.K.B.K.C.E
4.4Performance
The architectural decisions are directed at the maximization of speed-to-cost ratio. The PIC
architecture was among the first scalar CPU designs,and is still among the simplest and cheapest.
The Harvard architecture—in which instructions and data come from separate sources—
simplifies timing and microcircuit design greatly, and this benefits clock speed, price, and power
consumption.
The PIC instruction set is suited to implementation of fast lookup tables in the program space.
Such lookups take one instruction and two instruction cycles. Many functions can be modeled in
this way. Optimization is facilitated by the relatively large program space of the PIC (e.g. 4096 ×
14-bit words on the 16F690) and by the design of the instruction set, which allows for embedded
constants. For example, a branch instruction's target may be indexed by W, and execute a
"RETLW" which does as it is named - return with literal in W.
Interrupt latency is constant at three instruction cycles. External interrupts have to be
synchronized with the four clock instruction cycle, otherwise there can be a one instruction cycle
jitter. Internal interrupts are already synchronized. The constant interrupt latency allows PICs to
achieve interrupt driven low jitter timing sequences. An example of this is a video sync pulse
generator. This is no longer true in the newest PIC models, because they have a synchronous
interrupt latency of three or four cycles.
25. Monitoring robot using GPRS and Bluetooth
Department of ECE 25 H.K.B.K.C.E
4.5Advantages
The PIC architectures have these advantages:
Small instruction set to learn
RISC architecture
Built in oscillator with selectable speeds
Easy entry level, in circuit programming plus in circuit debugging PICKit units available
for less than $50
Inexpensive microcontrollers
Wide range of interfaces including I²C, SPI, USB, USART, A/D, programmable
comparators, PWM, LIN, CAN, PSP, and Ethernet.
Availability of processors in DIL package makes them easy to handle for hobby use.
4.6Limitations
The PIC architectures have these limitations:
One accumulator
Register-bank switching is required to access the entire RAM of many devices
Operations and registers are not orthogonal; some instructions can address RAM
and/or immediate constants, while others can only use the accumulator
26. Monitoring robot using GPRS and Bluetooth
Department of ECE 26 H.K.B.K.C.E
CHAPTER 5
HARDWARE COMPONENTS
5.1 ULN2003
ULN2003 is a high voltage, high current Darlingtonarrays each containing seven open
collector Darlingtonpairswithcommon emitters.Each channelisrated at 500mA and can withstand
peak currents of600mA.These versatile devicesare useful for driving a widerange of loads
including solenoids, relays DC motors, LED displays filament lamps, thermal printheadsand high
power buffers.
Figure 5.1: ULN2003
Figure 5.2 Pin diagram ULN2003
27. Monitoring robot using GPRS and Bluetooth
Department of ECE 27 H.K.B.K.C.E
5.2 Relay
A relay is an electrically controllable switch widely used in industrial controls, automobiles and
appliances. It allows the isolation of two separate sections of a system with two different voltage
sources. For instance, a 5V system can be isolated from a 120V system by placing a relay
between them. One such relay is called an eletromechanical relay (EMR). The EMR have 3
components: the coil, spring and contacts.
When current flows through the coil, a magnetic field is created around the coil (the coil is
energized), which causes the armature to be attracted to the coil. The armatures contact acts like
a switch and closes or opens the circuit. When the coil is not energized, a spring pulls the
armature to its normal state of open or closed.
There are different types of relays:
Single Pole Single Throw (SPST): These have two terminals which can be connected or
disconnected. Including two for the coil, such a relay has four terminals in total. It is
ambiguous whether the pole is normally open or normally closed. The terminology
"SPNO" and "SPNC" is sometimes used to resolve the ambiguity.
Single Pole Double Throw (SPDT): A common terminal connects to either of two
others. Including two for the coil, such a relay has five terminals in total.
Double Pole Double Throw (DPDT): These have two pairs of terminals are equivalent
to two SPST switches or relays actuated by a single coil. Including two for the coil, such
a relay has six terminals in total. The poles may be Form A or Form B (or one of each).
Double Pole Single Throw (DPDT): These have two rows of change-over terminals.
Equivalent to two SPDT switches or relays actuated by a single coil. Such a relay has
eight terminals, including the coil.
Figure 5.3 Circuit symbols of relay
28. Monitoring robot using GPRS and Bluetooth
Department of ECE 28 H.K.B.K.C.E
In choosing a relay the following characteristics used to be considered:
The contacts can be normally open (NO) or normally closed (NC). In the NC type, the
contacts are closed when the coil is not energized. In the NO, the contacts are open when
the coil is not energized.
There can be one or more contacts: SPST, SPDT, DPST and DPDT.
Voltage and current are needed to energize the coil. The voltage can vary from a few
volts to 50V, while the current can be a few mA to 20mA. The relay has a minimum
voltage is called the pull in voltage.
The maximum DC/AC voltage and current that can be handled by the contacts. This is in
the range of a few volts to hundreds of volts depending on the relay.
5.2.1 To drive a relay
Digital systems and microcontroller pins lack sufficient current to drive the relay. While the
relay‘s coil needs around 10mA to be energized, the microcontroller‘s pin can provide a
maximum of 1-2mA current. For this reason, we place a driver such as the ULN2803 between
the µC and the relay.
5.2.2 Operation
When a current flows through the coil, the resulting magnetic field attracts an armature that is
mechanically linked to a moving contact. The movement either makes or breaks a connection
with a fixed contact. 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 is 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.
29. Monitoring robot using GPRS and Bluetooth
Department of ECE 29 H.K.B.K.C.E
Figure 5.4 Circuit diagram of relay
If the coil is energized with DC, a diode is frequently installed across the coil, to dissipate
the energy from the collapsing magnetic field at deactivation, which would otherwise generate a
spike of voltage and might cause damage to circuit components. Some automotive relays already
include that diode inside the relay case. If the coil is designed to be energized with AC, a small
copper ring can be crimped to the end if the solenoid. This ―shading ring‖ creates a small out-of-
phase current, which increases the minimum pull on the armature during the AC cycle.
By analogy with the 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, a
light-emitting diode (LED) is used with a photo transistor.
30. Monitoring robot using GPRS and Bluetooth
Department of ECE 30 H.K.B.K.C.E
5.3 DC motor
A DC motor is an electric motor that runs on DC current. The working of a geared DC
motor is similar to that of a DC motor, with a difference that geared DC motor gives a more
controlled RPM and more torque.
In any electric motor, operation is based on simple electromagnetism. A current carrying
conductor generates a magnetic field, when this is then placed in an external magnetic field, it
will experience a force proportional to the current in the conductor, and to the strength of the
external magnetic field. The internal configuration is designed to harness the magnetic
interaction between a current carrying conductor and an external magnetic field to generate a
rotational motion.
Figure 5.5 Schematic diagram of a DC motor
Every DC motor has six parts – axle, rotor, stator, commutator, field magnets, and
brushes. In most common DC motors, the external magnetic field is produced by high strength
permanent magnets. The stator is the stationary part of the motor which is includes the motor
casing as well as two or more permanent magnet pole pieces. The rotor rotates with respect to the
stator. The rotor consists of windings, the windings being electrically connected to the
commutator.
The above diagram shows a common motor layout – with the rotor inside the stator
magnets. The geometry of the brushes, commutator contacts and rotor windings are such that
when power is applied, the polarities of the energized winding and the stator magnets are
misaligned and the rotor will rotate until it is almost aligned with the stator‘s field magnet.
31. Monitoring robot using GPRS and Bluetooth
Department of ECE 31 H.K.B.K.C.E
5.4 Bluetooth
Bluetooth is an always-on, short-range radio hookup that resides on a microchip. It was initially
developed by Swedish mobile phone maker Ericsson in 1994 as a way to let laptop computers
make calls over a mobile phone. Since then, several thousand companies have signed on to make
Bluetooth the low-power short-range wireless standard for a wide range of devices. Industry
observers expect Bluetooth to be installed in billions of devices by 2005.
The Bluetooth standards are published by an industry consortium known as the Bluetooth SIG
(special interest group).
The concept behind Bluetooth is to provide a universal short-range wireless capability. Using the
2.4 GHz band, available globally for unlicensed low-power uses, two Bluetooth devices within
10 m of each other can share up to 720 Kbps of capacity. Bluetooth is intended to support an
open-ended list of applications, including data (such as schedules and telephone numbers), audio,
graphics, and even video. For example, audio devices can include headsets, cordless and
standard phones, home stereos, and digital MP3 players. Following are some examples of the
capabilities that Bluetooth can provide consumers:
Make calls from a wireless headset connected remotely to a cell phone;
Eliminate cables linking computers to printers, keyboards, and the mouse;
Hook up MP3 players wirelessly to other machines to download music;
Set up home networks so that a couch potato can remotely monitor air conditioning, the
oven, and children's Internet surfing;
Call home from a remote location to turn appliances on and off, set the alarm, and
monitor activity.
32. Monitoring robot using GPRS and Bluetooth
Department of ECE 32 H.K.B.K.C.E
5.4.1 Bluetooth Applications
Bluetooth is designed to operate in an environment of many users. Up to eight devices can
communicate in a small network called a piconet. Ten of these piconets can coexist in the same
coverage range of the Bluetooth radio. To provide security, each link is encoded and protected
against eavesdropping and interference.
Bluetooth provides support for three general application areas using short-range wireless
connectivity:
Data and voice access points - Bluetooth facilitates real-time voice and data
transmissions by providing effortless wireless connection of portable and stationary
communications devices;
Cable replacement - Bluetooth eliminates the need for numerous, often proprietary cable
attachments for connection of practically any kind of communications device.
Connections are instant and are maintained even when devices are not within line of
sight. The range of each radio is approximately 10 m, but can be extended to 100 m with
an optional amplifier;
Ad hoc networking - A device equipped with a Bluetooth radio can establish instant
connection to another Bluetooth radio as soon as it comes into range.
5.4.2 Rn-42 module
Description
The RN42 is a small form factor, low power, highly economic Bluetooth radio for OEM‘s
adding wireless capability to their products. The RN42 supports multiple interface protocols, is
simple to design in and fully certified, making it a complete embedded Bluetooth solution. The
RN 42 is functionally compatible with RN 41. With its high performance on chip antenna and
support for Bluetooth® Enhanced Data Rate (EDR), the RN42 delivers up to 3 Mbps data rate
for distances to 20M. The RN-42 also comes in a package with no antenna (RN-42-N). Useful
when the application requires an external antenna, the RN-42-N is shorter in length and has RF
pads to route the antenna signal.
33. Monitoring robot using GPRS and Bluetooth
Department of ECE 33 H.K.B.K.C.E
Features
fully qualified Bluetooth 2.1/2.0/1.2/1.1 module
Bluetooth v2.0+EDR support
Available with on board chip antenna (RN- 42) and without antenna (RN-42-N)
Postage stamp sized form factor, 13.4mm x 25.8 mm x 2mm (RN-42) and 13.4mm x 20 mm x
2 mm (RN-42-N)
Low power(26uA sleep, 3mA connected, 30mA transmit)
UART (SPP or HCI) and USB (HCI only) data connection interfaces.
Sustained SPP data rates- 240Kbps (slave), 300Kbps (master)
HCI data rates- 1.5Mbps sustained, 3.0Mbps burst in HCI mode
Embedded Bluetooth stack profiles included(requires no host stack): GAP, SDP, RFCOMM
and L2CAP protocols, with SPP and DUN profile support.
Bluetooth SIG certified
Castellated SMT pads for easy and reliable PCB mounting
Certifications: FCC, ICS, CE
Environmentally friendly, RoHS compliant
Figure 5.6 RN-42 Bluetooth module
34. Monitoring robot using GPRS and Bluetooth
Department of ECE 34 H.K.B.K.C.E
Figure 5.7 RN-42 Bluetooth module pin diagram
5.5 PIR sensors
A passive infrared sensor (PIR sensor) is an electronic sensor that measures infrared (IR) light
radiating from objects in its field of view. They are most often used in PIR-based motion
detectors.
Operation
Strictly speaking, individual PIR sensors do not detect motion; rather, they detect abrupt changes
in temperature at a given point. As an object, such as a human, passes in front of the background,
such as a wall, the temperature at that point will rise from room temperature to body temperature,
and then back again. This quick change triggers the detection. Moving objects of identical
temperature, however, will not trigger a detection because that is the sensors job. It detects
35. Monitoring robot using GPRS and Bluetooth
Department of ECE 35 H.K.B.K.C.E
motion regardless of temperature. This is also why you can take a piece of paper from a desk that
is the same, exact, temperature as everything in the room, attach it to a stick (also the same exact
temperature as the room) and wave it slowly in front of a sensor (at any range within the limit of
the sensor) and it will activate the sensor).
PIRs can be equipped with more than one internal sensing element so that, with the appropriate
electronics, it can detect the apparent direction of movement. As an object passes in front of
adjacent sensors in turn, this implies the direction of movement. This may be used by on-board
electronics to reduce false alarms, i.e., by requiring adjacent sensors to trip in succession. It may
also be used to signal the direction of movement to a monitoring apparatus.
PIRs come in many configurations for a wide variety of applications. The most common models
have numerous Fresnel lenses or mirror segments, an effective range of about ten metres (thirty
feet), and a field of view less than 180 degrees. Models with wider fields of view, including 360
degrees, are available—typically designed to mount on a ceiling. Some larger PIRs are made
with single segment mirrors and can sense changes in infrared energy over one hundred feet
away from the PIR. There are also PIRs designed with reversible orientation mirrors which allow
either broad coverage (110° wide) or very narrow "curtain" coverage, or with individually
selectable segments to "shape" the coverage.
5.6 camouflage
Camouflage is the use of any combination of materials, coloration or illumination for
concealment, either by making animals or objects hard to see (crypsis), or by disguising them as
something else (mimesis). Examples include the leopard's spotted coat, the battledress of a
modern soldier, and the leaf-mimic katydid's wings. .
Figure 5.8 camouflage using LED‘s(RGB recognition circuit)
36. Monitoring robot using GPRS and Bluetooth
Department of ECE 36 H.K.B.K.C.E
A third approach, motion dazzle, confuses the observer with a conspicuous pattern, making the
object visible but momentarily harder to locate.The majority of camouflage methods aim for
crypsis, often through a general resemblance to the background, high contrast disruptive
coloration, eliminating shadow, and countershading. In the open ocean, where there is no
background, the principal methods of camouflage are transparency, silvering, and
countershading, while the ability to produce light is among other things used for counter-
illumination on the undersides of cephalopods such as squid. Some animals, such
as chameleons andoctopuses, are capable of actively changing their skin pattern and colours;
they often use this ability both for camouflage and for signalling.
37. Monitoring robot using GPRS and Bluetooth
Department of ECE 37 H.K.B.K.C.E
CHAPTER 6
SOFTWARE REQUIREMENTS
6.1 Java Development Kit(JDK 1.6)
The Java Development Kit (JDK) is an implementation of either one of the Java SE, Java
EE or Java ME platformsreleased by Oracle Corporation in the form of a binary product aimed
at Java developers on Solaris, Linux, Mac OS X orWindows. Since the introduction
of Java platform, it has been by far the most widely used Software Development Kit (SDK). On
17 November 2006, Sun announced that it would be released under the GNU General Public
License(GPL), thus making it free software. This happened in large part on 8 May 2007, when
Sun contributed the source code to theOpenJDK.
6.1.1 JDK contents
The JDK has as its primary components a collection of programming tools, including:
appletviewer – this tool can be used to run and debug Java applets without a web browser
apt – the annotation-processing tool
extcheck – a utility which can detect JAR-file conflicts
idlj – the IDL-to-Java compiler. This utility generates Java bindings from a given Java
IDL file.
java – the loader for Java applications. This tool is an interpreter and can interpret the class
files generated by the javac compiler. Now a single launcher is used for both development
and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and
instead it has been replaced by this new java loader.
javac – the Java compiler, which converts source code into Java bytecode
javadoc – the documentation generator, which automatically generates documentation
from source code comments
jar – the archiver, which packages related class libraries into a single JAR file. This tool also
helps manage JAR files.
javah – the C header and stub generator, used to write native methods
38. Monitoring robot using GPRS and Bluetooth
Department of ECE 38 H.K.B.K.C.E
javap – the class file disassembler
javaws – the Java Web Start launcher for JNLP applications
JConsole – Java Monitoring and Management Console
jdb – the debugger
jhat – Java Heap Analysis Tool (experimental)
jinfo – This utility gets configuration information from a running Java process or crash
dump. (experimental)
jmap – This utility outputs the memory map for Java and can print shared object memory
maps or heap memory details of a given process or core dump. (experimental)
jps – Java Virtual Machine Process Status Tool lists the instrumented HotSpot Java Virtual
Machines (JVMs) on the target system. (experimental)
jrunscript – Java command-line script shell.
jstack – utility which prints Java stack traces of Java threads (experimental)
jstat – Java Virtual Machine statistics monitoring tool (experimental)
jstatd – jstat daemon (experimental)
keytool – tool for manipulating the keystore
pack200 – JAR compression tool
policytool – the policy creation and management tool, which can determine policy for a Java
runtime, specifying which permissions are available for code from various sources
VisualVM – visual tool integrating several command-line JDK tools and
lightweight performance and memory profiling capabilities
wsimport – generates portable JAX-WS artifacts for invoking a web service.
xjc – Part of the Java API for XML Binding (JAXB) API. It accepts an XML schema and
generates Java classes.
Experimental tools may not be available in future versions of the JDK.
The JDK also comes with a complete Java Runtime Environment, usually called
a private runtime, due to the fact that it is separated from the "regular" JRE and has extra
contents. It consists of aJava Virtual Machine and all of the class libraries present in the
production environment, as well as additional libraries only useful to developers, such as
the internationalization libraries and theIDL libraries
39. Monitoring robot using GPRS and Bluetooth
Department of ECE 39 H.K.B.K.C.E
6.1.2About the Java Technology
Java technology is both a programming language and a platform.
The Java Programming Language
The Java programming language is a high-level language that can be characterized by all of the
following buzzwords:
Simple
Object oriented
Distributed
Multithreaded
Dynamic
Architecture neutral
Portable
High performance
Robust
Secure
Each of the preceding buzzwords is explained in The Java Language Environment, a white paper
written by James Gosling and Henry McGilton.
In the Java programming language, all source code is first written in plain text files ending with
the .java extension. Those source files are then compiled into .class files by thejavac compiler.
A .class file does not contain code that is native to your processor; it instead
contains bytecodes — the machine language of the Java Virtual Machine1
(Java VM).
The java launcher tool then runs your application with an instance of the Java Virtual Machine.
Figure 6.1 an overview of the software development process.
Because the Java VM is available on many different operating systems, the same .class files are
capable of running on Microsoft Windows, the Solaris™ Operating System (Solaris OS), Linux,
or Mac OS. Some virtual machines, such as the Java SE HotSpot at a Glance, perform additional
steps at runtime to give your application a performance boost. This include various tasks such as
40. Monitoring robot using GPRS and Bluetooth
Department of ECE 40 H.K.B.K.C.E
finding performance bottlenecks and recompiling (to native code) frequently used sections of
code.
Figure 6.2 Through the Java VM, the same application is
capable of running on multiple platforms.
6.1.3 The Java Platform
A platform is the hardware or software environment in which a program runs. We've already
mentioned some of the most popular platforms like Microsoft Windows, Linux, Solaris OS, and
Mac OS. Most platforms can be described as a combination of the operating system and
underlying hardware. The Java platform differs from most other platforms in that it's a software-
only platform that runs on top of other hardware-based platforms.
The Java platform has two components:
The Java Virtual Machine
The Java Application Programming Interface (API)
You've already been introduced to the Java Virtual Machine; it's the base for the Java platform
and is ported onto various hardware-based platforms.
41. Monitoring robot using GPRS and Bluetooth
Department of ECE 41 H.K.B.K.C.E
The API is a large collection of ready-made software components that provide many useful
capabilities. It is grouped into libraries of related classes and interfaces; these libraries are known
as packages.
Figure 6.3 The API and Java Virtual Machine insulate the
program from the underlying hardware.
As a platform-independent environment, the Java platform can be a bit slower than native code.
However, advances in compiler and virtual machine technologies are bringing performance close
to that of native code without threatening portability.
The terms"Java Virtual Machine" and "JVM" mean a Virtual Machine for the Java platform.
The general-purpose, high-level Java programming language is a powerful software platform.
Every full implementation of the Java platform gives you the following features:
Development Tools: The development tools provide everything you'll need for
compiling, running, monitoring, debugging, and documenting your applications. As a
new developer, the main tools you'll be using are the javac compiler,
the java launcher, and the javadoc documentation tool.
Application Programming Interface (API): The API provides the core functionality of
the Java programming language. It offers a wide array of useful classes ready for use in
your own applications. It spans everything from basic objects, to networking and
security, to XML generation and database access, and more.
Deployment Technologies: The JDK software provides standard mechanisms such as the
Java Web Start software and Java Plug-In software for deploying your applications to end
users.
42. Monitoring robot using GPRS and Bluetooth
Department of ECE 42 H.K.B.K.C.E
User Interface Toolkits: The Swing and Java 2D toolkits make it possible to create
sophisticated Graphical User Interfaces (GUIs).
Integration Libraries: Integration libraries such as the Java IDL API, JDBC™ API,
Java Naming and Directory Interface™ (JNDI) API, Java RMI, and Java Remote Method
Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology)
enable database access and manipulation of remote objects.
6.2 Android operating system
Android is a Linux-based operating system designed primarily for touchscreen mobile devices
such as smartphones and tablet computers. Initially developed by Android, Inc., which Google
backed financially and later bought in 2005, Android was unveiled in 2007 along with the
founding of the Open Handset Alliance: a consortium of hardware, software, and
telecommunication companies devoted to advancing open standards for mobile devices. The first
Android-powered phone was sold in October 2008.
Android is open source and Google releases the code under the Apache License. This open
source code and permissive licensing allows the software to be freely modified and distributed
by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has
a large community of developers writing applications ("apps") that extend the functionality of
devices, written primarily in a customized version of the Java programming language. In October
2012, there were approximately 700,000 apps available for Android, and the estimated number
of applications downloaded from Google Play, Android's primary app store, was 25 billion.
These factors have contributed towards making Android the world's most widely used
smartphone platform, overtaking Symbian in the fourth quarter of 2010, and the software of
choice for technology companies who require a low-cost, customizable, lightweight operating
system for high tech devices without developing one from scratch. As a result, despite being
43. Monitoring robot using GPRS and Bluetooth
Department of ECE 43 H.K.B.K.C.E
primarily designed for phones and tablets, it has seen additional applications on televisions,
games consoles, digital cameras and other electronics. Android's open nature has further
encouraged a large community of developers and enthusiasts to use the open source code as a
foundation for community-driven projects, which add new features for advanced users or bring
Android to devices which were officially released running other operating systems.
Android had a worldwide smartphone market share of 75% during the third quarter of 2012, with
750 million devices activated in total and 1.5 million activations per day. The operating system's
success has made it a target for patent litigation as part of the so-called "smartphone wars"
between technology companies.
Figure 6.4 the green Android logo, designed by graphic designer Irina Blok.
6.2.1 History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder
of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at
T-Mobile), and Chris White (headed design and interface development at WebTV) to develop, in
Rubin's words "smarter mobile devices that are more aware of its owner's location and
preferences". The early intentions of the company were to develop an advanced operating system
for digital cameras, when it was realized that the market for the devices was not large enough,
and diverted their efforts to producing a smartphone operating system to rival those of Symbian
and Windows Mobile (Apple's iPhone had not been released at the time). Despite the past
accomplishments of the founders and early employees, Android Inc. operated secretly, revealing
only that it was working on software for mobile phones. That same year, Rubin ran out of
44. Monitoring robot using GPRS and Bluetooth
Department of ECE 44 H.K.B.K.C.E
money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and
refused a stake in the company.
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of
Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the
company after the acquisition. Not much was known about Android Inc. at the time, but many
assumed that Google was planning to enter the mobile phone market with this move. At Google,
the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google
marketed the platform to handset makers and carriers on the promise of providing a flexible,
upgradable system. Google had lined up a series of hardware component and software partners
and signaled to carriers that it was open to various degrees of cooperation on their part.
Speculation about Google's intention to enter the mobile communications market continued to
build through December 2006. Reports from the BBC and the Wall Street Journal noted that
Google wanted its search and applications on mobile phones and it was working hard to deliver
that. Print and online media outlets soon reported rumors that Google was developing a Google-
branded handset. Some speculated that as Google was defining technical specifications, it was
showing prototypes to cell phone manufacturers and network operators. In September 2007,
Information Week covered an evalueserve study reporting that Google had filed several patent
applications in the area of mobile telephony.
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies
including Google, device manufacturers such as HTC and Samsung, wireless carriers such as
Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments,
unveiled itself, with a goal to develop open standards for mobile devices.That day, Android was
unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.The
first commercially available phone to run Android was the HTC Dream, released on October 22,
2008.
Since 2008, Android has seen numerous updates which have incrementally improved the
operating system, adding new features and fixing bugs in previous releases. Each major release is
named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was
followed by 1.6 Donut. The latest release is 4.2 Jelly Bean. In 2010, Google launched its Nexus
series of devices—a line of smartphones and tablets running the Android operating system, and
45. Monitoring robot using GPRS and Bluetooth
Department of ECE 45 H.K.B.K.C.E
built by a manufacturer partner. HTC collaborated with Google to release the first Nexus
smartphone, the Nexus One. The series has since been updated with newer devices, such as the
Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung, respectively. Google releases the
Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest
software and hardware features.
On 13 March 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved
from the Android division to take on new projects at Google. He was replaced by SundarPichai,
who also continues his role as the head of Google's Chrome division,which develops Chrome
OS.
6.2.2 Interface
Android's user interface is based on direct manipulation, using touch inputs that loosely
correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to
manipulate on-screen objects. The response to user input is designed to be immediate and
provides a fluid touch interface, often using the vibration capabilities of the device to provide
haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity
sensors are used by some applications to respond to additional user actions, for example
adjusting the screen from portrait to landscape depending on how the device is oriented, or
allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of
a steering wheel.
Android devices boot to the homescreen, the primary navigation and information point on the
device, which is similar to the desktop found on PCs. Android homescreens are typically made
up of app icons and widgets; app icons launch the associated app, whereas widgets display live,
auto-updating content such as the weather forecast, the user's email inbox, or a news ticker
directly on the home screen.
A home screen may be made up of several pages that the user can swipe back and forth between,
though Android's homescreen interface is heavily customisable, allowing the user to adjust
thelook and feel of the device to their tastes. Third party apps available on Google Play and other
app stores can extensively re-theme the homescreen, and even mimic the look of other operating
46. Monitoring robot using GPRS and Bluetooth
Department of ECE 46 H.K.B.K.C.E
systems, such as Windows Phone. Most manufacturers, and some wireless carriers, customise the
look and feel of their Android devices to differentiate themselves from the competition.
Present along the top of the screen is a status bar, showing information about the device and its
connectivity. This status bar can be "pulled" down to reveal a notification screen where apps
display important information or updates, such as a newly received email or SMS text, in a way
that does not immediately interrupt or inconvenience the user. In early versions of Android these
notifications could be tapped to open the relevant app, but recent updates have provided
enhanced functionality, such as the ability to call a number back directly from the missed call
notification without having to open the dialer app first. Notifications are persistent until read or
dismissed by the user.
Figure 6.5 Android 4.2 "Jelly Bean" on the Nexus 4
47. Monitoring robot using GPRS and Bluetooth
Department of ECE 47 H.K.B.K.C.E
6.2.3 Applications
Android has a growing selection of third party applications, which can be acquired by users
either through an app store such as Google Play or the Amazon Appstore, or by downloading and
installing the application's APK file from a third-party site. The Play Store application allows
users to browse, download and update apps published by Google and third-party developers, and
is pre-installed on devices that comply with Google's compatibility requirements. The app filters
the list of available applications to those that are compatible with the user's device, and
developers may restrict their applications to particular carriers or countries for business reasons.
Purchases of unwanted applications can be refunded within 15 minutes of the time of download,
and some carriers offer direct carrier billing for Google Play application purchases, where the
cost of the application is added to the user's monthly bill. As of September 2012, there were
more than 675,000 apps available for Android, and the estimated number of applications
downloaded from the Play Store was 25 billion.
Applications are developed in the Java language using the Android software development kit
(SDK). The SDK includes a comprehensive set of development tools, including a debugger,
software libraries, a handset emulator based on QEMU, documentation, sample code, and
tutorials. The officially supported integrated development environment (IDE) is Eclipse using the
Android Development Tools (ADT) plugin. Other development tools are available, including a
Native Development Kit for applications or extensions in C or C++, Google App Inventor, a
visual environment for novice programmers, and various cross platform mobile web applications
frameworks.
In order to work around limitations on reaching Google services due to Internet censorship in the
People's Republic of China, Android devices sold in the PRC are generally customized to use
state approved services instead.
48. Monitoring robot using GPRS and Bluetooth
Department of ECE 48 H.K.B.K.C.E
6.3 Android emulator
The Android SDK includes a virtual mobile device emulator that runs on your computer. The
emulator lets you prototype, develop and test Android applications without using a physical
device.
The Android emulator mimics all of the hardware and software features of a typical mobile
device, except that it cannot place actual phone calls. It provides a variety of navigation and
control keys, which you can "press" using your mouse or keyboard to generate events for your
application. It also provides a screen in which your application is displayed, together with any
other active Android applications.
Figure 6.6 Android emulator
To let you model and test your application more easily, the emulator utilizes Android Virtual
Device (AVD) configurations. AVDs let you define certain hardware aspects of your emulated
phone and allow you to create many configurations to test many Android platforms and hardware
permutations. Once your application is running on the emulator, it can use the services of the
Android platform to invoke other applications, access the network, play audio and video, store
and retrieve data, notify the user, and render graphical transitions and themes.
49. Monitoring robot using GPRS and Bluetooth
Department of ECE 49 H.K.B.K.C.E
The emulator also includes a variety of debug capabilities, such as a console from which you can
log kernel output, simulate application interrupts (such as arriving SMS messages or phone
calls), and simulate latency effects and dropouts on the data network.
6.3.1 Overview
The Android emulator is an application that provides a virtual mobile device on which you can
run your Android applications. It runs a full Android system stack, down to the kernel level, that
includes a set of preinstalled applications (such as the dialer) that you can access from your
applications. You can choose what version of the Android system you want to run in the
emulator by configuring AVDs, and you can also customize the mobile device skin and key
mappings. When launching the emulator and at runtime, you can use a variety of commands and
options to control its behavior.
The Android system images available through the Android SDK Manager contain code for the
Android Linux kernel, the native libraries, the Dalvik VM, and the various Android packages
(such as the Android framework and preinstalled applications). The emulator provides dynamic
binary translation of device machine code to the OS and processor architecture of your
development machine.
The Android emulator supports many hardware features likely to be found on mobile devices,
including:
An ARMv5 CPU and the corresponding memory-management unit (MMU)
A 16-bit LCD display
One or more keyboards (a Qwerty-based keyboard and associated Dpad/Phone buttons)
A sound chip with output and input capabilities
Flash memory partitions (emulated through disk image files on the development machine)
A GSM modem, including a simulated SIM Card
A camera, using a webcam connected to your development computer.
Sensors like an accelerometer, using data from a USB-connected Android device.
50. Monitoring robot using GPRS and Bluetooth
Department of ECE 50 H.K.B.K.C.E
6.3.2 Android Virtual Devices and the Emulator
To use the emulator, you first must create one or more AVD configurations. In each
configuration, you specify an Android platform to run in the emulator and the set of hardware
options and emulator skin you want to use. Then, when you launch the emulator, you specify the
AVD configuration that you want to load.
Each AVD functions as an independent device, with its own private storage for user data, SD
card, and so on. When you launch the emulator with an AVD configuration, it automatically
loads the user data and SD card data from the AVD directory. By default, the emulator stores the
user data, SD card data, and cache in the AVD directory.
To create and manage AVDs you use the AVD Manager UI or the android tool that is included in
the SDK. For complete information about how to set up AVDs, see Managing Virtual Devices.
6.3.3 Starting and Stopping the Emulator
During development and testing of your application, you install and run your application in the
Android emulator. You can launch the emulator as a standalone application from a command
line, or you can run it from within your Eclipse development environment. In either case, you
specify the AVD configuration to load and any startup options you want to use, as described in
this document.
You can run your application on a single instance of the emulator or, depending on your needs,
you can start multiple emulator instances and run your application in more than one emulated
device. You can use the emulator's built-in commands to simulate GSM phone calling or SMS
between emulator instances, and you can set up network redirection that allows emulators to
send data to one another. For more information, see Telephony Emulation, SMS Emulation, and
Emulator Networking
To start an instance of the emulator from the command line, navigate to the tools/ folder of the
SDK. Enter emulator command like this:
emulator -avd<avd_name> [<options>]
51. Monitoring robot using GPRS and Bluetooth
Department of ECE 51 H.K.B.K.C.E
This initializes the emulator, loads an AVD configuration and displays the emulator window. For
more information about command line options for the emulator, see the Android Emulator tool
reference.
Note: You can run multiple instances of the emulator concurrently, each with its own AVD
configuration and storage area for user data, SD card, and so on.
If you are working in Eclipse, the ADT plugin for Eclipse installs your application and starts the
emulator automatically, when you run or debug the application. You can specify emulator startup
options in the Run/Debug dialog, in the Target tab. When the emulator is running, you can issue
console commands as described later in this document.
If you are not working in Eclipse, see Installing Applications on the Emulator for information
about how to install your application.
To stop an emulator instance, just close the emulator's window.
6.3.4 Installing Applications on the Emulator
If you don't have access to Eclipse or the ADT Plugin, you can install your application on the
emulator using the adb utility. Before installing the application, you need to build and package it
into an .apk as described in Building and Running Apps. Once the application is installed, you
can start the emulator from the command line as described previously, using any startup options
necessary. When the emulator is running, you can also connect to the emulator instance's console
to issue commands as needed.
As you update your code, you periodically package and install it on the emulator. The emulator
preserves the application and its state data across restarts, in a user-data disk partition. To ensure
that the application runs properly as you update it, you may need to delete the emulator's user-
data partition. To do so, start the emulator with the -wipe-data option. For more information
about the user-data partition and other emulator storage, see Working with Emulator Disk
Images.
52. Monitoring robot using GPRS and Bluetooth
Department of ECE 52 H.K.B.K.C.E
6.3.5 Emulator Limitations
The functional limitations of the emulator include:
No support for placing or receiving actual phone calls. You can simulate phone calls
(placed and received) through the emulator console, however.
No support for USB connections
No support for device-attached headphones
No support for determining network connected state
No support for determining battery charge level and AC charging state
No support for determining SD card insert/eject
No support for Bluetooth
6.4 MPLAB
The MPLAB is the new graphical, integrated debugging tool set for all of Microchip‘s more than
800 8-bit, 16-bit and 32-bit MCUs and digital signal controllers, and memory devices. It includes
a feature-rich editor, source-level debugger, project manager, software simulator, and supports
Microchip‘s popular hardware tools, such as the MPLAB ICD 3 in-circuit debugger, PICkit™ 3,
and MPLAB PM3 programmer. Based on the open-source NetBeans platform, MPLAB X runs
on Windows® OS, MAC® OS and Linux, supports many third-party tools, and is compatible
with many NetBeans plug-ins.
Figure 6.7 MPLAB X
MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the
development of embedded applications employing Microchip's PIC®
and
dsPIC®
microcontrollers. MPLAB IDE runs as a 32-bit application on MS Windows®
, is easy to
use and includes a host of free software components for fast application development and super-
53. Monitoring robot using GPRS and Bluetooth
Department of ECE 53 H.K.B.K.C.E
charged debugging. MPLAB IDE also serves as a single, unified graphical user interface for
additional Microchip and third party software and hardware development tools. Moving between
tools is a snap, and upgrading from the free software simulator to hardware debug and
programming tools is done in a flash because MPLAB IDE has the same user interface for all
tools.
6.4.1 Embedded C
Embedded C is a set of language extensions for the C Programming language by the C Standards
committee to address commonality issues that exist between C extensions for different embedded
systems. Historically, embedded C programming requires nonstandard extensions to the C
language in order to support exotic features such as fixed-point arithmetic, multiple distinct
memory banks, and basic I/O operations.
In 2008, the C Standards Committee extended the C language to address these issues by
providing a common standard for all implementations to adhere to. It includes a number of
features not available in normal C, such as, fixed-point arithmetic, named address spaces, and
basic I/O hardware addressing.
Embedded C use most of the syntax and semantics of standard C, e.g., main() function, variable
definition, data type declaration, conditional statements (if, switch. case), loops (while, for),
functions, arrays and strings, structures and union, bit operations, macros, unions,etc.
Looking around, we find ourselves to be surrounded by various types of embedded systems. Be
it a digital camera or a mobile phone or a washing machine, all of them has some kind of
processor functioning inside it. Associated with each processor is the embedded software. If
hardware forms the body of an embedded system, embedded processor acts as the brain, and
embedded software forms its soul. It is the embedded software which primarily governs the
functioning of embedded systems.
During infancy years of microprocessor based systems, programs were developed using
assemblers and fused into the EPROMs. There used to be no mechanism to find what the
program was doing. LEDs, switches, etc. were used to check correct execution of the program.
54. Monitoring robot using GPRS and Bluetooth
Department of ECE 54 H.K.B.K.C.E
Some ‗very fortunate‘ developers had In-circuit Simulators (ICEs), but they were too costly and
were not quite reliable as well.
As time progressed, use of microprocessor-specific assembly-only as the programming language
reduced and embedded systems moved onto C as the embedded programming language of
choice. C is the most widely used programming language for embedded processors/controllers.
Assembly is also used but mainly to implement those portions of the code where very high
timing accuracy, code size efficiency, etc. are prime requirements.
Initially C was developed by Kernighan and Ritchie to fit into the space of 8K and to write
(portable) operating systems. Originally it was implemented on UNIX operating systems. As it
was intended for operating systems development, it can manipulate memory addresses. Also, it
allowed programmers to write very compact codes. This has given it the reputation as the
language of choice for hackers too.
As assembly language programs are specific to a processor, assembly language didn‘t offer
portability across systems. To overcome this disadvantage, several high level languages,
including C, came up. Some other languages like PLM, Modula-2, Pascal, etc. also came but
couldn‘t find wide acceptance. Amongst those, C got wide acceptance for not only embedded
systems, but also for desktop applications. Even though C might have lost its sheen as
mainstream language for general purpose applications, it still is having a strong-hold in
embedded programming. Due to the wide acceptance of C in the embedded systems, various
kinds of support tools like compilers & cross-compilers, ICE, etc. came up and all this facilitated
development of embedded systems using C.
Subsequent sections will discuss what is Embedded C, features of C language, similarities and
difference between C and embedded C, and features of embedded C programming.
EMBEDDED SYSTEMS PROGRAMMING
Embedded systems programming is different from developing applications on a desktop
computers. Key characteristics of an embedded system, when compared to PCs, are as follows:
55. Monitoring robot using GPRS and Bluetooth
Department of ECE 55 H.K.B.K.C.E
· Embedded devices have resource constraints(limited ROM, limited RAM, limited stack
space, less processing power)
· Components used in embedded system and PCs are different; embedded systems typically
uses smaller, less power consuming components.
· Embedded systems are more tied to the hardware.
Two salient features of Embedded Programming are code speed and code size. Code speed is
governed by the processing power, timing constraints, whereas code size is governed by
available program memory and use of programming language. Goal of embedded system
programming is to get maximum features in minimum space and minimum time.
Embedded systems are programmed using different type of languages:
· Machine Code
· Low level language, i.e., assembly
· High level language like C, C++, Java, Ada, etc.
· Application level language like Visual Basic, scripts, Access, etc.
Assembly language maps mnemonic words with the binary machine codes that the processor
uses to code the instructions. Assembly language seems to be an obvious choice for
programming embedded devices. However, use of assembly language is restricted to developing
efficient codes in terms of size and speed. Also, assembly codes lead to higher software
development costs and code portability is not there. Developing small codes are not much of a
problem, but large programs/projects become increasingly difficult to manage in assembly
language. Finding good assembly programmers has also become difficult nowadays. Hence high
level languages are preferred for embedded systems programming.
Use of C in embedded systems is driven by following advantages
· It is small and reasonably simpler to learn, understand, program and debug.
· C Compilers are available for almost all embedded devices in use today, and there is a large
pool of experienced C programmers.
56. Monitoring robot using GPRS and Bluetooth
Department of ECE 56 H.K.B.K.C.E
· Unlike assembly, C has advantage of processor-independence and is not specific to any
particular microprocessor/ microcontroller or any system. This makes it convenient for a user to
develop programs that can run on most of the systems.
· As C combines functionality of assembly language and features of high level languages, C is
treated as a ‗middle-level computer language‘ or ‗high level assembly language‘
· It is fairly efficient
· It supports access to I/O and provides ease of management of large embedded projects.
Compared to assembly language, C Code written is more reliable and scalable, more portable
between different platforms (with some changes). Moreover, programs developed in C are much
easier to understand, maintain and debug. Also, as they can be developed more quickly, codes
written in C offers better productivity. C is based on the philosophy ‗programmers know what
they are doing‘; only the intentions are to be stated explicitly. It is easier to write good code in C
& convert it to an efficient assembly code (using high quality compilers) rather than writing an
efficient code in assembly itself. Benefits of assembly language programming over C are
negligible when we compare the ease with which C programs are developed by programmers.
Objected oriented language, C++ is not apt for developing efficient programs in resource
constrained environments like embedded devices. Virtual functions & exception handling of
C++ are some specific features that are not efficient in terms of space and speed in embedded
systems. Sometimes C++ is used only with very few features, very much as C.
Java is another language used for embedded systems programming. It primarily finds usage in
high-end mobile phones as it offers portability across systems and is also useful for browsing
applications. Java programs require Java Virtual Machine (JVM), which consume lot of
resources. Hence it is not used for smaller embedded devices.
Efficient embedded C programs must be kept small and efficient; they must be optimized for
code speed and code size. Good understanding of processor architecture embedded C
programming and debugging tools facilitate this.
57. Monitoring robot using GPRS and Bluetooth
Department of ECE 57 H.K.B.K.C.E
DIFFERENCE BETWEEN C AND EMBEDDED C
Though C and embedded C appear different and are used in different contexts, they have more
similarities than the differences. Most of the constructs are same; the difference lies in their
applications.
C is used for desktop computers, while embedded C is for microcontroller based applications.
Accordingly, C has the luxury to use resources of a desktop PC like memory, OS, etc. While
programming on desktop systems, we need not bother about memory. However, embedded C has
to use with the limited resources (RAM, ROM, I/Os) on an embedded processor. Thus, program
code must fit into the available program memory. If code exceeds the limit, the system is likely
to crash.
Compilers for C (ANSI C) typically generate OS dependantexecutables. Embedded C requires
compilers to create files to be downloaded to the microcontrollers/microprocessors where it
needs to run. Embedded compilers give access to all resources which is not provided in
compilers for desktop computer applications.
Embedded systems often have the real-time constraints, which is usually not there with desktop
computer applications. Embedded systems often do not have a console, which is available in case
of desktop applications. So, what basically is different while programming with embedded C is
the mindset; for embedded applications, we need to optimally use the resources, make the
program code efficient, and satisfy real time constraints, if any. All this is done using the basic
constructs, syntaxes, and function libraries of ‗C‘.
6.4.2 MPLAB IDE
MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the
development of embedded applications employing Microchip's PIC®
and
dsPIC®
microcontrollers. MPLAB IDE runs as a 32-bit application on MS Windows®
, is easy to
use and includes a host of free software components for fast application development and super-
charged debugging. MPLAB IDE also serves as a single, unified graphical user interface for
additional Microchip and third party software and hardware development tools.
58. Monitoring robot using GPRS and Bluetooth
Department of ECE 58 H.K.B.K.C.E
Figure 6.8 MPLAB IDE interface
The typical tasks for developing an embedded controller application are:
1. Create the high level design. From the features and performance desired, decide which PIC®
MCU or dsPIC® DSC device is best suited to the application, then design the associated
hardware circuitry.
After determining which peripherals and pins control the hardware, write the firmware – the
software that will control the hardware aspects of the embedded application. A language tool
such as an assembler, which is directly translatable into machine code, or a compiler that allows
a more natural language for creating programs should be used to write and edit code.
Assemblers and compilers help make the code understandable, allowing function labels to
identify code routines with variables that have names associated with their use, and with
constructs that help organize the code in a maintainable structure.
59. Monitoring robot using GPRS and Bluetooth
Department of ECE 59 H.K.B.K.C.E
2. Compile, assemble and linkthe software using the assembler and/or compiler and linker to
convert your code into ―ones and zeroes‖ –-machine code for the PIC MCUs. This machine code
will eventually become the firmware (the code programmed into the microcontroller).
3. Test your code. Usually a complex program does not work exactly the way imagined, and
―bugs‖ need to be removed from the design to get proper results. The debugger allows you to see
the ―ones and zeroes‖ execute, related to the source code you wrote, with the symbols and
function names from your program.
Debugging allows you to experiment with your code to see the value of variables at various
points in the program, and to do ―what if‖ checks, changing variable values and stepping through
routines.
4. ―Burn‖ the code into a microcontroller and verify that it executes correctly in the finished
application.
60. Monitoring robot using GPRS and Bluetooth
Department of ECE 60 H.K.B.K.C.E
CHAPTER 7
EXECUTION
STEP 1
Install JDK 1.6
set path (%path%;C:Program FilesJavajdk1.6.0_02bin) and class path as
(%classpath%;C:Program FilesJavajdk1.6.0_02lib) in environment variables Wizard.
STEP 2
Transfer android(apk file) to cell phone.
STEP 3
Run Project by Double Click on run.bat file in src folder.
Figure 7.1 double click run.bat file
61. Monitoring robot using GPRS and Bluetooth
Department of ECE 61 H.K.B.K.C.E
STEP 4
Can Control the Project Using This Window.
Figure 7.2 GUI on PC
STEP 5
Pair Your ANDROID MOBILE with your robot‘s Bluetooth maodule.
62. Monitoring robot using GPRS and Bluetooth
Department of ECE 62 H.K.B.K.C.E
STEP 6
Run ANDROID Application(To Read Command From Socket Programs, Give the Server dail up
ip address)
Figure 7.3 android application on phone
STEP 7
Enter the ip address of remote pc
Figure 7.4 IP address of PC on application
63. Monitoring robot using GPRS and Bluetooth
Department of ECE 63 H.K.B.K.C.E
STEP 8
Streamed images are displayed in and robot can be controlled through buttons.
64. Monitoring robot using GPRS and Bluetooth
Department of ECE 64 H.K.B.K.C.E
CHAPTER 8
SIGNIFICANCE OF THE PROJECT
The increase of greed in people has paved way to civil-wars and natural disasters. A swift action
has to be taken in the relief work of the aftermath of earthquake affected areas, such that any
delay in the rescue could lead the death toll to rise. The same can be applied to war fields too.
The project focuses on human beings who are alive and struggling for their lives either in the war
field or due to natural disasters like earthquakes, to be recognized and rescued in a much faster
pace.
The robot senses humans alive and sends a notification to the mobile to capture the images of the
same. The captured image is then sent to the server to view and act accordingly. The
administrator at the server end has options to move the robot in any required direction for more
accurate detection of human beings alive.
8.1 Advantages of process monitoring robot
An affordable Technology with high end advantage
Can help tracking alive human beings
View the status of the person alive
The place can be monitored remotely by moving the robot
Based on the robot‘s background color, LED‘s on robot will glow, i.e. robot will change
it color based on its background color.
8.2 Disadvantages of process monitoring robot
Frame rate of video capture is less
The mobile device is confined to android operating system and the GPRS in the phone
should be enables
Internet should be available at the server end
65. Monitoring robot using GPRS and Bluetooth
Department of ECE 65 H.K.B.K.C.E
CHAPTER 9
FUTURE SCOPE AND CONCLUSION
9.1 Future enhancements
detect the signals of other living beings based on the frequency of the breathing and
heartbeat signals
The video streaming can be made much faster using Advanced Multimedia API.
A speaker can be connected to broadcast message to the people.
9.2 CONCLUSION
Thus a process monitoring robot capable of hiding itself by its camouflage capability. Can be
used for various operation including remote and military areas. With the advancement of mobile
network the connection can be made faster, easier and user friendly. It comes as a revolutionary
model for the society which can be helpful in saving a lot of lives during natural disasters or even
a national threat.