Вы находитесь на странице: 1из 75

BIOMETRIC DOOR UNLOCK SYSTEM USING

MICROCONTROLLER

Project Report Submitted in


Partial fulfillment of the requirement for the award of degree of

BACHELOR OF ENGINEERING
In

ELECTRONICS AND INSTRUMENTATION ENGINEERING

By

SYED ESSAMUDDIN 1604-14-739-017

AIYAZ UDDIN ALI 1604-14-739-306

SYED SAMEER AHMED 1604-13-739-023


Under the Guidance of

Mr. Md. Umair Quadri


Associate Professor

Electrical Engineering Department


Muffakham Jah College of Engineering & Technology
(Affiliated to Osmania University)
2018-2019
MUFFAKHAM JAH
COLLEGE OF ENGINEERING & TECHNOLOGY
Estd. by Sultan-Ul-Uloom Education Society in 1980)
(Affiliated to Osmania University, Hyderabad)

CERTIFICATE

This is to certify that the project entitled “BIOMETRIC DOOR UNLOCK


SYSTEM USING MICROCONTROLLER” is being submitted by SYED
ESSAMUDDIN(1604-14-739-017) AIYAZ UDDIN ALI(1604-14-739-306) SYED
SAMEER AHMED(1604-13-739-023) to Muffakham Jah college of Engineering
and Technology, in partial fulfillment for the award of the degree of Bachelor of
Engineering in Electronics and Instrumentation Engineering.

This is a bonafide work done by them under our guidance and supervision and
the results embodied in this project report have not been submitted to any other
university or institute for the award of any degree or diploma or fellowship.

Project Guide Head of the Department

Md. Umair Quadri

Associate Professor, EED


MUFFAKHAM JAH
COLLEGE OF ENGINEERING & TECHNOLOGY
Estd. by Sultan-Ul-Uloom Education Society in 1980)
(Affiliated to Osmania University, Hyderabad)

CERTIFICATE

This is to certify that the project entitled “BIOMETRIC DOOR UNLOCK


SYSTEM USING MICROCONTROLLER” is being submitted by SYED
ESSAMUDDIN(1604-14-739-017) AIYAZ UDDIN ALI(1604-14-739-306) SYED
SAMEER AHMED(1604-13-739-023) to Muffakham Jah college of Engineering
and Technology, in partial fulfillment for the award of the degree of Bachelor of
Engineering in Electronics and Instrumentation Engineering.

This is a bonafide work done by them under our guidance and supervision and
the results embodied in this project report have not been submitted to any other
university or institute for the award of any degree or diploma or fellowship.

Project Guide External Examiner

Md. Umair Quadri

Associate Professor
ACKNOWLEDGEMENT

With a deep sense of gratitude, we acknowledge the guidance, help and active
cooperation rendered by the following people whose guidance has sustained the effort
and led to the initiation of this project.
We are grateful to our Project guide, Mr. Md. Umair Quadri, Associate Professor
Electrical Engineering Department, Muffakham Jah College of Engineering and
Technology, his constant encouragement, genuine inspiration, and sagacious guidance
at every stage of the work.

We are also thankful to our Course Coordinator, Mr. Mohd Abdul Muqeet,
Associate Professor, Project Coordinator, Electrical Engineering Department,
Muffakham Jah College of Engineering and Technology, for their significant
contribution towards this project.
Our sincere thanks to Dr. Mohammed Haseeb Khan, Head of the Department,
Electrical Engineering Department, Muffakham Jah College of Engineering and
Technology, Hyderabad.
Contents Page no.

List Of Figures i

List Of Tables ii

Abstract iii

1. Introduction

1.1 Introduction
LIST OF FIGURES

Figure PAGE NO.

Block diagram

Schematic diagram
LIST OF TABLES

Table Page No.


Abstract:

In today's world be it offices, laboratories, school or home the first thing which concern
is the security. In order to make your data, money, premises and personal belonging
safe and secured from unauthorized person. This project represents a finger print
recognition biometrics system based on real time embedded system which will provides
a complete security solution and making unable to access for the unauthorized people.
In comparison to the other methods authentication through RFID, passwords security
this method has proven to be most efficient and reliable. Unauthorized access will be
strictly prohibited by designing this system. The system stores the finger print of
authorized people and only giving access to them. Fingerprint recognition is done by a
sensor which can be connected with Raspberry Pi Kit to validate for authentication. If
the user's fingerprint has a positive match the door will open otherwise the email is sent
and the registered user gets a message and the buzzer connected will be initiated to alert
the people or the security official in the surroundings.

In Recent, Home Automation is on horizon. Door Automation is emerging technology


in Home Automation. From the last decades a number of standards have been defined
for Door Lock Appliances. The main objective of Door automation is to provide
Security locks for door, comfort, connivance security and energy efficiency for user
with help of IOT and WSN. The aim of this project is to develop Door Automation
application using Raspberry Pi and Fingerprint. Raspberry Pi operates and controls
motion detector and cameras for remote sensing, surveillance capture the image of the
intruder and sends it to the mobile phone of the owner and finally alerts the user about
the intruder. In this project, password is used as secondary for security purpose.
Programming has been developed in C++/Python environment for Raspberry Pi
operation.
CHAPTER-1
INTRODUCTION TO EMBEDDED SYSTEMS

1.1 Embedded System

An embedded system is a special-purpose computer system designed to perform


one or a few dedicated functions, sometimes with real-time computing constraints. It is
usually embedded as part of a complete device including hardware and mechanical
parts. In contrast, a general-purpose computer, such as a personal computer, can do
many different tasks depending on programming. Embedded systems have become very
important today as they control many of the common devices we use.

Since the embedded system is dedicated to specific tasks, design engineers can
optimize it, reducing the size and cost of the product, or increasing the reliability and
performance. Some embedded systems are mass-produced, benefiting from economies
of scale.

Physically, embedded systems range from portable devices such as digital


watches and MP3 players, to large stationary installations like traffic lights, factory
controllers, or the systems controlling nuclear power plants. Complexity varies from
low, with a single microcontroller chip, to very high with multiple units, peripherals
and networks mounted inside a large chassis or enclosure.

In general, "embedded system" is not an exactly defined term, as many systems


have some element of programmability. For example, Handheld computers share some
elements with embedded systems — such as the operating systems and microprocessors
which power them — but are not truly embedded systems, because they allow different
applications to be loaded and peripherals to be connected.

An embedded system is some combination of computer hardware and software,


either fixed in capability or programmable, that is specifically designed for a particular
kind of application device. Industrial machines, automobiles, medical equipment,
cameras, household appliances, airplanes, vending machines, and toys (as well as the
more obvious cellular phone and PDA) are among the myriad possible hosts of an
embedded system. Embedded systems that are programmable are provided with a
programming interface, and embedded systems programming is a specialized
occupation.

Certain operating systems or language platforms are tailored for the embedded
market, such as Embedded Java and Windows XP Embedded. However, some low-end
consumer products use very inexpensive microprocessors and limited storage, with the
application and operating system both part of a single program. The program is written
permanently into the system's memory in this case, rather than being loaded into RAM
(random access memory), as programs on a personal computer are.

An embedded system is a computer system designed to perform one or a few


dedicated functions often with real-time computing constraints. It is embedded as part
of a complete device often including hardware and mechanical parts. By contrast, a
general-purpose computer, such as a personal computer (PC), is designed to be flexible
and to meet a wide range of end-user needs. Embedded systems control many devices
in common use today.
Embedded systems are controlled by one or more main processing cores
that are typically either microcontrollers or digital signal processors (DSP). The key
characteristic, however, is being dedicated to handle a particular task, which may
require very powerful processors. For example, air traffic control systems may usefully
be viewed as embedded, even though they involve mainframe computers and dedicated
regional and national networks between airports and radar sites. (Each radar probably
includes one or more embedded systems of its own.)
Since the embedded system is dedicated to specific tasks, design
engineers can optimize it to reduce the size and cost of the product and increase the
reliability and performance. Some embedded systems are mass-produced, benefiting
from economies of scale.
Physically embedded systems range from portable devices such as
digital watches and MP3 players, to large stationary installations like traffic lights,
factory controllers, or the systems controlling nuclear power plants. Complexity varies
from low, with a single microcontroller chip, to very high with multiple units,
peripherals and networks mounted inside a large chassis or enclosure.
In general, "embedded system" is not a strictly definable term, as most systems
have some element of extensibility or programmability. For example, handheld
computers share some elements with embedded systems such as the operating systems
and microprocessors which power them, but they allow different applications to be
loaded and peripherals to be connected. Moreover, even systems which don't expose
programmability as a primary feature generally need to support software updates. On a
continuum from "general purpose" to "embedded", large application systems will have
subcomponents at most points even if the system as a whole is "designed to perform
one or a few dedicated functions", and is thus appropriate to call "embedded". A modern
example of embedded system is shown in fig: 2.1.

Fig 2.1:A modern example of embedded system


Labeled parts include microprocessor (4), RAM (6), flash memory
(7).Embedded systems programming is not like normal PC programming. In many
ways, programming for an embedded system is like programming PC 15 years ago. The
hardware for the system is usually chosen to make the device as cheap as possible.
Spending an extra dollar a unit in order to make things easier to program can cost
millions. Hiring a programmer for an extra month is cheap in comparison. This means
the programmer must make do with slow processors and low memory, while at the same
time battling a need for efficiency not seen in most PC applications. Below is a list of
issues specific to the embedded field.
CHAPTER-1
2.1.1 History:
In the earliest years of computers in the 1930–40s, computers were
sometimes dedicated to a single task, but were far too large and expensive for most
kinds of tasks performed by embedded computers of today. Over time however, the
concept of programmable controllers evolved from
traditional electromechanical sequencers, via solid state devices, to the use of computer
technology.
One of the first recognizably modern embedded systems was the Apollo
Guidance Computer, developed by Charles Stark Draper at the MIT Instrumentation
Laboratory. At the project's inception, the Apollo guidance computer was considered
the riskiest item in the Apollo project as it employed the then newly developed
monolithic integrated circuits to reduce the size and weight. An early mass-produced
embedded system was the Autonetics D-17 guidance computer for the Minuteman
missile, released in 1961. It was built from transistor logic and had a hard disk for main
memory. When the Minuteman II went into production in 1966, the D-17 was replaced
with a new computer that was the first high-volume use of integrated circuits.
2.1.2 Tools:
Embedded development makes up a small fraction of total
programming. There's also a large number of embedded architectures, unlike the PC
world where 1 instruction set rules, and the UNIX world where there's only 3 or 4 major
ones. This means that the tools are more expensive. It also means that they're lowering
featured, and less developed. On a major embedded project, at some point you will
almost always find a compiler bug of some sort.

Debugging tools are another issue. Since you can't always run general
programs on your embedded processor, you can't always run a debugger on it. This
makes fixing your program difficult. Special hardware such as JTAG ports can
overcome this issue in part. However, if you stop on a breakpoint when your system is
controlling real world hardware (such as a motor), permanent equipment damage can
occur. As a result, people doing embedded programming quickly become masters at
using serial IO channels and error message style debugging.

2.1.3 Resources:
To save costs, embedded systems frequently have the cheapest
processors that can do the job. This means your programs need to be written as
efficiently as possible. When dealing with large data sets, issues like memory cache
misses that never matter in PC programming can hurt you. Luckily, this won't happen
too often- use reasonably efficient algorithms to start, and optimize only when
necessary. Of course, normal profilers won't work well, due to the same reason
debuggers don't work well.
Memory is also an issue. For the same cost savings reasons, embedded
systems usually have the least memory they can get away with. That means their
algorithms must be memory efficient (unlike in PC programs, you will frequently
sacrifice processor time for memory, rather than the reverse). It also means you can't
afford to leak memory. Embedded applications generally use deterministic memory
techniques and avoid the default "new" and "malloc" functions, so that leaks can be
found and eliminated more easily. Other resources programmers expect may not even
exist. For example, most embedded processors do not have hardware FPUs (Floating-
Point Processing Unit). These resources either need to be emulated in software, or
avoided altogether.

2.1.4 Real Time Issues:


Embedded systems frequently control hardware, and must be able to
respond to them in real time. Failure to do so could cause inaccuracy in measurements,
or even damage hardware such as motors. This is made even more difficult by the lack
of resources available. Almost all embedded systems need to be able to prioritize some
tasks over others, and to be able to put off/skip low priority tasks such as UI in favor of
high priority tasks like hardware control.

2.2 Need For Embedded Systems:


The uses of embedded systems are virtually limitless, because every day
new products are introduced to the market that utilizes embedded computers in novel
ways. In recent years, hardware such as microprocessors, microcontrollers, and FPGA
chips have become much cheaper. So when implementing a new form of control, it's
wiser to just buy the generic chip and write your own custom software for it. Producing
a custom-made chip to handle a particular task or set of tasks costs far more time and
money. Many embedded computers even come with extensive libraries, so that "writing
your own software" becomes a very trivial task indeed. From an implementation
viewpoint, there is a major difference between a computer and an embedded system.
Embedded systems are often required to provide Real-Time response. The main
elements that make embedded systems unique are its reliability and ease in debugging.

2.2.1 Debugging:
Embedded debugging may be performed at different levels, depending
on the facilities available. From simplest to most sophisticate they can be roughly
grouped into the following areas:
 Interactive resident debugging, using the simple shell provided by the embedded
operating system (e.g. Forth and Basic)
 External debugging using logging or serial port output to trace operation using
either a monitor in flash or using a debug server like the Remedy Debugger which even
works for heterogeneous multi core systems.
 An in-circuit debugger (ICD), a hardware device that connects to the
microprocessor via a JTAG or Nexus interface. This allows the operation of the
microprocessor to be controlled externally, but is typically restricted to specific
debugging capabilities in the processor.
 An in-circuit emulator replaces the microprocessor with a simulated equivalent,
providing full control over all aspects of the microprocessor.
 A complete emulator provides a simulation of all aspects of the hardware,
allowing all of it to be controlled and modified and allowing debugging on a normal
PC.
 Unless restricted to external debugging, the programmer can typically load and
run software through the tools, view the code running in the processor, and start or stop
its operation. The view of the code may be as assembly code or source-code.

Because an embedded system is often composed of a wide variety of


elements, the debugging strategy may vary. For instance, debugging a software(and
microprocessor) centric embedded system is different from debugging an embedded
system where most of the processing is performed by peripherals (DSP, FPGA, co-
processor). An increasing number of embedded systems today use more than one single
processor core. A common problem with multi-core development is the proper
synchronization of software execution. In such a case, the embedded system design
may wish to check the data traffic on the busses between the processor cores, which
requires very low-level debugging, at signal/bus level, with a logic analyzer, for
instance.

2.2.2 Reliability:
Embedded systems often reside in machines that are expected to run
continuously for years without errors and in some cases recover by them if an error
occurs. Therefore the software is usually developed and tested more carefully than that
for personal computers, and unreliable mechanical moving parts such as disk drives,
switches or buttons are avoided.
Specific reliability issues may include:
 The system cannot safely be shut down for repair, or it is too inaccessible to
repair. Examples include space systems, undersea cables, navigational beacons, bore-
hole systems, and automobiles.
 The system must be kept running for safety reasons. "Limp modes" are less
tolerable. Often backup s are selected by an operator. Examples include aircraft
navigation, reactor control systems, safety-critical chemical factory controls, train
signals, engines on single-engine aircraft.
 The system will lose large amounts of money when shut down: Telephone
switches, factory controls, bridge and elevator controls, funds transfer and market
making, automated sales and service.

A variety of techniques are used, sometimes in combination, to recover from


errors—both software bugs such as memory leaks, and also soft errors in the hardware:
 Watchdog timer that resets the computer unless the software periodically
notifies the watchdog
 Subsystems with redundant spares that can be switched over to
 software "limp modes" that provide partial function
 Designing with a Trusted Computing Base (TCB) architecture[6] ensures a
highly secure & reliable system environment
 An Embedded Hypervisor is able to provide secure encapsulation for any
subsystem component, so that a compromised software component cannot interfere
with other subsystems, or privileged-level system software. This encapsulation keeps
faults from propagating from one subsystem to another, improving reliability. This may
also allow a subsystem to be automatically shut down and restarted on fault detection.
 Immunity Aware Programming

2.3 Explanation of Embedded Systems:


2.3.1 Software Architecture:
There are several different types of software architecture in common use.
 Simple Control Loop:
In this design, the software simply has a loop. The loop calls subroutines, each of which
manages a part of the hardware or software.
 Interrupt Controlled System:
Some embedded systems are predominantly interrupt controlled. This
means that tasks performed by the system are triggered by different kinds of events. An
interrupt could be generated for example by a timer in a predefined frequency, or by a
serial port controller receiving a byte. These kinds of systems are used if event handlers
need low latency and the event handlers are short and simple.
Usually these kinds of systems run a simple task in a main loop also, but
this task is not very sensitive to unexpected delays. Sometimes the interrupt handler
will add longer tasks to a queue structure. Later, after the interrupt handler has finished,
these tasks are executed by the main loop. This method brings the system close to a
multitasking kernel with discrete processes.
 Cooperative Multitasking:
A non-preemptive multitasking system is very similar to the simple
control loop scheme, except that the loop is hidden in an API. The programmer defines
a series of tasks, and each task gets its own environment to “run” in. When a task is
idle, it calls an idle routine, usually called “pause”, “wait”, “yield”, “nop” (stands for
no operation), etc.The advantages and disadvantages are very similar to the control
loop, except that adding new software is easier, by simply writing a new task, or adding
to the queue-interpreter.
 Primitive Multitasking:
In this type of system, a low-level piece of code switches between tasks
or threads based on a timer (connected to an interrupt). This is the level at which the
system is generally considered to have an "operating system" kernel. Depending on
how much functionality is required, it introduces more or less of the complexities of
managing multiple tasks running conceptually in parallel.
As any code can potentially damage the data of another task (except in
larger systems using an MMU) programs must be carefully designed and tested, and
access to shared data must be controlled by some synchronization strategy, such as
message queues, semaphores or a non-blocking synchronization scheme.
Because of these complexities, it is common for organizations to buy a
real-time operating system, allowing the application programmers to concentrate on
device functionality rather than operating system services, at least for large systems;
smaller systems often cannot afford the overhead associated with a generic real time
system, due to limitations regarding memory size, performance, and/or battery life.
 Microkernel’s And Exokernels:
A microkernel is a logical step up from a real-time OS. The usual
arrangement is that the operating system kernel allocates memory and switches the CPU
to different threads of execution. User mode processes implement major functions such
as file systems, network interfaces, etc.
In general, micro kernels succeed when the task switching and inter task
communication is fast, and fail when they are slow. Exo kernels communicate
efficiently by normal subroutine calls. The hardware and all the software in the system
are available to, and extensible by application programmers. Based on performance,
functionality, requirement the embedded systems are divided into three categories:
2.3.2 Stand Alone Embedded System:
These systems takes the input in the form of electrical signals from
transducers or commands from human beings such as pressing of a button etc.., process
them and produces desired output. This entire process of taking input, processing it and
giving output is done in standalone mode. Such embedded systems comes under stand
alone embedded systems
Eg: microwave oven, air conditioner etc..
2.3.3 Real-time embedded systems:
Embedded systems which are used to perform a specific task or
operation in a specific time period those systems are called as real-time embedded
systems. There are two types of real-time embedded systems.
 Hard Real-time embedded systems:
These embedded systems follow an absolute dead line time period i.e..,
if the tasking is not done in a particular time period then there is a cause of damage to
the entire equipment.
Eg: consider a system in which we have to open a valve within 30 milliseconds.
If this valve is not opened in 30 ms this may cause damage to the entire equipment. So
in such cases we use embedded systems for doing automatic operations.
 Soft Real Time embedded systems:
Eg: Consider a TV remote control system, if the remote control takes a few
milliseconds delay it will not cause damage either to the TV or to the remote control.
These systems which will not cause damage when they are not operated at considerable
time period those systems comes under soft real-time embedded systems.
2.3.4 Network communication embedded systems:
A wide range network interfacing communication is provided by using
embedded systems.
Eg:
 Consider a web camera that is connected to the computer with internet can be
used to spread communication like sending pictures, images, videos etc.., to another
computer with internet connection throughout anywhere in the world.
 Consider a web camera that is connected at the door lock.
Whenever a person comes near the door, it captures the image of a
person and sends to the desktop of your computer which is connected to internet. This
gives an alerting message with image on to the desktop of your computer, and then you
can open the door lock just by clicking the mouse. Fig: 2.2 show the network
communications in embedded systems.
Fig 2.2: Network communication embedded systems

2.3.5 Different types of processing units:


The central processing unit (c.p.u) can be any one of the following
microprocessor, microcontroller, digital signal processing.
 Among these Microcontroller is of low cost processor and one of the main
advantage of microcontrollers is, the components such as memory, serial
communication interfaces, analog to digital converters etc.., all these are built on a
single chip. The numbers of external components that are connected to it are very less
according to the application.
 Microprocessors are more powerful than microcontrollers. They are used in
major applications with a number of tasking requirements. But the microprocessor
requires many external components like memory, serial communication, hard disk,
input output ports etc.., so the power consumption is also very high when compared to
microcontrollers.
 Digital signal processing is used mainly for the applications that particularly
involved with processing of signals

2.4 APPLICATIONS OF EMBEDDED SYSTEMS:


2.4.1 Consumer applications:
At home we use a number of embedded systems which include microwave oven,
remote control, vcd players, dvd players, camera etc….
Fig2.3: Automatic coffee makes equipment

2.4.2 Office automation:


We use systems like fax machine, modem, printer etc…

Fig2.4: Fax machine Fig2.5: Printing machine

2.4.3. Industrial automation:


Today a lot of industries are using embedded systems for process
control. In industries we design the embedded systems to perform a specific operation
like monitoring temperature, pressure, humidity ,voltage, current etc.., and basing on
these monitored levels we do control other devices, we can send information to a
centralized monitoring station.
Fig2.6: Robot
In critical industries where human presence is avoided there we can use
robots which are programmed to do a specific operation.

2.4.5 Computer networking:


Embedded systems are used as bridges routers etc..

Fig2.7: Computer networking


2.4.6 Tele communications:
Cell phones, web cameras etc.
Fig2.8: Cell Phone Fig2.9: Web camera

1.2 Applications of Embedded System

We are living in the Embedded World. You are surrounded with many
embedded products and your daily life largely depends on the proper functioning of
these gadgets. Television, Radio, CD player of your living room, Washing Machine or
Microwave Oven in your kitchen, Card readers, Access Controllers, Palm devices of
your work space enable you to do many of your tasks very effectively. Apart from all
these, many controllers embedded in your car take care of car operations between the
bumpers and most of the times you tend to ignore all these controllers.

In recent days, you are showered with variety of information about these
embedded controllers in many places. All kinds of magazines and journals regularly
dish out details about latest technologies, new devices; fast applications which make
you believe that your basic survival is controlled by these embedded products. Now
you can agree to the fact that these embedded products have successfully invaded into
our world. You must be wondering about these embedded controllers or systems. What
is this Embedded System?

The computer you use to compose your mails, or create a document or analyze
the database is known as the standard desktop computer. These desktop computers are
manufactured to serve many purposes and applications.

You need to install the relevant software to get the required processing facility.
So, these desktop computers can do many things. In contrast, embedded controllers
carryout a specific work for which they are designed. Most of the time, engineers design
these embedded controllers with a specific goal in mind. So these controllers cannot be
used in any other place.

Theoretically, an embedded controller is a combination of a piece of


microprocessor based hardware and the suitable software to undertake a specific task.

These days designers have many choices in microprocessors/microcontrollers.


Especially, in 8 bit and 32 bit, the available variety really may overwhelm even an
experienced designer. Selecting a right microprocessor may turn out as a most difficult
first step and it is getting complicated as new devices continue to pop-up very often.

In the 8 bit segment, the most popular and used architecture is Intel's 8031. Market
acceptance of this particular family has driven many semiconductor manufacturers to
develop something new based on this particular architecture. Even after 25 years of
existence, semiconductor manufacturers still come out with some kind of device using
this 8031 core.

[1] Military and aerospace software applications

From in-orbit embedded systems to jumbo jets to vital battlefield networks,


designers of mission-critical aerospace and defense systems requiring real-time
performance, scalability, and high-availability facilities consistently turn to the
LynxOS® RTOS and the LynxOS-178 RTOS for software certification to DO-178B.

Rich in system resources and networking services, LynxOS provides an off-the-


shelf software platform with hard real-time response backed by powerful distributed
computing (CORBA), high reliability, software certification, and long-term support
options.

The LynxOS-178 RTOS for software certification, based on the RTCA DO-178B
standard, assists developers in gaining certification for their mission- and safety-critical
systems. Real-time systems programmers get a boost with LynuxWorks' DO-178B
RTOS training courses.

LynxOS-178 is the first DO-178B and EUROCAE/ED-12B certifiable, POSIX®-


compatible RTOS solution.

[2] Communications applications

"Five-nines" availability, CompactPCI hot swap support, and hard real-time


response—LynxOS delivers on these key requirements and more for today's carrier-
class systems. Scalable kernel configurations, distributed computing capabilities,
integrated communications stacks, and fault-management facilities make LynxOS the
ideal choice for companies looking for a single operating system for all embedded
telecommunications applications—from complex central controllers to simple
line/trunk cards.

LynuxWorks Jumpstart for Communications package enables OEMs to rapidly


develop mission-critical communications equipment, with pre-integrated, state-of-the-
art, data networking and porting software components—including source code for easy
customization.

The Lynx Certifiable Stack (LCS) is a secure TCP/IP protocol stack designed
especially for applications where standards certification is required.

[3] Electronics applications and consumer devices

As the number of powerful embedded processors in consumer devices continues to


rise, the BlueCat® Linux® operating system provides a highly reliable and royalty-free
option for systems designers.
And as the wireless appliance revolution rolls on, web-enabled navigation systems,
radios, personal communication devices, phones and PDAs all benefit from the cost-
effective dependability, proven stability and full product life-cycle support
opportunities associated with BlueCat embedded Linux. BlueCat has teamed up with
industry leaders to make it easier to build Linux mobile phones with Java integration.

For makers of low-cost consumer electronic devices who wish to integrate the
LynxOS real-time operating system into their products, we offer special MSRP-based
pricing to reduce royalty fees to a negligible portion of the device's MSRP.

[4] Industrial automation and process control software

Designers of industrial and process control systems know from experience that
LynuxWorks operating systems provide the security and reliability that their industrial
applications require.

From ISO 9001 certification to fault-tolerance, POSIX conformance, secure


partitioning and high availability, we've got it all. Take advantage of our 20 years of
experience.

1.3 Microcontroller Versus Microprocessor

What is the difference between a Microprocessor and Microcontroller? By


microprocessor is meant the general purpose Microprocessors such as Intel's X86
family (8086, 80286, 80386, 80486, and the Pentium) or Motorola's 680X0 family
(68000, 68010, 68020, 68030, 68040, etc). These microprocessors contain no RAM, no
ROM, and no I/O ports on the chip itself. For this reason, they are commonly referred
to as general-purpose Microprocessors.

A system designer using a general-purpose microprocessor such as the Pentium


or the 68040 must add RAM, ROM, I/O ports, and timers externally to make them
functional. Although the addition of external RAM, ROM, and I/O ports makes these
systems bulkier and much more expensive, they have the advantage of versatility such
that the designer can decide on the amount of RAM, ROM and I/O ports needed to fit
the task at hand. This is not the case with Microcontrollers.
A Microcontroller has a CPU (a microprocessor) in addition to a fixed amount
of RAM, ROM, I/O ports, and a timer all on a single chip. In other words, the processor,
the RAM, ROM, I/O ports and the timer are all embedded together on one chip;
therefore, the designer cannot add any external memory, I/O ports, or timer to it. The
fixed amount of on-chip ROM, RAM, and number of I/O ports in Microcontrollers
makes them ideal for many applications in which cost and space are critical.

In many applications, for example a TV remote control, there is no need for the
computing power of a 486 or even an 8086 microprocessor. These applications most
often require some I/O operations to read signals and turn on and off certain bits.

1.4 Microcontrollers For Embedded Systems

In the Literature discussing microprocessors, we often see the term Embedded


System. Microprocessors and Microcontrollers are widely used in embedded system
products. An embedded system product uses a microprocessor (or Microcontroller) to
do one task only. A printer is an example of embedded system since the processor inside
it performs one task only; namely getting the data and printing it. Contrast this with a
Pentium based PC. A PC can be used for any number of applications such as word
processor, print-server, bank teller terminal, Video game, network server, or Internet
terminal. Software for a variety of applications can be loaded and run. Of course the
reason a pc can perform myriad tasks is that it has RAM memory and an operating
system that loads the application software into RAM memory and lets the CPU run it.

In an Embedded system, there is only one application software that is typically


burned into ROM. An x86 PC contains or is connected to various embedded products
such as keyboard, printer, modem, disk controller, sound card, CD-ROM drives, mouse,
and so on. Each one of these peripherals has a Microcontroller inside it that performs
only one task. For example, inside every mouse there is a Microcontroller to perform
the task of finding the mouse position and sending it to the PC. Table 1-1 lists some
embedded products.
ARM ARCHITECTURE: AN OVERVIEW

Introduction
ARM is a 32-bit RISC processor architecture developed by the ARM
Corporation. ARM processors possess a unique combination of features that makes
ARM the most popular embedded architecture today. First, ARM cores are very simple
compared to most other general-purpose processors, which means that they can be
manufactured using a comparatively small number of transistors, leaving plenty of
space on the chip for application specific macro cells. A typical ARM chip can contain
several peripheral controllers, a digital signal processor, and some amount of on-chip
memory, along with an ARM core. Second, both ARM ISA and pipeline design are
aimed at minimizing energy consumption — a critical requirement in mobile embedded
systems. Third, the ARM architecture is highly modular: the only mandatory
component of an ARM processor is the integer pipeline; all other components,
including caches, MMU, floating point and other co-processors are optional, which
gives a lot of flexibility in building application-specific ARM-based processors.
Finally, while being small and low-power, ARM processors provide high performance
for embedded applications.
For example, the PXA255 XScale processor running at 400MHz provides
performance comparable to Pentium 2 at 300MHz, while using fifty times less energy.

ARM vs. RISC


In most respects, ARM is RISC architecture. Like all RISC architectures, the
ARM ISA is a load-store one, that is, instructions that process data operate only on
registers and are separate from instructions that access memory. All ARM instructions
are 32-bit long and most of them have a regular three-operand encoding. Finally, the
ARM architecture features a large register file with 16 general-purpose registers. All of
the above features facilitate pipelining of the ARM architecture. However, the ARM
architecture deviated from the RISC architecture in some respects to improve its
performance. The ARM did not include register windows that were used by original
RISC architectures to reduce complexity.
The ARM architecture introduced an auto-indexing addressing mode, where the
value of an index register is incremented or decremented while a load or store is in
progress. ARM supports multiple register- transfer instructions that allow loading or
storing up to 16 registers at once.

Thumb instruction set extension


The Thumb instruction set was introduced in the fourth version of the ARM
architecture in order to achieve higher code density for embedded applications. Thumb
provides a subset of the most commonly used 32-bit ARM instructions which have been
compressed into 16-bit wide opcodes. On execution, these 16-bit instructions can be
either decompressed to full 32- bit ARM instructions or executed directly using a
dedicated Thumb decoding unit. Although Thumb code uses 40% more instructions
than equivalent 32-bit ARM code, it typically requires 30% less space. Thumb code is
40% slower than ARM code; therefore Thumb is usually used only in non-performance-
critical routines in order to reduce memory and power consumption of the system.

Pipeline Design in ARM

The 3-stage pipeline


It is a classical fetch-decode-execute pipeline, which, in the absence of pipeline
hazards and memory accesses, completes one instruction per cycle. The first pipeline
stage reads an instruction from memory and increments the value of the instruction
address register, which stores the value of the next instruction to be fetched. This value
is also stored in the PC register. The next stage decodes the instruction and prepares
control signals required to execute it on. The third stage does all the actual work: it
reads operands from the register file, performs ALU operations, reads or writes
memory, if necessary, and finally writes back modified register values. In case the
instruction being executed is a data processing instruction, the result generated by the
ALU is written directly to the register file and the execution stage completes in one
cycle.
If it is a load or store instruction, the memory address computed by the ALU is
placed on the address bus and the actual memory access is performed during the second
cycle of the execute stage. This pipeline remained unchanged from the first ARM
processor to the ARM7TDMI core.
Fig. Pipeline architecture in ARM7 and ARM9 cores

The 5 stage pipeline


The 3-stage pipeline has the problem of pipeline stall when a memory read or
writes operation is going on, and the next instruction is to be fetched. The solution to
this problem was to use a separate instruction and data cache. First, to make the pipeline
more balanced, ARM9TDMI moved the register read step to the decode stage, since
instruction decode stage was much shorter than the execute stage. Second, the execute
stage was split into 3 stages. The first stage performs arithmetic computations, the
second stage performs memory accesses (this stage remains idle when executing data
processing instructions) and the third stage writes the results back to the register file.
This results in a much better balanced pipeline, which can run at faster clock rate, but
there is one new complication — the need to forward data among pipeline stages to
resolve data dependencies between stages without stalling the pipeline. The ARM10
and ARM11 came up with the 6-stage and the 8-stage pipeline.
HARDWARE IMPLEMENTATION
Raspberry Pi Board:

Fig. Raspberry Pi 3 Board

BOARD FEATURES
BCM2837 features

A Raspberry Pi 3 board contains BCM2837 controller which supports ARM11


processing unit. This is the Broadcom chip used in the Raspberry Pi 3, and in later
models of the Raspberry Pi 2. The underlying architecture of the BCM2837 is identical
to the BCM2836. The only significant difference is the replacement of the ARMv7 quad
core cluster with a quad-core ARM Cortex A53 (ARMv8) cluster.

The ARM cores run at 1.2GHz, making the device about 50% faster than the Raspberry
Pi 2. The VideocoreIV runs at 400Mhz.

The Raspberry Pi 3 Model B builds upon the features of its predecessors with a new,
faster processor on board to increase its speed. It also features WiFi and Bluetooth Low
Energy capabilities to enhance the functionality and the ability to power more powerful
devices over the USB ports.

 Quad Core 1.2GHz Broadcom BCM2837 64bit CPU


 1GB RAM
 BCM43143 WiFi and Bluetooth Low Energy (BLE) on board
 40-pin Extended GPIO
 4x USB 2 ports
 4 Pole stereo output and composite video port
 Full size HDMI
 CSI camera port for connecting a Raspberry Pi camera
 DSI display port for connecting a Raspberry Pi touchscreen display
 Micro SD port for loading your operating system and storing data
Features:
 Broadcom BCM2837 64bit ARM Cortex-A53 Quad Core Processor SoC running
@ 1.2GHz
 1 GB RAM
 4 x USB2.0 Ports with up to 1.2A output
 Expanded 40-pin GPIO Header
 Video/Audio Out via 4-pole 3.5mm connector, HDMI, CSI camera, or Raw LCD
(DSI)
 Storage: microSD
 10/100 Ethernet (RJ45)
 BCM43143 WiFi on board 802.11n wireless LAN
 Bluetooth Low Energy (BLE) on board (Bluetooth 4.1)
 27 x GPIO
 UART
 I2C bus
 SPI bus with two chip selects
 +3.3V
 +5V
 Ground
 Power Requirements: 5V @ 2.4 A via microUSB power source
 Supports Raspbian, Windows 10 IoT Core, OpenELEC, OSMC, Pidora, Arch
Linux, RISC OS and More.
 Complete compatibility with Raspberry Pi 1 and 2

Raspberry Pi Basic Hardware Setup


• Extra Hardware You Will Need
• The Raspberry Pi board contains a processor and graphics chip, program
memory (RAM) and various interfaces and connectors for external devices.
Some of these devices are essential, others are optional. It operates in the same
way as a standard PC, requiring a keyboard for command entry, a display unit
and a power supply.

Why Extra Hardware You Will Need:


• Since raspberry Pi board operates like PC it requires ‘mass-storage’, but a hard
disk drive of the type found in a typical PC is not really in keeping with the
miniature size of RPi.
• Instead we will use an SD Flash memory card normally used in digital cameras,
configured in such a way to ‘look like’ a hard drive to RPi’s processor.
• RPi will ‘boot’ (load the Operating System into RAM) from this card in the
same way as a PC ‘boots up’ into Windows from its hard disk.
• The following are essential to get started:
• SD card containing Linux Operating system
• USB keyboard
• TV or monitor (with HDMI, DVI, Composite or SCART input)
• Power supply (see Section 1.6 below)
• Video cable to suit the TV or monitor used

Operating System in SD Card


• As the RPi has no internal mass storage or built-in operating system it requires
an SD card preloaded with a version of the Linux Operating System.
• You can create your own preloaded card using any suitable SD card (4GBytes
or above) you have to hand. We suggest you use a new blank card to avoid
arguments over lost pictures.
Keyboard & Mouse
• Most standard USB keyboards and mice will work with the RPi. Wireless
keyboard/mice should also function, and only require a single USB port for an
RF dongle.
Display
• HD TVs and many LCD monitors can be connected using a full-size 'male'
HDMI cable, and with an inexpensive adaptor if DVI is used. HDMI versions
1.3 and 1.4 are supported and a version 1.4 cable is recommended. The RPi
outputs audio and video via HMDI, but does not support HDMI input.
Power Supply
• A standard modern phone charger with a micro USB connector will do,
providing it can supply at least 700mA at +5Vdc.
Cables
• You will need one or more cables to connect up your RPi system.
• Video cable alternatives:
• HDMI-A cable
• HDMI-A cable + DVI adapter
• Composite video cable
• Composite video cable + SCART adaptor
• Audio cable (not needed if you use the HDMI video connection to a TV)
• Ethernet/LAN cable
Internet Connectivity
• This may be via an Ethernet/LAN cable (standard RJ45 connector) or a USB
Wi-Fi adaptor.
• The Rpi V2 Model B Ethernet port is auto-sensing which means that it may be
connected to a router or directly to another computer (without the need for a
crossover cable).

Devices with known issues

1. Interoperability between the Raspberry Pi and USB3.0 hubs. There is an issue with
USB3.0 hubs in conjunction with the use of Full- or Low-speed devices (most mice,
most keyboards) and the Raspberry Pi. A bug in most USB3.0 hub hardware means that
the Raspberry Pi cannot talk to Full- or Low-speed devices connected to a USB3.0 hub.
USB2.0 high-speed devices, including USB2.0 hubs, operate correctly when connected
via a USB3.0 hub. Avoid connecting Low- or Full-speed devices into a USB3.0 hub.
As a workaround, plug a USB2.0 hub into the downstream port of the USB3.0 hub and
connect the low-speed device, or use a USB2.0 hub between the Pi and the USB3.0
hub, then plug low-speed devices into the USB2.0 hub.

2. USB1.1webcams

Old webcams may be Full-speed devices. Because these devices transfer a lot of data
and incur additional software overhead, reliable operation is not guaranteed. As a
workaround, try to use the camera at a lower resolution.

3. Esoteric USB sound cards

Expensive "audiophile" sound cards typically use far more bandwidth than is
necessary to stream audio playback. Reliable operation with 96kHz/192kHz DACs is
not guaranteed.As a workaround, forcing the output stream to be CD quality
(44.1kHz/48kHz 16-bit) will reduce the stream bandwidth to reliable levels.

4. Single-TT USB hubs

USB2.0 and 3.0 hubs have a mechanism for talking to Full- or Low-speed
devices connected to their downstream ports called a Transaction Translator. This
device buffers high-speed requests from the host (i.e. the Pi) and transmits them at Full-
or Low-speed to the downstream device. Two configurations of hub are allowed by the
USB specification: Single-TT (one TT for all ports) and Multi-TT (one TT per port).

Because of the OTG hardware limitations, if too many Full- or Low-speed devices are
plugged into a single-TT hub, unreliable operation of the devices may occur. It is
recommended to use a Multi-TT hub to interface with multiple lower-speed devices.
As a workaround, spread lower-speed devices out between the Pi's own USB port and
the single-TT hub.
High-Definition Multimedia Interface (HDMI):

Short for High-Definition Multimedia Interface, it is the first


industry-supported uncompressed, all-digital audio/video interface. It's a
single cable and user-friendly connector that replaces the maze of cabling
behind the home entertainment center. HDMI provides an interface
between any audio/video source, such as a set-top box, DVD player, or
A/V receiver and an audio and/or video monitor, such as a digital television
(DTV), over a single cable. HDMI supports standard, enhanced, or high-
definition video, plus multi-channel digital audio on a single cable. It
transmits all ATSC HDTV standards and supports 8-channel digital audio
with bandwidth to spare to accommodate future enhancements and
requirements.

HDMI was defined to carry 8 channels, of 192kHz, 24-bit


uncompressed audio, which exceeds all current consumer media formats.
In addition, HDMI can carry any flavor of compressed audio format such
as Dolby or DTS. HDMI has the capacity to support existing high-
definition video formats such as 720p, 1080i, and 1080p, along
with support of enhanced definition formats like 480p, as well as standard
definition formats such as NTSC or PAL.

HDTVs, on the other hand, are digital. They use information in the
form of ones and zeros. This information travels through cables as distinct
electrical pulses. HDTVs have an aspect ratio of 16:9, so the picture is
rectangular. They also have a higher resolution -- current HDTV standards
allow for resolutions of up to 1920 x 1080 pixels. HDTV signals can also
be progressive, meaning that the each frame of the moving image is a
whole picture rather than half of one.
Fig HDMI converter

But there's a catch. In order to take advantage of everything HDMI has to


offer, all of the components of a home theater have to be compatible with
them. Some of the features HDMI touts also don't yet exist in the consumer
marketplace. In addition, there's a limit to how long an HDMI cable can
be, and some users complain that the limit is too short to support
convenient setups.
3. HARDWARE IMPLEMENTATION

Block diagram:

Regulated
power supply

Fingerprint Display
module unit(monitor
)

LED
Keyboard Raspberry pi 3 indication
(Password) board

USB Web Buzzer


Camera

WiFi
Mouse

Email/Web
streaming

3.2 Regulated Power Supply:

A variable regulated power supply, also called a variable bench power


supply, is one where you can continuously adjust the output voltage to your
requirements. Varying the output of the power supply is the recommended way
to test a project after having double checked parts placement against circuit
drawings and the parts placement guide.

This type of regulation is ideal for having a simple variable bench power
supply. Actually this is quite important because one of the first projects a
hobbyist should undertake is the construction of a variable regulated power
supply. While a dedicated supply is quite handy ,it's much handier to have a
variable supply on hand, especially for testing.

Mainly the microcontroller needs 5 volt power supply. To use these parts
we need to build a regulated 5 volt source. Usually you start with an unregulated
power To make a 5 volt power supply, we use a 7805 voltage regulator IC
(Integrated Circuit).

Circuit Features:-

Vout range 1.25V - 37V

Vin - Vout difference 3V - 40V

Operation ambient temperature 0 - 125°C

Output Imax <1.5A

Minimum Load Currentmax 10Ma

Block Diagram
Power supply:
Every electrical and electronic device that we use in our day-to-day life will
require a power supply. In general, we use an AC supply of 230V 50Hz, but this power
has to be changed into the required form with required values or voltage range for
providing power supply to different types of devices. There are various types of power
electronic converters such as step-down converter, step-up converter, voltage stabilizer,
AC to DC converter, DC to DC converter, DC to AC converter, and so on. For example,
consider the microcontrollers that are used frequently for developing many embedded
systems’ based projects and kits used in real-time applications. These microcontrollers
require a 5V DC supply, so the AC 230V needs to be converted into 5V DC using the
step-down converter in their power supply circuit.

Power supply circuit, the name itself indicates that this circuit is used to supply
the power to other electrical and electronic circuits or devices. There are different types
of power supply circuits based on the power they are used to provide for devices. For
example, the micro-controller based circuits, usually the 5V DC regulated power supply
circuits, are used, which can be designed using different techniques for converting the
available 230V AC power to 5V DC power. Generally the converters with output
voltage less than the input voltage are called as step-down converters.

Step Down the Voltage Level


The step-down converters are used for converting the high voltage into low
voltage. The converter with output voltage less than the input voltage is called as a step-
down converter, and the converter with output voltage greater than the input voltage is
called as step-up converter. There are step-up and step-down transformers which are
used to step up or step down the voltage levels. 230V AC is converted into 12V AC
using a step-down transformer. 12V output of stepdown transformer is an RMS value
and its peak value is given by the product of square root of two with RMS value, which
is approximately 17V.

Step-down Transformer

Step-down transformer consists of two windings, namely primary and


secondary windings where primary can be designed using a less-gauge wire with more
number of turns as it is used for carrying low-current high-voltage power, and the
secondary winding using a high-gauge wire with less number of turns as it is used for
carrying high-current low-voltage power. Transformers works on the principle of
Faraday’s laws of electromagnetic induction.

Convert AC to DC
230V AC power is converted into 12V AC (12V RMS value wherein the peak
value is around 17V), but the required power is 5V DC; for this purpose, 17V AC power
must be primarily converted into DC power then it can be stepped down to the 5V DC.
But first and foremost, we must know how to convert AC to DC? AC power can be
converted into DC using one of the power electronic converters called as Rectifier.
There are different types of rectifiers, such as half-wave rectifier, full-wave rectifier
and bridge rectifier. Due to the advantages of the bridge rectifier over the half and full
wave rectifier, the bridge rectifier is frequently used for converting AC to DC.

Bridge rectifier consists of four diodes which are connected in the form a bridge.
We know that the diode is an uncontrolled rectifier which will conduct only forward
bias and will not conduct during the reverse bias. If the diode anode voltage is greater
than the cathode voltage then the diode is said to be in forward bias. During positive
half cycle, diodes D2 and D4 will conduct and during negative half cycle diodes D1
and D3 will conduct. Thus, AC is converted into DC; here the obtained is not a pure
DC as it consists of pulses. Hence, it is called as pulsating DC power. But voltage drop
across the diodes is (2*0.7V) 1.4V; therefore, the peak voltage at the output of this
retifier circuit is 15V (17-1.4) approx.

Smoothing the Ripples using Filter


15V DC can be regulated into 5V DC using a step-down converter, but before
this, it is required to obtain pure DC power. The output of the diode bridge is a DC
consisting of ripples also called as pulsating DC. This pulsating DC can be filtered using
an inductor filter or a capacitor filter or a resistor-capacitor-coupled filter for removing
the ripples. Consider a capacitor filter which is frequently used in most cases for
smoothing.

Filter
We know that a capacitor is an energy storing element. In the circuit, capacitor
stores energy while the input increases from zero to a peak value and, while the supply
voltage decreases from peak value to zero, capacitor starts discharging. This charging
and discharging of the capacitor will make the pulsating DC into pure DC, as shown in
figure.

Regulating 12V DC into 5V DC using Voltage Regulator


15V DC voltage can be stepped down to 5V DC voltage using a DC step-down
converter called as voltage regulator IC7805. The first two digits ‘78’ of IC7805
voltage regulator represent positive series voltage regulators and the last two digits ‘05’
represents the output voltage of the voltage regulator.

The block diagram of IC7805 voltage regulator is shown in the figure consists of
an operating amplifier acting as error amplifier, zener diode used for providing voltage
reference, as shown in the figure.

Zener Diode as Voltage Reference


Transistor as a series pass element used for dissipating extra energy as heat; SOA
protection (Safe Operating Area) and heat sink are used for thermal protection in case
of excessive supply voltages. In general, an IC7805 regulator can withstand voltage
ranging from 7.2V to 35V and gives maximum efficiency of 7.2V voltage and if the
voltage exceeds 7.2V, then there is loss of energy in the form of heat. To protect the
regulator from over heat, thermal protection is provided using a heat sink. Thus, a 5V
DC is obtained from 230V AC power.

Buzzer:
Buzzer is an electronic device commonly used to produce sound. Light weight, simple
construction and low price make it usable in various applications like car/truck
reversing indicator, computers, call bells etc. Piezo buzzer is based on the inverse
principle of piezo electricity discovered in 1880 by Jacques and Pierre Curie. It is the
phenomena of generating electricity when mechanical pressure is applied to certain
materials and the vice versa is also true. Such materials are called piezo electric
materials. Piezo electric materials are either naturally available or manmade.
Piezoceramic is class of manmade material, which poses piezo electric effect and is
widely used to make disc, the heart of piezo buzzer. When subjected to an alternating
electric field they stretch or compress, in accordance with the frequency of the signal
thereby producing sound.

USB Web Camera:

A webcam is a video camera that feeds or streams its image in real time to or through
a computer to a computer network. When "captured" by the computer, the video stream
may be saved, viewed or sent on to other networks via systems such as the internet, and
emailed as an attachment. When sent to a remote location, the video stream may be
saved, viewed or on sent there. Unlike an IP camera (which connects
using Ethernet or Wi-Fi), a webcam is generally connected by a USB cable, or similar
cable, or built into computer hardware, such as laptops.

The term "webcam" (a clipped compound) may also be used in its original sense of
a video camera connected to the Web continuously for an indefinite time, rather than
for a particular session, generally supplying a view for anyone who visits its web
page over the Internet. Some of them, for example, those used as online traffic cameras,
are expensive, rugged professional video cameras.

Finger Print Module:

This is a finger print sensor module with TTL UART interface. The user can store the
finger print data in the module and can configure it in 1:1 or 1: N mode for identifying
the person. The finger print module can directly interface with 3v3 or 5v
Microcontroller. A level converter (like MAX232) is required for interfacing with PC.

Features:
 Power DC : 3.6V-6.0V
 Interface : UART (TTL logical level)/ USB 1.1
 Working current : 100mA
 Peak Current : 150mA
 Matching Mode: 1:1 and 1:N
 Baud rate (9600*N)bps, N=1-12 (default N=6 57600bps)
 Character file size: 256 bytes
 Image acquiring time : <0.5s
 Template size : 512 bytes
 Storage capacity: 256
 Security level : 5 (1, 2, 3, 4, 5(highest))
 FAR : <0.001%
 FRR: <0.1%
 Average searching time: < 0.8s (1:880)
 Window dimension : 18mm*22mm

Working environment:
 Temp: -10?- +40?
 Storage environment Temp: -40?- +85?
 RH: 40%-85% RH: <85%

Pinout:
Dimensions:

Relay:
A relay is an electrically operated switch. Many relays use an electromagnet to
mechanically operate a switch, but other operating principles are also used, such
as solid-state relays. Relays are used where it is necessary to control a circuit by a
separate low-power signal, or where several circuits must be controlled by one signal.
The first relays were used in long distance telegraph circuits as amplifiers: they
repeated the signal coming in from one circuit and re-transmitted it on another circuit.
Relays were used extensively in telephone exchanges and early computers to perform
logical operations.
The heart of a relay is an electromagnet (a coil of wire that becomes a
temporary magnet when electricity flows through it). You can think of a relay as a kind
of electric lever: switch it on with a tiny current and it switches on ("leverages") another
appliance using a much bigger current. Why is that useful? As the name suggests, many
sensors are incredibly sensitive pieces of electronic equipment and produce only small
electric currents. But often we need them to drive bigger pieces of apparatus that use
bigger currents. Relays bridge the gap, making it possible for small currents to activate
larger ones. That means relays can work either as switches (turning things on and off)
or as amplifiers (converting small currents into larger ones).
Here are two simple animations illustrating how relays use one circuit to switch
on a second circuit.

When power flows through the first circuit (1), it activates the electromagnet
(brown), generating a magnetic field (blue) that attracts a contact (red) and activates the
second circuit (2). When the power is switched off, a spring pulls the contact back up
to its original position, switching the second circuit off again.
This is an example of a "normally open" (NO) relay: the contacts in the second
circuit are not connected by default, and switch on only when a current flows through
the magnet. Other relays are "normally closed" (NC; the contacts are connected so a
current flows through them by default) and switch off only when the magnet is
activated, pulling or pushing the contacts apart. Normally open relays are the most
common.
Here's another animation showing how a relay links two circuits together. It's
essentially the same thing drawn in a slightly different way. On the left side, there's an
input circuit powered by a switch or a sensor of some kind. When this circuit is
activated, it feeds current to an electromagnet that pulls a metal switch closed and
activates the second, output circuit (on the right side). The relatively small current in
the input circuit thus activates the larger current in the output circuit:

The input circuit (black loop) is switched off and no current flows through it
until something (either a sensor or a switch closing) turns it on. The output circuit (blue
loop) is also switched off.
When a small current flows in the input circuit, it activates the electromagnet
(shown here as a red coil), which produces a magnetic field all around it.
The energized electromagnet pulls the metal bar in the output circuit toward it,
closing the switch and allowing a much bigger current to flow through the output
circuit.
The output circuit operates a high-current appliance such as a lamp or
an electric motor.
A type of relay that can handle the high power required to directly control an
electric motor or other loads is called a contactor. Solid-state relays control power
circuits with no moving parts, instead using a semiconductor device to perform
switching. Relays with calibrated operating characteristics and sometimes multiple
operating coils are used to protect electrical circuits from overload or faults; in modern
electric power systems these functions are performed by digital instruments still called
"protective relays".
Magnetic latching relays require one pulse of coil power to move their contacts
in one direction, and another, redirected pulse to move them back. Repeated pulses from
the same input have no effect. Magnetic latching relays are useful in applications where
interrupted power should not be able to transition the contacts.
Magnetic latching relays can have either single or dual coils. On a single coil
device, the relay will operate in one direction when power is applied with one polarity,
and will reset when the polarity is reversed. On a dual coil device, when polarized
voltage is applied to the reset coil the contacts will transition. AC controlled magnetic
latch relays have single coils that employ steering diodes to differentiate between
operate and reset commands.
OPERATING SYSTEM
LINUX:

Linux or GNU/Linux is a free and open source software operating system for
computers. The operating system is a collection of the basic instructions that tell the
electronic parts of the computer what to do and how to work. Free and open source
software (FOSS) means that everyone has the freedom to use it, see how it works, and
changes it.

There is a lot of software for Linux, and since Linux is free software it means
that none of the software will put any license restrictions on users. This is one of the
reasons why many people like to use Linux.

A Linux-based system is a modular Unix-like operating system. It derives much


of its basic design from principles established in Unix during the 1970s and 1980s. Such
a system uses a monolithic kernel, the Linux kernel, which handles process control,
networking, and peripheral and file system access. Device drivers are either integrated
directly with the kernel or added as modules loaded while the system is running.

Separate projects that interface with the kernel provide much of the system's
higher-level functionality. The GNU user land is an important part of most Linux-based
systems, providing the most common implementation of the C library, a popular shell,
and many of the common Unix tools which carry out many basic operating system
tasks. The graphical user interface (or GUI) used by most Linux systems is built on top
of an implementation of the X Window System. Some components of an installed Linux
system are:

A boot loader, for example GNU GRUB or LILO. This is a program which is
executed by the computer when it is first turned on, and loads the Linux kernel into
memory.

 An init program. This is the first process launched by the Linux kernel, and is
at the root of the process tree: in other terms, all processes are launched through
init. It starts processes such as system services and login prompts (whether
graphical or in terminal mode).
 Software libraries which contain code which can be used by running processes.
On Linux systems using ELF-format executable files, the dynamic linker which
manages use of dynamic libraries is "ld-linux.so". The most commonly used
software library on Linux systems is the GNU C Library. If the system is set up
for the user to compile software themselves, header files will also be included
to describe the interface of installed libraries.
 User interface programs such as command shells or windowing environments.

User interface

Main article: Desktop Linux

The user interface, also known as the shell, is either a command-line interface
(CLI), a graphical user interface (GUI), or through controls attached to the associated
hardware, which is common for embedded systems. For desktop systems, the default
mode is usually a graphical user interface, although the CLI is available through
terminal emulator windows or on a separate virtual console. Most low-level Linux
components, including the GNU userland, use the CLI exclusively. The CLI is
particularly suited for automation of repetitive or delayed tasks, and provides very
simple inter-process communication.

On desktop systems, the most popular user interfaces are the extensive desktop
environments KDE Plasma Desktop, GNOME, Cinnamon, Unity, LXDE, Pantheon and
Xfce, though a variety of additional user interfaces exist. Most popular user interfaces
are based on the X Window System, often simply called "X". It provides network
transparency and permits a graphical application running on one system to be displayed
on another where a user may interact with the application.

Raspbian OS

What OS we use in our Raspberry Pi board

• For raspberry pi we have to install raspbian ‘OS’


• What is raspbian??
• Raspbian is a free operating system based on Debian optimized for the
Raspberry Pi hardware. An operating system is the set of basic programs and
utilities that make your Raspberry Pi run. However, Raspbian provides more
than a pure OS: it comes with over 35,000 packages, pre-compiled software
bundled in a nice format for easy installation on your Raspberry Pi.
• The initial build of over 35,000 Raspbian packages, optimized for best
performance on the Raspberry Pi, was completed in June of 2012. However,
Raspbian is still under active development with an emphasis on improving the
stability and performance of as many Debian packages as possible.
SOFTWARE TOOLS

QT EMBEDDED FRAME WORK

Qt is a cross-platform application framework that is widely used for


developing application software with a graphical user interface (GUI) (in which cases
Qt is classified as a widget toolkit), and also used for developing non-GUI programs
such as command-line tools and consoles for servers.

Qt uses standard C++ but makes extensive use of a special code generator (called
the Meta Object Compiler, or moc) together with several macros to enrich the language.
Qt can also be used in several other programming languages via language bindings. It
runs on the major desktop platforms and some of the mobile platforms. It has
extensive internationalization support. Non-GUI features include SQL database
access, XML parsing; thread management, network support, and a unified cross-
platform application programming interface (API) for file handling.

Applications of the Qt framework

Qt is available under 3 different licensing, the GNU LGPL v 2.1, GUN GPL v.3.0, and
the Qt Commercial Developer License. The Qt framework is used by other widely used
softwares, such as VLC media player, Virtualbox, KDE, etc. As users today uses a
variety of different platforms, it is important that developers can have a GUI front that
can be run in most OS environment and it is easy to implement, and it interfaces well
with the existing language they are using to build the back end of the software without
or with little overhead. This is where the Qt framework comes into play.

Because it has a wide range of language bindings, including but not limited to C++, C#
and .NET, Java, Perl, PHP, and Python, you can use the Qt framework with most
common programming and scripting languages. The most noticeable ones are the KDE
desktop environment, and the Nokia N900 interface. Since Nokia purchased the
company that developed Qt, their recent product (came out in Dec 2009) N900's user
interface is built using the Qt Creator, which is the IDE for Qt framework. Though the
sell of N900 is not as high as expected, and the touch screen feature was not as smooth
as Apple products, its multi-tasking feature was more advanced compared to the iOS at
that time and since it is open source, there is no “development fee” which makes it
accessible to every programmer. The KDE desktop environment have been around
since 1996, and the founder Matthias Ettrich chose Qt from the start, and still using Qt
to this date.

Technology of Qt framework

As Qt is build on C++, it inherited most of the features of C++, like Objective Oriented
Concepts, Modeling etc, but it also used special code generator, QML which is an easy
to use declarative language. And with integration of the open source WebKit rendering
engine into Qt, it is easier to create web-enabled applications.

Implementation

As Qt is based on C++, it can be easily ported on to different platforms, such as


Embedded Linux, Max OS X, Windows, Linux/X11, Windows CE, Symbian, and
MeeGo. Since it is open source, it is free to use, and with a different user communities,
finding tutorials and the books you need would only take less than a day. The Qt
framework for embedded Linux also comes with its own window system, which writes
directly to the Linux frame buffer, eliminating the need for the X11 windowing system.
The Qt also comes with different IDE other than its own. It has support for Eclipse,
Visual Studio, Netbean. User can choose the IDE or their choice and still use Qt for
their application development.

Design:

Modules

 Modules for general software development

 QtCore – contains core non-GUI classes, including the event loop and
Qt's signal and slot mechanism, platform independent abstractions
for Unicode, threads, mapped files, shared memory, regular
expressions, and user and application settings

 QtGui – contains most GUI classes; including many table, tree and list
classes based on model–view–controller design pattern; also provides
sophisticated 2D canvas widget able to store thousands of items
including ordinary widgets
 QtMultimedia – implements low-level multimedia functionality

 QtNetwork – contains classes for writing UDP and TCP clients and
servers; implementing FTP and HTTP clients, supportingDNS lookups;
network events are integrated with the event loop making it very easy to
develop networked applications

 QtOpenGL – contains classes that enable the use of OpenGL in


rendering 3D graphics

 QtOpenVG – a plugin that provides support for OpenVG painting

 QtScript – an ECMAScript-based scripting engine

 QtScriptTools – provides added components for applications using


QtScript

 QtSql – contains classes that integrate with open-source and proprietary


SQL databases. It includes editable data models for database tables that
can be used with GUI classes. It also includes an implementation
of SQLite

 QtSvg – contains classes for displaying the contents of SVG files. It


supports the static features of SVG 1.2 Tiny

 QtWebKit – provides a WebKit-based layout engine as well as classes


to render and interact with web content

 QtXml – implements SAX and DOM interfaces to Qt's XML parser

 QtXmlPatterns – provides support


for XPath, XQuery, XSLT and XML Schema validation

 Phonon – multimedia API, provides simple multimedia control

 Qt3Support – provides classes that ease porting from Qt 3 to Qt 4

 Qt Declarative module is a declarative framework for building fluid user


interfaces in QML

 Modules for working with Qt's tools


 QtDesigner

 QtUiTools

 QtHelp

 QtTest

 Modules for Unix developers

 QtDBus – a library to perform inter-process communication via D-


Bus protocol

 Modules for Windows developers

 QAxContainer – an extension for accessing ActiveX controls and COM


objects

 QAxServer – a static library to turn a standard Qt binary into a COM


server.

GCC COMPILER

The original GNU C Compiler (GCC) is developed by Richard Stallman, the


founder of the GNU Project. Richard Stallman founded the GNU project in 1984 to
create a complete Unix-like operating system as free software, to promote freedom and
cooperation among computer users and programmers.

GCC, formerly for "GNU C Compiler", has grown over times to support many
languages such as C++, Objective-C, Java, Fortran and Ada. It is now referred to as
"GNU Compiler Collection". The mother site for GCC is http://gcc.gnu.org/.

GCC is a key component of "GNU Toolchain", for developing applications, as


well as operating systems. The GNU Toolchain includes:
GNU Compiler Collection (GCC): a compiler suit that supports many
languages, such as C/C++, Objective-C and Java.

GNU Make: an automation tool for compiling and building applications.

GNU Binutils: a suit of binary utility tools, including linker and assembler.

GNU Debugger (GDB).

GNU Autotools: A build system including Autoconf, Autoheader, Automake


and Libtool.

GNU Bison: a parser generator (similar to lex and yacc).

GCC is portable and run in many operating platforms. GCC (and GNU
Toolchain) is currently available on all Unixes. They are also ported to Windows by
MinGW and Cygwin. GCC is also a cross-compiler, for producing executables on
different platform.

PROTOCOLS

HTTP PROTOCO (HyperText Transfer Protocol)

The WEB Internet (or The Web) is a massive distributed client/server


information system as depicted in the following diagram.

Figure-10.1: HTTP protocol


Many applications are running concurrently over the Web, such as web
browsing/surfing, e-mail, file transfer, audio & video streaming, and so on. In order
for proper communication to take place between the client and the server, these
applications must agree on a specific application-level protocol such as HTTP, FTP,
SMTP, POP, and etc.

HTTP defines methods (sometimes referred to as verbs) to indicate the desired


action to be performed on the identified resource. What this resource represents,
whether pre-existing data or data that is generated dynamically, depends on the
implementation of the server. Often, the resource corresponds to a file or the output of
an executable residing on the server. The HTTP/1.0 specification defined the GET,
POST and HEAD methods and the HTTP/1.1 specification added 5 new methods:
OPTIONS, PUT, DELETE, TRACE and CONNECT. By being specified in these
documents their semantics are well known and can be depended on. Any client can use
any method and the server can be configured to support any combination of methods.
If a method is unknown to an intermediate it will be treated as an unsafe and non-
idempotent method. There is no limit to the number of methods that can be defined and
this allows for future methods to be specified without breaking existing infrastructure.
For example, WebDAV defined 7 new methods and RFC 5789 specified the PATCH
method.

GET

The GET method requests a representation of the specified resource. Requests


using GET should only retrieve data and should have no other effect. (This is also true
of some other HTTP methods.)[1] The W3C has published guidance principles on this
distinction, saying, "Web application design should be informed by the above
principles, but also by the relevant limitations."See safe meth
ods below.

HEAD

The HEAD method asks for a response identical to that of a GET request, but
without the response body. This is useful for retrieving meta-information written in
response headers, without having to transport the entire content.

POST

The POST method requests that the server accept the entity enclosed in the
request as a new subordinate of the web resource identified by the URI. The data Posted
might be, for example, an annotation for existing resources; a message for a bulletin
board, newsgroup, mailing list, or comment thread; a block of data that is the result of
submitting a web form to a data-handling process; or an item to add to a database.

PUT

The PUT method requests that the enclosed entity be stored under the supplied
URI. If the URI refers to an already existing resource, it is modified; if the URI does
not point to an existing resource, then the server can create the resource with that
URI.[15]

DELETE

The DELETE method deletes the specified resource.

TRACE

The TRACE method echoes the received request so that a client can see what
(if any) changes or additions have been made by intermediate servers.

OPTIONS

The OPTIONS method returns the HTTP methods that the server supports for
the specified URL. This can be used to check the functionality of a web server by
requesting '*' instead of a specific resource.
CONNECT

The CONNECT method converts the request connection to a transparent


TCP/IP tunnel, usually to facilitate SSL-encrypted communication (HTTPS) through
an unencrypted HTTP proxy. See HTTP CONNECT tunneling.

PATCH

The PATCH method applies partial modifications to a resource.

All general-purpose HTTP servers are required to implement at least the GET
and HEAD methods, and, whenever possible, also the OPTIONS method.

Safe methods

Some of the methods (for example, HEAD, GET, OPTIONS and TRACE) are,
by convention, defined as safe, which means they are intended only for information
retrieval and should not change the state of the server. In other words, they should not
have side effects, beyond relatively harmless effects such as logging, caching, the
serving of banner advertisements or incrementing a web counter. Making arbitrary GET
requests without regard to the context of the application's state should therefore be
considered safe. However, this is not mandated by the standard, and it is explicitly
acknowledged that it cannot be guaranteed.

By contrast, methods such as POST, PUT, DELETE and PATCH are intended
for actions that may cause side effects either on the server, or external side effects such
as financial transactions or transmission of email. Such methods are therefore not
usually used by conforming web robots or web crawlers; some that do not conform tend
to make requests without regard to context or consequences.

Despite the prescribed safety of GET requests, in practice their handling by the
server is not technically limited in any way. Therefore, careless or deliberate
programming can cause non-trivial changes on the server. This is discouraged, because
it can cause problems for web caching, search engines and other automated agents,
which can make unintended changes on the server.
Idempotent methods and web applications

Methods PUT and DELETE are defined to be idempotent, meaning that


multiple identical requests should have the same effect as a single request (note that
idempotence refers to the state of the system after the request has completed, so while
the action the server takes (e.g. deleting a record) or the response code it returns may
be different on subsequent requests, the system state will be the same every time).
Methods GET, HEAD, OPTIONS and TRACE, being prescribed as safe, should also
be idempotent, as HTTP is a stateless protocol.[1]

In contrast, the POST method is not necessarily idempotent, and therefore


sending an identical POST request multiple times may further affect state or cause
further side effects (such as financial transactions). In some cases this may be desirable,
but in other cases this could be due to an accident, such as when a user does not realize
that their action will result in sending another request, or they did not receive adequate
feedback that their first request was successful. While web browsers may show alert
dialog boxes to warn users in some cases where reloading a page may re-submit a POST
request, it is generally up to the web application to handle cases where a POST request
should not be submitted more than once.

Note that whether a method is idempotent is not enforced by the protocol or web
server. It is perfectly possible to write a web application in which (for example) a
database insert or other non-idempotent action is triggered by a GET or other request.
Ignoring this recommendation, however, may result in undesirable consequences, if a
user agent assumes that repeating the same request is safe when it isn't.

Security

The TRACE method can be used as part of a class of attacks known as cross-
site tracing; for that reason, common security advice is for it to be disabled in the server
configuration. Microsoft IIS supports a proprietary "TRACK" method, which behaves
similarly, and which is likewise recommended to be disabled.
Figure 10.2HyperText Transfer Protocol

HTTP is a stateless protocol. In other words, the current request does not know
what has been done in the previous requests.

HTTP permits negotiating of data type and representation, so as to allow


systems to be built independently of the data being transferred.

Quoting from the RFC2616: "The Hypertext Transfer Protocol (HTTP) is an


application-level protocol for distributed, collaborative, hypermedia information
systems. It is a generic, stateless, protocol which can be used for many tasks beyond its
use for hypertext, such as name servers and distributed object management systems,
through extension of its request methods, error codes and headers."

Browser :

Whenever you issue a URL from your browser to get a web resource using
HTTP, e.g. http://www.test101.com/index.html, the browser turns the URL into a
request message and sends it to the HTTP server. The HTTP server interprets the
request message, and returns you an appropriate response message, which is either the
resource you requested or an error message. This process is illustrated below:
Figure .10.3 Browser

Uniform Resource Locator (URL)

URL is an acronym for Uniform Resource Locator and is a reference (an


address) to a resource on the Internet. A URL has two main components: Protocol
identifier: For the URL http://example.com , the protocol identifier is http . Resource
name: For the URL http://example.com , the resource name is example.com

A URL is the most common type of Uniform Resource Identifier (URI). URIs
are strings of characters used to identify a resource over a network.

URL protocols include HTTP (Hypertext Transfer Protocol)


and HTTPS (HTTP Secure) for web resources, "mailto" for email addresses, "ftp" for
files on a File Transfer Protocol (FTP)server, and telnet for a session to access remote
computers.

 A URL is mainly used to point to a webpage, a component of a webpage


or a program on a website. The resource name consists of:

 A domain name identifying a server or the web service; and

 A program name or a path to the file on the server.

 Optionally, it can also specify:

 A network port to use in making the connection; or


 A specific reference point within a file -- a named anchor in
an HTML (Hypertext Markup Language) file.

For example, http://www.ietf.org/rfc/rfc2396.htm specifies that:

The resource is to be retrieved using the HTTP protocol (which powers the web)
via a web browser;

The resource is reached through the domain name system (DNS) name, which
could be a single server, a load-balanced cluster of servers or a service running on a
system with a different name); and The path to the specific resource is /rfc/rfc2396.htm.

In the following example, the URL would retrieve the file at the point marked
with the named anchor "index": http://www.ietf.org/rfc/rfc2396.htm#index

The following example -- https://delphicoracle.gr:45678/Prohesy?year=2020 --


specifies:

 Use of the encrypted (secure) version of HTTP: HTTPS;

 Use of a nonstandard port (45678) for the communication; and

 Invocation of a program, "Prohesy" with parameter "year" set to value "2020".

Finally, this example -


- ftp://www.somecompany.com/whitepapers/widgets.ps -- specifies use of the FTP
protocol to download a file

A URL (Uniform Resource Locator) is used to uniquely identify a resource over


the web. URL has the following syntax: protocol://hostname:port/path-and-file-name

There are 4 parts in a URL:

1. Protocol: The application-level protocol used by the client and server, e.g.,
HTTP, FTP, and telnet.
2. Hostname: The DNS domain name (e.g., www.test101.com) or IP address (e.g.,
192.128.1.2) of the server.

3. Port: The TCP port number that the server is listening for incoming requests
from the clients.

4. Path-and-file-name: The name and location of the requested resource, under


the server document base directory.

10.1 HTML :

HyperText Markup Language (HTML) is the standard markup language for


creating web pages and web applications. With Cascading Style Sheets (CSS),
and JavaScript, it forms a triad of cornerstone technologies for the World Wide
Web. Web browsers receive HTML documents from a web server or from local storage
and render them into multimedia web pages. HTML describes the structure of a web
page semantically and originally included cues for the appearance of the document.

HTML elements are the building blocks of HTML pages. With HTML
constructs, images and other objects, such as interactive forms may be embedded into
the rendered page. It provides a means to create structured documents by denoting
structural semantics for text such as headings, paragraphs, lists, links, quotes and other
items. HTML elements are delineated by tags, written using angle brackets. Tags such
as <img /> and <input /> introduce content into the page directly. Others such
as <p>...</p> surround and provide information about document text and may include
other tags as sub-elements. Browsers do not display the HTML tags, but use them to
interpret the content of the page.

HTML can embed programs written in a scripting language such


as JavaScript which affect the behavior and content of web pages. Inclusion of CSS
defines the look and layout of content. The World Wide Web Consortium (W3C),
maintainer of both the HTML and the CSS standards, has encouraged the use of CSS
over explicit presentational HTML since 1997.

<!DOCTYPE html>

<html>
<head>

<title>This is a title</title>

</head>

<body>

<p>Hello world!</p>

</body>

</html>

The text between <html> and </html> describes the web page, and the text
between <body> and </body> is the visible page content. The markup text "<title>This
is a title</title>" defines the browser page title.)

The Document Type Declaration <!DOCTYPE html> is for HTML5. If a


declaration is not included, various browsers will revert to "quirks mode" for rendering

The general form of an HTML element is


therefore: <tag attribute1="value1" attribute2="value2">''content''</tag>. Some
HTML elements are defined as empty elements and take the
form <tag attribute1="value1" attribute2="value2">. Empty elements may enclose no
content, for instance, the <br> tag or the inline <img>tag. The name of an HTML
element is the name used in the tags. Note that the end tag's name is preceded by a slash
character, "/", and that in empty elements the end tag is neither required nor allowed. If
attributes are not mentioned, default values are used in each case.

Header of the HTML document:<head>...</head>. The title is included in the


head, for example:

<head>

<title>The Title</title>

</head>

Headings: HTML headings are defined with the <h1> to <h6> tags:
<h1>Heading level 1</h1>

<h2>Heading level 2</h2>

<h3>Heading level 3</h3>

<h4>Heading level 4</h4>

<h5>Heading level 5</h5>

<h6>Heading level 6</h6>

Paragraphs:

<p>Paragraph 1</p> <p>Paragraph 2</p>

Line breaks:<br>. The difference between <br> and <p> is that "br" breaks a
line without altering the semantic structure of the page, whereas "p" sections the page
intoparagraphs. Note also that "br" is an empty element in that, although it may have
attributes, it can take no content and it may not have an end tag.

<p>This <br> is a paragraph <br> with <br> line breaks</p>

This is a link in HTML. To create a link the <a> tag is used. The href= attribute
holds the URL address of the link.

<a href="https://www.wikipedia.org/">A link to Wikipedia!</a>

“OS” INSTALLATION

System Setup and Configurations

In order to use your Raspberry Pi, you will need to install an Operating System (OS)
onto an SD card. An Operating System is the set of basic programs and utilities that
allow your computer to run; Examples include Windows on a PC or OSX on a Mac.
These instructions will guide you through installing a recovery program on your SD
card that will allow you to easily install different OS’s and to recover your card if you
break it.
1. Insert an SD card that is 4GB or greater in size into your computer
2. Format the SD card so that the Pi can read it
a. Windows
i. Download the SD Association's Formatting Tool1 from
https://www.sdcard.org/downloads/formatter_4/eula_windows/
ii. Install and run the Formatting Tool on your machine
iii. Set "FORMAT SIZE ADJUSTMENT" option to "ON" in the "Options" menu
iv. Check that the SD card you inserted matches the one selected by the Tool
v. Click the “Format” button
b. Mac
i. Download the SD Association's Formatting Tool from
https://www.sdcard.org/downloads/formatter_4/eula_mac/
ii. Install and run the Formatting Tool on your machine
iii. Select “Overwrite Format”
iv. Check that the SD card you inserted matches the one selected by the Tool
v. Click the “Format” button
c. Linux
i. We recommend using gparted (or the command line version parted)
ii. Format the entire disk as FAT
3. Download the New out Of Box Software (NOOBS) from:
downloads.raspberrypi.org/noobs
4. Unzip the downloaded file
a. Windows Right clicks on the file and choose “Extract all”
b. Mac Double taps on the file
c. Linux Run unzip [downloaded filename]
5. Copy the extracted files onto the SD card that you just formatted
6. Insert the SD card into your Pi and connect the power supply Your Pi will now boot
into NOOBS and should display a list of operating systems that you can choose to
install. If your display remains blank, you should select the correct output mode for
your display by pressing one of the following number keys on your keyboard;
1. HDMI mode this is the default display mode.
2. HDMI safe mode selects this mode if you are using the HDMI connector and cannot
see anything on screen when the Pi has booted.
3. Composite PAL mode selects either this mode or composite NTSC mode if you are
using the composite RCA video connector
4. Composite NTSC mode
CONCLUSION

The project “BIOMETRIC DOOR UNLOCK SYSTEM USING


MICROCONTROLLER” has been successfully designed and tested. It has been
developed by integrating features of all the hardware components used. Presence of
every module has been reasoned out and placed carefully thus contributing to the best
working of the unit.
Secondly, using highly advanced IC’s and with the help of growing technology
the project has been successfully implemented.

Вам также может понравиться