You are on page 1of 74

Smart IOT Device for Child Safety and Tracking

Abstract: Child safety and tracking is a major concern as the more number of crimes on children
are reported nowadays. With this motivation, a smart IoT device for child safety and tracking is
developed to help the parents to locate and monitor their children. The system is developed using
embedded C and interfaced with temperature, heartbeat and also GPS, GSM & digital camera
modules. The novelty of the work is that the system automatically alerts the parent/caretaker by
sending SMS, when immediate attention is required for the child during emergency. The
parameters such as touch, temperature &heartbeat of the child are used for parametric analysis
and results are plotted for the same. The above system ensures the safety and tracking of
children.
CHAPTER-1
INTRODUCTION

The internet of things (IoT) refers to the set of devices and system that stay interconnected with
real-world sensor and to the internet. During years’ Child safety is under threat and it is very
important to provide a technology-based solution which will help them under panic situations
and monitor them using a smart gadget. The proposed system is equipped with GSM and GPS
modules for sending and receiving call and SMS between safety gadget and parental phone, the
proposed system also consists of Wi-Fi module used to implement IoT and send all the
monitoring parameters to the cloud for android app monitoring on parental phone. Android
application can be used to track the current location of safety gadget using its location
coordinates on parental phone android app and also via SMS request from parent phone to safety
gadget. Panic alert system is used during panic situations and automatic SMS alert and phone
call is triggered from safety gadget to the parental phone seeking for help and also monitored for
plug and unplug from hand, as soon the gadget is unplugged from hand a SMS is triggered to
parental phone and the alert parameter is also updated to the cloud. Heart-beats, temperature is
monitored and the values are updated to cloud continuously for parent app monitoring. Boundary
monitoring system is implemented on safety gadget with the help of BEACON technology, as
soon as the safety gadget moves far away from the binding gadget an alert is provided to parent
on binding gadget. the system is used to monitor the health parameters and also used for location
tracking during necessary situations in safety concern.
Internet of Things (IoT) is a set of systems and devices interconnected with real-world sensors
and actuators to the Internet, according to [11] [27]. It is able to make decisions via detecting the
surrounding environment without human interaction [14] [29]. In this research, IoT is applied to
propose a wearable smart band which helps parents to monitor and get known of their child’s
condition at anywhere and anytime even if they are not by their children side. Via the IoT smart
band, children safety is guaranteed, and crime rate is reduced as immediate actions can be taken
in case the child is in danger. Besides, unlike existing smart band, which is less focusing on child
security aspect, the proposed system emphasizes in getting as much data as possible so that
actual situation can be identified. The use of IoT in this device is motivated by the need of child
security system in Malaysia due to child safety issues resulting from increasing cases on child
related crime. In fact, IoT has been applied in domains such as smart home, smart city, smart
factory, supply chain, retail, agriculture, lifestyle, transportation, emergency, health care,
environment, energy, culture and tourism [4] [32]. However, it is seldom used to monitor child’s
safety in Malaysia. Actually, there is a need to use IoT-based child security system since the
safety of children has become a major concern [14]. In fact, crimes on children keep increasing
despite actions have been taken by the government. Revealed by [9], the overall percentage of
child abasements worldwide is about 80% nowadays, out of which 74% are girls and the
remaining are boys. For every 40 seconds, a child is gone missing in the world. Due to that,
parents are worried for their children and perhaps, a hard challenge for them to guarantee safety
of their children when they are out. To cope with the issue, the system is proposed with these
objectives:  Enable tracking of the child’s location and capturing of data remotely such as
temperature, pulse, respiratory rate, quality of sleep and many more.  To show the child's actual
data with reference values.  Enable sending of notification if the child is out of location or when
the device realizes abnormal conditions/situations.  To trigger the alarm and enable automatic
video recording whenever the emergency button is pressed. Then, emergency notification along
with real-time video will be sent to and display in the parents' mobile apps.  Develop a
prototype of IoT wearable smart band connected to parents’ mobile apps so that they can monitor
the actual condition of children at anytime and anyplace.

CHAPTER-2

INTERNET OF THINGS(IoT)
I. BACKGROUND

The digital space has witnessed major transformations in the last couple of years and as
per industry experts would continue to evolve itself. The latest entrant to the digital space is the
Internet of Things (IoT). IoT can also be defined as interplay for software, telecom and
electronic hardware industry and promises to offer tremendous opportunities for many industries.

With the advent of the Internet of Things (IoT), fed by sensors soon to number in the
trillions, working with intelligent systems in the billions, and involving millions of applications,
the Internet of Things will drive new consumer and business behavior that will demand
increasingly intelligent industry solutions, which, in turn, will drive trillions of dollars in
opportunity for IT industry and even more for the companies that take advantage of the IoT. The
number of Internet-connected devices (12.5 billion) surpassed the number of human beings (7
billion) on the planet in 2011, and by 2020, Internet-connected devices are expected to number
between 26 billion and 50 billion globally. The Indian Government's plan of developing 100
smart cities in the country, for which Rs. 7,060 crores has been allocated in the current budget
could lead to a massive and quick expansion of IoT in the country. Also, the launch of the Digital
India Program of the Government, which aims at transforming India into digital empowered
society and knowledge economy will provide the required impetus for development of the IoT
industry in the country.

The various initiatives proposed to be taken under the Smart City concept and the Digital
India Program to setup Digital Infrastructure in the country would help boost the IoT industry.
IoT will be critical in making these cities smarter.

Some of the key aspects of a smart city will be:

 Smart parking
 Intelligent transport system.
 Tele-care.
 Woman Safety Smart grids.
 Smart urban lighting.
 Waste management.
 Smart city maintenance.
 Digital-signage.
 Water Management
Among other things, IoT can help automate solutions to problems faced by various industries
like agriculture, health services, energy, security, disaster management etc. through remotely
connected devices. IoT offers avenues for telecom operators & system integrators to significantly
boost their revenues and this has resulted in their taking lead in adoption of IoT applications and
services being offered by the technology. Apart from direct IoT applications, the IT industry also
has an opportunity to provide services, analytics and applications related to IoT.

Internet of Things involves three distinct stages:

1. the sensors which collect data (including identification and addressing the sensor/device),

2. an application which collects and analyzes this data for further consolidation and,

3. Decision making and the transmission of data to the decision-making server.

Analytical engines and Big data may be used for the decision making process. Several countries
like US, South Korea, China among others, have taken lead in their preparedness for taking
advantage for IoT. The key stakeholders in the Internet of things initiatives would be the citizens,
the government and the industry. Participation and collaboration of each of the stakeholder at an
appropriate stage is essential. At this juncture, we require policies for promotion of IoT and
selection of e essential domains and then emphasize on building answers for what Data will
Service the Citizens . Internet of Things should clearly strategize with a simple goal of Value Up
and Cost Down models. With industry collaboration, experiences from global forums, learnings
from other countries who are leaders in IoT, active participation of global partners will help us
induce more innovation driven approach. Key to success of Internet of Things would be in
building open platforms for ease of use and low cost, building scalable models and using citizens
as sensors. Data needs to be openly collected and shared between cross functions to bring out
maximum benefits. Participation of start-ups at 4 this stage will help us devise some innovative
methods/ concepts which could be cornerstones for the upcoming overall smart concept .

II. DEFINITION

IoT is a seamless connected network of embedded objects/ devices, with identifiers, in


which M2M communication without any human intervention is possible using standard and
interoperable communication protocols. - Phones, Tablets and PCs are not included as part of
IoT.

III. VISION

“To develop connected and smart IoT based system for our country’s Economy, Society,
Environment and global needs. “

IV.OBJECTIVES

1. To create an IoT industry in India of USD 15 billion by 2020. This will also lead to increase in
the connected devices from around 200 million to over 2.7 billion by 2020. As per Gartner
Report the total revenue generated from IoT industry would be USD 300 billion and the
connected devices would be 27 billion by 2020 globally. It has been assumed that India would
have a share of 5-6% of global IoT industry

2. To undertake capacity development (Human & Technology) for IoT specific skill-sets for
domestic and international markets.
3. To undertake Research & development for all the assisting technologies.

4. To develop IoT products specific to Indian needs in the domains of agriculture, health, water
quality, natural disasters, transportation, security, automobile, supply chain management, smart
cities, Automated metering and monitoring of utilities, waste management, Oil & Gas) etc.

CHAPTER-2

EMBEDDED SYSTEM
2.1What is an Embedded System?
2.1.1 Definition of Embedded System:-
An Embedded System is a combination of computer hardware and software, and perhaps
additional mechanical or other parts, designed to perform a specific function. An embedded
system is a microcontroller-based, software driven, reliable, real-time control system,
autonomous, or human or network interactive, operating on diverse physical variables and in
diverse environments and sold into a competitive and cost conscious market.
An embedded system is not a computer system that is used primarily for processing, not a
software system on PC or UNIX, not a traditional business or scientific application. High-end
embedded & lower end embedded systems. High-end embedded system - Generally 32, 64 Bit
Controllers used with OS. Examples Personal Digital Assistant and Mobile phones etc .Lower
end embedded systems - Generally 8,16 Bit Controllers used with an minimal operating systems
and hardware layout designed for the specific purpose.
Figure 1.1 Basic Embedded System

2.1.2 Eembedded System Design Cycle:

System System
Definition Testing

Rapid Hardware-
Prototyping in-the-

Targeting
Fig1.2. V Diagram

2.1.3. Characteristics of Embedded System:

An embedded system is any computer system hidden inside a product other


than a computer. They will encounter a number of difficulties when writing embedded system
software in addition to those we encounter when we write applications. Throughput – Our
system may need to handle a lot of data in a short period of time. Response–Our system may
need to react to events quickly. Testability–Setting up equipment to test embedded software can
be difficult. Debugability–Without a screen or a keyboard, finding out what the software is doing
wrong (other than not working) is a troublesome problem. Reliability – embedded systems must
be able to handle any situation without human intervention.
Memory space – Memory is limited on embedded systems, and you must make
the software and the data fit into whatever memory exists. Program installation – you will need
special tools to get your software into embedded systems. Power consumption – Portable
systems must run on battery power, and the software in these systems must conserve power.
Processor hogs – computing that requires large amounts of CPU time can complicate the
response problem. Cost – Reducing the cost of the hardware is a concern in many embedded
system projects; software often operates on hardware that is barely adequate for the job.
Embedded systems have a microprocessor/ microcontroller and a memory. Some have a serial
port or a network connection. They usually do not have keyboards, screens or disk drives.

2.1.4 Applications:
 Military and aerospace embedded software applications
 Communication Applications.
 Industrial automation and process control software.
 Mastering the complexity of applications.
 Reduction of product design time.
 Real time processing of ever increasing amounts of data.
2.2Categories of Embedded Systems:
Based on functionality and performance requirements, embedded systems can be categorized as:

 Stand-alone embedded systems


 Real-time systems
 Networked information appliances
 Mobile devices

2.2.1 Stand-alone Embedded Systems:


As the name implies, stand-alone systems work in stand-alone mode. They take inputs,
process them and produce the desired output. The input can be electrical signals from transducers
or commands from a human being such as the pressing of a button. The output can be electrical
signals to drive another system, an LED display or LCD display for displaying of information to
the users. Embedded systems used in process co~1’rol, automobiles, consumer electronic items
etc. fall into this category. In a process control system, the inputs are from sensors that convert a
physical entity such as temperature or pressure into its equivalent electrical signal. A few
embedded systems used at home are shown in figure.

Figure1.3: Standard Embeddes Systems used at Home

2.2.2 Real Time Systems:

Embedded systems in which some specific work has to be done in a specific time period are
called real-time systems. For example: consider a system that has to open a valve within
30milliseconds when the humidity crosses a particular threshold. If the valve is not opened
within 30 milliseconds, a catastrophe may occur. Such systems with strict deadlines are called
hard real-time systems. In some embedded systems, deadlines are imposed but not a

adhering to them once in a while may not lead to a catastrophe. For example, consider a DVD
player. Suppose, you give a command to the DVD player from are mote control, and there is a
delay of a few milliseconds in executing that command. But, this delay won’t lead to a serious
simplification. Such systems are called soft real-time systems.
Fig 1.4.: Hard Real-Time Embedded System

2.2.3 Networked Information Appliances:


Embedded systems that are provided with network interfaces and accessed by networks
such as Local Area Network or the Internet are called networked information appliances. Such
embedded systems are connected to a network, typically a network running TCP/IP
(Transmission Control Protocol! Internet Protocol) protocol suite, such as the Internet or a
company’s Intranet. These systems have emerged in recent years These systems run the protocol
TCP/IP stack and get connected either through PPP or Ethernet to a network and communicate
with other nodes in the network. Here are some examples of such systems:

Fig 1.5.: Networked Information Appliance

2.2.4 Mobile Devices:


Mobile devices such as mobile phones, Personal Digital Assistants, smart phones etc. are
a special category of embedded systems. Though the PDAs do many general purpose tasks, they
need to be designed just like the ‘conventional’ embedded systems.

The limitations of –the mobile devices- memory constraints, small size, lack of good user
interfaces such as full-fledged keyboard and display etc.-are same as those found in the
embedded systems discussed above. Hence, mobile devices are considered as embedded systems.
However, the PDAs are now capable of supporting general-purpose application software such as
word processors, games, etc.

2.2.5 User Interfaces:


Embedded systems range from no user interface at all - dedicated only to one task - to
full user interfaces similar to desktop operating systems in devices such as PDAs.

2.2.6 Simple Systems:


Simple embedded devices use buttons, LEDs, and small character- or digit-only displays,
often with a simple menu system.

2.2.7 In More Complex Systems:


A full graphical screen, with touch sensing or screen-edge buttons provides flexibility
while minimizing space is used. The meaning of the buttons can change with the screen, and
selection involves the natural behavior of pointing at what's desired. Handheld systems often
have a screen with a "joystick button" for a pointing device.

2.3 CPU Platform:


Embedded processors can be broken into two distinct categories: microprocessors and
micro controllers. Micro controllers have built-in peripherals on the chip, reducing size of the
system. There are many different CPU architectures used in embedded designs such as ARM,
MIPS, Cold fire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renes as H8, SH, V850, FR-V,
M32R, Z80, Z8, etc. A common configuration for very-high-volume embedded systems is the
system on a chip an application-specific integrated circuit for which the CPU core was
purchased and added as part of the chip design.

2.4 Peripherals:

Embedded Systems talk with the outside world via peripherals, such as:

 Serial Communication Interfaces


 Synchronous Serial Communication Interface
 Universal Serial Bus
 Networks: Controller Area Network, Lon Works, etc
 Timers: Capture/Compare and Time Processing Units
 Discrete IO: General Purpose Input Output

2.5 Tools:
As for other software, embedded system designers use compilers, assemblers, and debuggers
to develop embedded system software. However, they may also use some more specific tools:

 An in-circuit emulator is a hardware device that replaces or plugs into the


microprocessor, and provides facilities to quickly load and debug experimental code in
the system.
 Utilities to add a checksum to a program, so the embedded system can check if the
program is valid.
 For systems using digital signal processing, developers may use a math workbench such
as Mathematic to simulate the mathematics.
 An embedded system may have its own special language or design tool.
CHAPTER-4

METHODOLOGY

EXISTING SYSTEM:
In these two nodes, one node is child node which contains a Bluetooth module and a GPS
receiver. The parent node consists of a mobile that supports Bluetooth. The location of the child
can be tracked by the GPS technology and can be displayed on the designed map in the mobile
device, through the Bluetooth connection the distance between the child and parent can be
calculated.
DRAWBACKS:
 We can monitor the child within the limited distance
 Only Monitors the location of child
 Not able to monitor the health condition of the child
 No alert in existing system
PROPOSED SYSTEM:
The proposed system consists of a dual alert that is buzzer and message is sent through GSM.
This Project presents a child safety detection system using GPS and GSM modems. The system
can be interconnected with the alarm system and alert the neighbors. In this system we use
temperature sensor, heartbeat sensor, danger button and ESP 32 camera. This detection and
messaging system is composed of a GPS receiver, GPS Receiver gets the location information
from satellites in the form of latitude and longitude. The user receives the information from GSM
which receives the processed information from the Microcontroller. A GSM modem is interfaced
to the Arduino UNO. The GSM modem sends an SMS to the predefined mobile number. When a
child is in danger and in need of self-defense then she can press the switch, which is allotted to
her. By pressing the switch, the entire system will be activated then immediately a SMS will be
sent to concern person with location using GSM and GPS.And, we can monitor the health
parameters of child through the webpage and parents will get alert when any abnormal condition
occurred.
BLOCK DIAGRAM:

POWER SUPPLY

LCD
EMERGENCY
SWITCH

GSM MODEM
GPS ARDUINO UNO
MODULE
WIFI MODULE
PULSE
SENSOR
ESP32 CAMERA

TEMPERATURE
SENSOR BUZZER

HARDWARE REQUIREMENTS:

 POWER SUPPLY
 ARDUINO UNO
 GSM MODEM
 GPS MODULE
 PANIC BUTTON
 BUZZER
 LCD

SOFTWARE REQUIREMENTS:
 ARDUINO IDE
 C-LANGUAGE

CHAPTER-4

HARDWARE IMPLEMENTATION

Arduino Uno Board


Arduino is a single-board microcontroller meant to make the application more accessible which are
interactive objects and its surroundings. The hardware features with an open-source hardware board
designed around an 8-bit Atmel AVR microcontroller or a 32-bit Atmel ARM. Current models consists a
USB interface, 6 analog input pins and 14 digital I/O pins that allows the user to attach various extension
boards.

The Arduino Uno board is a microcontroller based on the ATmega328. It has 14 digital input/output pins
in which 6 can be used as PWM outputs, a 16 MHz ceramic resonator, an ICSP header, a USB
connection, 6 analog inputs, a power jack and a reset button. This contains all the required support needed
for microcontroller. In order to get started, they are simply connected to a computer with a USB cable or
with a AC-to-DC adapter or battery. Arduino Uno Board varies from all other boards and they will not
use the FTDI USB-to-serial driver chip in them. It is featured by the Atmega16U2 (Atmega8U2 up to
version R2) programmed as a USB-to-serial converter.
There are various types of Arduino boards in which many of them were third-party compatible versions.
The most official versions available are the Arduino Uno R3 and the Arduino Nano V3. Both of these run
a 16MHz Atmel ATmega328P 8-bit microcontroller with 32KB of flash RAM 14 digital I/O and six
analogue I/O and the 32KB will not sound like as if running Windows. Arduino projects can be stand-
alone or they can communicate with software on running on a computer. For e.g. Flash, Processing,
Max/MSP). The board is clocked by a 16 MHz ceramic resonator and has a USB connection for power
and communication. You can easily add micro SD/SD card storage for bigger tasks.

Features of the Arduino Uno Board:

 It is an easy USB interface. This allows interface with USB as this is like a serial device.
 The chip on the board plugs straight into your USB port and supports on your computer as a
virtual serial port. The benefit of this setup is that serial communication is an extremely easy
protocol which is time-tested and USB makes connection with modern computers and makes it
comfortable.
 It is easy-to-find the microcontroller brain which is the ATmega328 chip. It has more number of
hardware features like timers, external and internal interrupts, PWM pins and multiple sleep
modes.
 It is an open source design and there is an advantage of being open source is that it has a large
community of people using and troubleshooting it. This makes it easy to help in debugging
projects.
 It is a 16 MHz clock which is fast enough for most applications and does not speeds up the
microcontroller.
 It is very convenient to manage power inside it and it had a feature of built-in voltage regulation.
This can also be powered directly off a USB port without any external power. You can connect an
external power source of upto 12v and this regulates it to both 5v and 3.3v.
 13 digital pins and 6 analog pins. This sort of pins allows you to connect hardware to your
Arduino Uno board externally. These pins are used as a key for extending the computing
capability of the Arduino Uno into the real world. Simply plug your electronic devices
and sensors into the sockets that correspond to each of these pins and you are good to go.
 This has an ICSP connector for bypassing the USB port and interfacing the Arduino directly as a
serial device. This port is necessary to re-bootload your chip if it corrupts and can no longer used
to your computer.
 It has a 32 KB of flash memory for storing your code.
 An on-board LED is attached to digital pin 13 to make fast the debugging of code and to make
the debug process easy.
 Finally, it has a button to reset the program on the chip.

Arduino was created in the year 2005 by two Italian engineers David Cuartielles and Massimo Banzi with
the goal of keeping in mind about students to make them learn how to program the Arduino uno
microcontroller and improve their skills about electronics and use it in the real world.

Arduino uno microcontroller can sense the environment by receiving input from a variety of sensors and
can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller is
programmed using the Arduino programming language (based on Wiring) and the Arduino development
environment (based on Processing).

Programming:

 The Arduino integrated development environment (IDE) is a cross-platform application written in


Java, and is derived from the IDE for the Processing programming language and the Wiring
projects
 The Arduino Uno board can be programmed with the Arduino software.
 Select “Arduino Uno from the Tools > Board menu (according to the microcontroller on your
board).
 The ATmega328 on the Arduino Uno comes preburned with a bootloader that allows you to
upload new code to it without the use of an external hardware programmer. It communicates
using the original STK500 protocol.
 You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit
Serial Programming) header.
 The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is available .
The ATmega16U2/8U2 is loaded with a DFU bootloader, which can be activated by:

 On Rev1 boards: connecting the solder jumper on the back of the board (near the map of Italy)
and then resetting the 8U2.
 On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to ground,
making it easier to put into DFU mode.

You can then use Atmel’s FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) to
load a new firmware. Or you can use the ISP header with an external programmer (overwriting the DFU
bootloader).
Real-Time Applications of Arduino Uno Board
Arduino Based Home Automation System

The project is designed by using Arduino uno board for the development of home automation
system with Bluetooth which is remotely controlled and operated by an Android OS smart
phone. Houses are becoming smarter and well developed by using such kind of advanced
technologies. Modern houses are gradually increasing the way of design by shifting to
centralized control system with remote controlled switches instead of conventional switches.

In order to achieve this, a Bluetooth module is interfaced to the Arduino Uno board at the receiver
end while on the transmitter end, a Graphical User Interface application on the cell phone sends
ON/OFF commands to the receiver where loads are connected. By touching the identified location on
the Graphical User Interface, lamps are used as loads in this project can be turned ON/OFF remotely
by using this technology. The loads are operated by using Arduino Uno board through thyristors
using triacs and OPTO-Isolators.

Arduino based Auto Intensity Control of Street Lights

As the intensity is cannot be controlled by using High Intensity Discharge (HID) lamps power
saving is not possible in street lights with these lamps as the density on roads is decreasing from
peak hours of nights to early morning.

Thus, this system overcomes this problem by controlling the intensity of LED lights on street by
gradually reducing intensity by controlling the voltage applied to these lamps. This system uses
arduino board to produce PWM pulses and it is programmed in such a way that it decreases the
voltage applied to these lamps gradually till late nights and completely shutdowns at morning.

Thus, Arduino development board can sense the environment by receiving input from different
sensors and affects its surroundings by controlling motors, lights and other actuators. The
microcontroller on the board is programmed using the Arduino programming language.

4.2.LCD (Liquid Cristal Display) :

Introduction:

A liquid crystal display (LCD) is a thin, flat display device made up of any number of
color or monochrome pixels arrayed in front of a light source or reflector. Each pixel
consists of a column of liquid crystal molecules suspended between two transparent
electrodes, and two polarizing filters, the axes of polarity of which are perpendicular to
each other. Without the liquid crystals between them, light passing through one would be
blocked by the other. The liquid crystal twists the polarization of light entering one filter
to allow it to pass through the other.

A program must interact with the outside world using input and output devices that
communicate directly with a human being. One of the most common devices attached to
an controller is an LCD display. Some of the most common LCDs connected to the
controllers are 16X1, 16x2 and 20x2 displays. This means 16 characters per line by 1 line
16 characters per line by 2 lines and 20 characters per line by 2 lines, respectively.

Features:

(1) Interface with either 4-bit or 8-bit microprocessor.

(2) Display data RAM

(3) Character generator ROM.

(4).Display data RAM and character generator RAM may be Accessed by the
microprocessor.

(5) Numerous instructions

(6) .Clear Display, Cursor Home, Display ON/OFF, Cursor ON/OFF,


Blink Character, Cursor Shift, Display Shift.

(7). Built-in reset circuit is triggered at power


ON.

(8). Built-in oscillator

Data can be placed at any location on the


LCD. For 16×1 LCD, the address locations
are:

Table 5 : Address locations for a 1x16 line LCD

Even limited to character based modules there is still a wide variety of shapes and sizes
available. Line lengths of 8,16,20,24,32 and 40 characters are all standard, in one, two
and four line versions. Several different LC technologies exists. “supertwist” types, for
example, offer Improved contrast and viewing angle over the older “twisted nematic”
types. Some modules are available with back lighting, so so that they can be viewed in
dimly-lit conditions. The back lighting may be either “electro-luminescent”, requiring a
high voltage inverter circuit, or simple LED illumination.

Electrical Block Diagram:

Fig 4.18 : Electrical Block Diagram


PIN DESCRIPTION:

Most LCDs with 1 controller has 14 Pins and LCDs with 2 controller has 16 Pins (two
pins are extra in both for back-light LED connections).

Fig 4.19: pin diagram of 1x16 lines lcd


Table 6 : Table for LCD

CONTROL LINES:

EN: Line is called "Enable." This control line is used to tell the LCD that you are sending
it data. To send data to the LCD, your program should make sure this line is low (0) and
then set the other two control lines and/or put data on the data bus. When the other lines
are completely ready, bring EN high (1) and wait for the minimum amount of time
required by the LCD datasheet (this varies from LCD to LCD), and end by bringing it
low (0) again.

RS: Line is the "Register Select" line. When RS is low (0), the data is to be treated as a
command or special instruction (such as clear screen, position cursor, etc.). When RS is
high (1), the data being sent is text data which sould be displayed on the screen. For
example, to display the letter "T" on the screen you would set RS high.

RW: Line is the "Read/Write" control line. When RW is low (0), the information on the
data bus is being written to the LCD. When RW is high (1), the program is effectively
querying (or reading) the LCD. Only one instruction ("Get LCD status") is a read
command. All others are write commands, so RW will almost always be low.

Finally, the data bus consists of 4 or 8 lines (depending on the mode of operation selected
by the user). In the case of an 8-bit data bus, the lines are referred to as DB0, DB1, DB2,
DB3, DB4, DB5, DB6, and DB7.

Logic status on control lines:

• E - 0 Access to LCD disabled

- 1 Access to LCD enabled


• R/W - 0 Writing data to LCD

- 1 Reading data from LCD

• RS - 0 Instructions

- 1 Character

Writing data to the LCD:

1) Set R/W bit to low

2) Set RS bit to logic 0 or 1 (instruction or character)

3) Set data to data lines (if it is writing)

4) Set E line to high

5) Set E line to low

Read data from data lines (if it is reading)on LCD:

1) Set R/W bit to high


2) Set RS bit to logic 0 or 1 (instruction or character)

3) Set data to data lines (if it is writing)

4) Set E line to high


5) Set E line to low

Entering Text:

First, a little tip: it is manually a lot easier to enter characters and commands in
hexadecimal rather than binary (although, of course, you will need to translate commands
from binary couple of sub-miniature hexadecimal rotary switches is a simple matter,
although a little bit into hex so that you know which bits you are setting).
4.3.Power Supply:

All digital circuits require regulated power supply. In this article we are going to learn how to get a
regulated positive supply from the mains supply.

Figure 3.2 shows the basic block diagram of a fixed regulated power supply.

3.3.1 TRANSFORMER
Figure 3.3: Structure of Transformer

A transformer consists of two coils also called as “WINDINGS” namely PRIMARY &
SECONDARY.

They are linked together through inductively coupled electrical conductors also called as CORE. A
changing current in the primary causes a change in the Magnetic Field in the core & this in turn
induces an alternating voltage in the secondary coil. If load is applied to the secondary then

an alternating current will flow through the load. If we consider an ideal condition then all the
energy from the primary circuit will be transferred to the secondary circuit through the magnetic
field.

So

The secondary voltage of the transformer depends on the number of turns in the Primary as well as in the
secondary.

Rectifier

A rectifier is a device that converts an AC signal into DC signal. For rectification purpose we use a
diode, a diode is a device that allows current to pass only in one direction i.e. when the anode of the
diode is positive with respect to the cathode also called as forward biased condition & blocks
current in the reversed biased condition.

Rectifier can be classified as follows:

1) Half Wave rectifier.


2) Full wave rectifier.
3) Bridge Rectifier.

3.3.2 FILTER CAPACITOR

Even though half wave & full wave rectifier give DC output, none of them provides a constant
output voltage. For this we require to smoothen the waveform received from the rectifier. This can
be done by using a capacitor at the output of the rectifier this capacitor is also called as “FILTER
CAPACITOR” or “SMOOTHING CAPACITOR” or “RESERVOIR CAPACITOR”. Even after
using this capacitor a small amount of ripple will remain.

We place the Filter Capacitor at the output of the rectifier the capacitor will charge to the peak
voltage during each half cycle then will discharge its stored energy slowly through the load while
the rectified voltage drops to zero, thus trying to keep the voltage as constant as possible.

Figure 3.8: Waveforms of Filter Capacitor

If we go on increasing the value of the filter capacitor then the Ripple will decrease. But then the
costing will increase. The value of the Filter capacitor depends on the current consumed by the
circuit, the frequency of the waveform & the accepted ripple.
Where,

Vr= accepted ripple voltage.( should not be more than 10% of the voltage)

I= current consumed by the circuit in Amperes.

F= frequency of the waveform. A half wave rectifier has only one peak in one cycle so F=25hz

Whereas a full wave rectifier has Two peaks in one cycle so F=100hz.

3.3.3 VOLTAGE REGULATOR

A Voltage regulator is a device which converts varying input voltage into a constant regulated
output voltage. Voltage regulator can be of two types

1) Linear Voltage Regulator


2) Switching Regulators.

Figure 3.9: circuit diagram of Voltage regulator

Circuit diagram:

Fig 3.10. Circuit Diagram of power supply

IC 7805:
7805 is an integrated three-terminal positive fixed linear voltage regulator. It supports an input
voltage of 10 volts to 35 volts and output voltage of 5 volts. It has a current rating of 1 amp
although lower current models are available. Its output voltage is fixed at 5.0V. The 7805 also has a
built-in current limiter as a safety feature. 7805 is manufactured by many companies, including
National Semiconductors and Fairchild Semiconductors.

The 7805 will automatically reduce output current if it gets too hot.The last two digits represent the
voltage; for instance, the 7812 is a 12-volt regulator. The 78xx series of regulators is designed to
work in complement with the 79xx series of negative voltage regulators in systems that provide
both positive and negative regulated voltages, since the 78xx series can't regulate negative voltages
in such a system.

The 7805 & 78 is one of the most common and well-known of the 78xx series regulators, as it's
small component count and medium-power regulated 5V make it useful for powering TTL devices.

IC
SPECIFICATIONS
7805

Vout 5V

5V -
Vein - Vout Difference
20V

0-
Operation Ambient Temp
125°C

Output Imax 1A
Table 3.1: Specifications of IC7805

GSM (Global System for Mobile communications)

Introduction:

GSM (Global System for Mobile communications) is a cellular network, which means that mobile phones
connect to it by searching for cells in the immediate vicinity. GSM networks operate in four different
frequency ranges. Most GSM networks operate in the 900 MHz or 1800 MHz bands. Some countries in
the Americas use the 850 MHz and 1900 MHz bands because the 900 and 1800 MHz frequency bands
were already allocated.

The rarer 400 and 450 MHz frequency bands are assigned in some countries, where these frequencies
were previously used for first-generation systems.

GSM-900 uses 890–915 MHz to send information from the mobile station to the base station (uplink) and
935–960 MHz for the other direction (downlink), providing 124 RF channels (channel numbers 1 to 124)
spaced at 200 kHz. Duplex spacing of 45 MHz is used. In some countries the GSM-900 band has been
extended to cover a larger frequency range. This 'extended GSM', E-GSM, uses 880–915 MHz (uplink)
and 925–960 MHz (downlink), adding 50 channels (channel numbers 975 to 1023 and 0) to the original
GSM-900 band. Time division multiplexing is used to allow eight full-rate or sixteen half-rate speech
channels per radio frequency channel. There are eight radio timeslots (giving eight burst periods) grouped
into what is called a TDMA frame. Half rate channels use alternate frames in the same timeslot. The
channel data rate is 270.833 kbit/s, and the frame duration is 4.615 ms.

GSM Advantages:

GSM also pioneered a low-cost, to the network carrier, alternative to voice calls, the Short t message
service (SMS, also called "text messaging"), which is now supported on other mobile standards as well.
Another advantage is that the standard includes one worldwide Emergency telephone number, 112. This
makes it easier for international travelers to connect to emergency services without knowing the local
emergency number.

The GSM Network:

GSM provides recommendations, not requirements. The GSM specifications define the functions and
interface requirements in detail but do not address the hardware. The GSM network is divided into three
major systems: the switching system (SS), the base station system (BSS), and the operation and support
system (OSS).
The Switching System:

The switching system (SS) is responsible for performing call processing and subscriber-related functions.
The switching system includes the following functional units.

 Home location register (HLR): The HLR is a database used for storage and management of
subscriptions. The HLR is considered the most important database, as it stores permanent data
about subscribers, including a subscriber's service profile, location information, and activity
status. When an individual buys a subscription from one of the PCS operators, he or she is
registered in the HLR of that operator.

 Mobile services switching center (MSC): The MSC performs the telephony switching functions
of the system. It controls calls to and from other telephone and data systems. It also performs
such functions as toll ticketing, network interfacing, common channel signaling, and others.

 Visitor location register (VLR): The VLR is a database that contains temporary information
about subscribers that is needed by the MSC in order to service visiting subscribers. The VLR is
always integrated with the MSC. When a mobile station roams into a new MSC area, the VLR
connected to that MSC will request data about the mobile station from the HLR. Later, if the
mobile station makes a call, the VLR will have the information needed for call setup without
having to interrogate the HLR each time.

 Authentication center (AUC): A unit called the AUC provides authentication and encryption
parameters that verify the user's identity and ensure the confidentiality of each call. The AUC
protects network operators from different types of fraud found in today's cellular world.

 Equipment identity register (EIR): The EIR is a database that contains information about the
identity of mobile equipment that prevents calls from stolen, unauthorized, or defective mobile
stations. The AUC and EIR are implemented as stand-alone nodes or as a combined AUC/EIR
node.

The Base Station System (BSS):

All radio-related functions are performed in the BSS, which consists of base station controllers (BSCs)
and the base transceiver stations (BTSs).
 BSC: The BSC provides all the control functions and physical links between the MSC and BTS.
It is a high-capacity switch that provides functions such as handover, cell configuration data, and
control of radio frequency (RF) power levels in base transceiver stations. A number of BSCs are
served by an MSC.

 BTS: The BTS handles the radio interface to the mobile station. The BTS is the radio equipment
(transceivers and antennas) needed to service each cell in the network. A group of BTSs are
controlled by a BSC.

The Operation and Support System

The operations and maintenance center (OMC) is connected to all equipment in the switching system and
to the BSC. The implementation of OMC is called the operation and support system (OSS). The OSS is
the functional entity from which the network operator monitors and controls the system. The purpose of
OSS is to offer the customer cost-effective support for centralized, regional and local operational and
maintenance activities that are required for a GSM network. An important function of OSS is to provide a
network overview and support the maintenance activities of different operation and maintenance
organizations.

Additional Functional Elements

 Message center (MXE): The MXE is a node that provides integrated voice, fax, and data
messaging. Specifically, the MXE handles short message service, cell broadcast, voice mail, fax
mail, e-mail, and notification.

 Mobile service node (MSN): The MSN is the node that handles the mobile intelligent network
(IN) services.

 Gateway mobile services switching center (GMSC): A gateway is a node used to interconnect
two networks. The gateway is often implemented in an MSC. The MSC is then referred to as the
GMSC.

 GSM inter-working unit (GIWU): The GIWU consists of both hardware and software that
provides an interface to various networks for data communications. Through the GIWU, users
can alternate between speech and data during the same call. The GIWU hardware equipment is
physically located at the MSC/VLR.

GSM Network Areas:


The GSM network is made up of geographic areas. As shown in bellow figure, these areas include cells,
location areas (LAs), MSC/VLR service areas, and public land mobile network (PLMN) areas.

Location Areas:

The cell is the area given radio coverage by one base transceiver station. The GSM network identifies
each cell via the cell global identity (CGI) number assigned to each cell. The location area is a group of
cells. It is the area in which the subscriber is paged. Each LA is served by one or more base station
controllers, yet only by a single MSC Each LA is assigned a location area identity (LAI) number.

MSC/VLR service areas:

An MSC/VLR service area represents the part of the GSM network that is covered by one MSC and
which is reachable, as it is registered in the VLR of the MSC.

PLMN service areas:

The PLMN service area is an area served by one network operator.

GSM Specifications:

Specifications for different personal communication services (PCS) systems vary among the different
PCS networks. Listed below is a description of the specifications and characteristics for GSM.
 Frequency band: The frequency range specified for GSM is 1,850 to 1,990 MHz (mobile station
to base station).

 Duplex distance: The duplex distance is 80 MHz. Duplex distance is the distance between the
uplink and downlink frequencies. A channel has two frequencies, 80 MHz apart.

 Channel separation: The separation between adjacent carrier frequencies. In GSM, this is 200
kHz.

 Modulation: Modulation is the process of sending a signal by changing the characteristics of a


carrier frequency. This is done in GSM via Gaussian minimum shift keying (GMSK).

 Transmission rate: GSM is a digital system with an over-the-air bit rate of 270 kbps.

 Access method: GSM utilizes the time division multiple access (TDMA) concept. TDMA is a
technique in which several different calls may share the same carrier. Each call is assigned a
particular time slot.

 Speech coder: GSM uses linear predictive coding (LPC). The purpose of LPC is to reduce the
bit rate. The LPC provides parameters for a filter that mimics the vocal tract. The signal passes
through this filter, leaving behind a residual signal. Speech is encoded at 13 kbps.

GSM Subscriber Services:

Dual-tone multifrequency (DTMF): DTMF is a tone signaling scheme often used for various control
purposes via the telephone network, such as remote control of an answering machine. GSM supports full-
originating DTMF.

Facsimile group III—GSM supports CCITT Group 3 facsimile. As standard fax machines are designed
to be connected to a telephone using analog signals, a special fax converter connected to the exchange is
used in the GSM system. This enables a GSM–connected fax to communicate with any analog fax in the
network.

Short message services: A convenient facility of the GSM network is the short message service. A
message consisting of a maximum of 160 alphanumeric characters can be sent to or from a mobile station.
This service can be viewed as an advanced form of alphanumeric paging with a number of advantages. If
the subscriber's mobile unit is powered off or has left the coverage area, the message is stored and offered
back to the subscriber when the mobile is powered on or has reentered the coverage area of the network.
This function ensures that the message will be received.
Cell broadcast: A variation of the short message service is the cell broadcast facility. A message of a
maximum of 93 characters can be broadcast to all mobile subscribers in a certain geographic area. Typical
applications include traffic congestion warnings and reports on accidents.

Voice mail: This service is actually an answering machine within the network, which is controlled by the
subscriber. Calls can be forwarded to the subscriber's voice-mail box and the subscriber checks for
messages via a personal security code.

Fax mail: With this service, the subscriber can receive fax messages at any fax machine. The messages
are stored in a service center from which they can be retrieved by the subscriber via a personal security
code to the desired fax number

Supplementary Services:

GSM supports a comprehensive set of supplementary services that can complement and support both
telephony and data services.

Call forwarding: This service gives the subscriber the ability to forward incoming calls to another
number if the called mobile unit is not reachable, if it is busy, if there is no reply, or if call forwarding is
allowed unconditionally.

Barring of outgoing calls: This service makes it possible for a mobile subscriber to prevent all outgoing
calls.

Barring of incoming calls: This function allows the subscriber to prevent incoming calls. The following
two conditions for incoming call barring exist: baring of all incoming calls and barring of incoming calls
when roaming outside the home PLMN.

Advice of charge (AoC): The AoC service provides the mobile subscriber with an estimate of the call
charges. There are two types of AoC information: one that provides the subscriber with an estimate of the
bill and one that can be used for immediate charging purposes. AoC for data calls is provided on the basis
of time measurements.

Call hold: This service enables the subscriber to interrupt an ongoing call and then subsequently
reestablish the call. The call hold service is only applicable to normal telephony.
Call waiting: This service enables the mobile subscriber to be notified of an incoming call during a
conversation. The subscriber can answer, reject, or ignore the incoming call. Call waiting is applicable to
all GSM telecommunications services using a circuit-switched connection.

Multiparty service: The multiparty service enables a mobile subscriber to establish a multiparty
conversation—that is, a simultaneous conversation between three and six subscribers. This service is only
applicable to normal telephony.

Calling line identification presentation/restriction: These services supply the called party with the
integrated services digital network (ISDN) number of the calling party. The restriction service enables the
calling party to restrict the presentation. The restriction overrides the presentation.

Closed user groups (CUGs): CUGs are generally comparable to a PBX. They are a group of subscribers
who are capable of only calling themselves and certain numbers

Main AT commands:

"AT command set for GSM Mobile Equipment” describes the Main AT commands to communicate via a
serial interface with the GSM subsystem of the phone.

AT commands are instructions used to control a modem. AT is the abbreviation of Attention. Every
command line starts with "AT" or "at". That's why modem commands are called AT commands. Many of
the commands that are used to control wired dial-up modems, such as ATD (Dial), ATA (Answer), ATH
(Hook control) and ATO (Return to online data state), are also supported by GSM/GPRS modems and
mobile phones. Besides this common AT command set, GSM/GPRS modems and mobile phones support
an AT command set that is specific to the GSM technology, which includes SMS-related commands like
AT+CMGS (Send SMS message), AT+CMSS (Send SMS message from storage), AT+CMGL (List SMS
messages) and AT+CMGR (Read SMS messages).

Note that the starting "AT" is the prefix that informs the modem about the start of a command line. It is
not part of the AT command name. For example, D is the actual AT command name in ATD and +CMGS
is the actual AT command name in AT+CMGS. However, some books and web sites use them
interchangeably as the name of an AT command.

Here are some of the tasks that can be done using AT commands with a GSM/GPRS modem or mobile
phone:
 Get basic information about the mobile phone or GSM/GPRS modem. For example, name of
manufacturer (AT+CGMI), model number (AT+CGMM), IMEI number (International Mobile
Equipment Identity) (AT+CGSN) and software version (AT+CGMR).
 Get basic information about the subscriber. For example, MSISDN (AT+CNUM) and IMSI
number (International Mobile Subscriber Identity) (AT+CIMI).
 Get the current status of the mobile phone or GSM/GPRS modem. For example, mobile phone
activity status (AT+CPAS), mobile network registration status (AT+CREG), radio signal strength
(AT+CSQ), battery charge level and battery charging status (AT+CBC).
 Establish a data connection or voice connection to a remote modem (ATD, ATA, etc).
 Send and receive fax (ATD, ATA, AT+F*).
 Send (AT+CMGS, AT+CMSS), read (AT+CMGR, AT+CMGL), write (AT+CMGW) or delete
(AT+CMGD) SMS messages and obtain notifications of newly received SMS messages
(AT+CNMI).
 Read (AT+CPBR), write (AT+CPBW) or search (AT+CPBF) phonebook entries.
 Perform security-related tasks, such as opening or closing facility locks (AT+CLCK), checking
whether a facility is locked (AT+CLCK) and changing passwords (AT+CPWD).
(Facility lock examples: SIM lock [a password must be given to the SIM card every time the
mobile phone is switched on] and PH-SIM lock [a certain SIM card is associated with the mobile
phone. To use other SIM cards with the mobile phone, a password must be entered.])
 Control the presentation of result codes / error messages of AT commands. For example, you can
control whether to enable certain error messages (AT+CMEE) and whether error messages
should be displayed in numeric format or verbose format (AT+CMEE=1 or AT+CMEE=2).
 Get or change the configurations of the mobile phone or GSM/GPRS modem. For example,
change the GSM network (AT+COPS), bearer service type (AT+CBST), radio link protocol
parameters (AT+CRLP), SMS center address (AT+CSCA) and storage of SMS messages
(AT+CPMS).
 Save and restore configurations of the mobile phone or GSM/GPRS modem. For example, save
(AT+CSAS) and restore (AT+CRES) settings related to SMS messaging such as the SMS center
address.

3.6.TEMPERATURE SENSOR DS18B20 Temperature Sensor


DS18B20 Temperature Sensor
DS18B20 Temperature Sensor Pinout
CLICK ON IMAGE TO ENLARGE
Pin Configuration
No: Pin Name Description
1 Ground Connect to the ground of the circuit
2 Vcc Powers the Sensor, can be 3.3V or 5V
3 Data This pin gives output the temperature value which can be read using 1-wire method

DS18B20 Sensor Specifications


 Programmable Digital Temperature Sensor
 Communicates using 1-Wire method
 Operating voltage: 3V to 5V
 Temperature Range: -55°C to +125°C
 Accuracy: ±0.5°C
 Output Resolution: 9-bit to 12-bit (programmable)
 Unique 64-bit address enables multiplexing
 Conversion time: 750ms at 12-bit
 Programmable alarm options
 Available as To-92, SOP and even as a waterproof sensor

Note: Read further to know why these parameters are important. Also the DS18B20
datasheet can be found at the bottom of the page

DS18B20 Equivalent Sensors


DS18S20

Where to use DS18B20 Sensor


The DS18B20 is a 1-wire programmable Temperature sensor from maxim integrated. It is widely
used to measure temperature in hard environments like in chemical solutions, mines or soil etc.
The constriction of the sensor is rugged and also can be purchased with a waterproof option
making the mounting process easy. It can measure a wide range of temperature from -55°C to
+125° with a decent accuracy of ±5°C. Each sensor has a unique address and requires only one
pin of the MCU to transfer data so it a very good choice for measuring temperature at multiple
points without compromising much of your digital pins on the microcontroller.

How to use the DS18B20 Sensor


The sensor works with the method of 1-Wire communication. It requires only the data pin
connected to the microcontroller with a pull up resistor and the other two pins are used for power
as shown below.

The pull-up resistor is used to keep the line in high state when the bus is not in use. The
temperature value measured by the sensor will be stored in a 2-byte register inside the sensor.
This data can be read by the using the 1- wire method by sending in a sequence of data. There
are two types of commands that are to be sent to read the values, one is a ROM command and
the other is function command. The address value of each ROM memory along with the
sequence is given in the datasheet below. You have to read through it to understand how to
communicate with the sensor.
If you are planning to interface it with Arduino, then you need not worry about all these. You
can develop the readily available library and use the in-built functions to access the data.

Applications
 Measuring temperature at hard environments
 Liquid temperature measurement
 Applications where temperature has to be measured at multiple points
Pulse Sensor
Pulse Sensor
Pulse Sensor Pinout

Pulse Sensor Features and Specifications

 Biometric Pulse Rate or Heart Rate detecting sensor


 Plug and Play type sensor
 Operating Voltage: +5V or +3.3V
 Current Consumption: 4mA
 Inbuilt Amplification and Noise cancellation circuit.
 Diameter: 0.625”
 Thickness: 0.125” Thick

Warning: This sensor is not medical or FDA approved. It is purely intended for hobby projects/demos

and should not be use for health critical applications.

Pin Configuration

Pin Number Pin Name Wire Colour Description

1 Ground Black Connected to the ground of the system

2 Vcc Red Connect to +5V or +3.3V supply voltage

3 Signal Purple Pulsating output signal.

Note: Complete technical details can be found in the Pulse Sensor Datasheet linked at the bottom of this

page.

How Pulse Sensor Works


The working of the Pulse/Heart beat sensor is very simple. The sensor has two sides, on one side the

LED is placed along with an ambient light sensor and on the other side we have some circuitry. This

circuitry is responsible for the amplification and noise cancellation work. The LED on the front side of

the sensor is placed over a vein in our human body. This can either be your Finger tip or you ear tips, but

it should be placed directly on top of a vein.

Now the LED emits light which will fall on the vein directly. The veins will have blood flow inside them

only when the heart is pumping, so if we monitor the flow of blood we can monitor the heart beats as

well. If the flow of blood is detected then the ambient light sensor will pick up more light since they will

be reflect ted by the blood, this minor change in received light is analysed over time to determine our

heart beats.

How to Use Pulse Sensor

Using the pulse sensor is straight forward, but positioning it in the right way matters. Since all the

electronics on the sensor are directly exposed it is also recommended to cover the sensor with hot glue,

vinyl tape or other non conductive materials. Also it is not recommended to handle these sensors with wet

hands. The flat side of the sensor should be placed on top of the vein and a slight presser should be

applied on top of it, normally clips or Velcro tapes are used to attain this pressure.

To use the sensor simply power it using the Vcc and ground pins, the sensor can operate both at +5V or

3.3V system. Once powered connect the Signal pin to the ADC pin of the microcontroller to monitor the

change in output voltage.

Applications

 Sleep Tracking
 Anxiety monitoring
 Remote patient monitoring/alarm system
 Health bands
 Advanced gaming consoles
GPS Receiver Module

Introduction

GPS receivers are generally used in smartphones, fleet management system, military etc. for tracking or
finding location.

Global Positioning System (GPS) is a satellite-based system that uses satellites and ground stations to
measure and compute its position on Earth.

GPS is also known as Navigation System with Time and Ranging (NAVSTAR) GPS.

GPS receiver needs to receive data from at least 4 satellites for accuracy purpose. GPS receiver does not
transmit any information to the satellites.

This GPS receiver is used in many applications like smartphones, Cabs, Fleet management etc.

How GPS Works


GIF Source: Wikipedia

GPS receiver uses a constellation of satellites and ground stations to calculate accurate location wherever
it is located.

These GPS satellites transmit information signal over radio frequency (1.1 to 1.5 GHz) to the receiver.
With the help of this received information, a ground station or GPS module can compute its position and
time.

How GPS Receiver Calculates its Position and Time

GPS receiver receives information signals from GPS satellites and calculates its distance from satellites.
This is done by measuring the time required for the signal to travel from satellite to the receiver.
GPS Distance Calculation

Where,

Speed = Speed of Radio signal which is approximately equal to the speed of light i.e.

Time = Time required for a signal to travel from the satellite to the receiver.

By subtracting the sent time from the received time, we can determine the travel time.
GPS Signal Time Difference

To determine distance, both the satellite and GPS receiver generate the same pseudocode signal at the
same time.

The satellite transmits the pseudocode; which is received by the GPS receiver.

These two signals are compared and the difference between the signals is the travel time.

Now, if the receiver knows the distance from 3 or more satellites and their location (which is sent by the
satellites), then it can calculate its location by using Trilateration method.

GPS Module
GPS Receiver

GPS receiver module gives output in standard (National Marine Electronics Association) NMEA string
format. It provides output serially on Tx pin with default 9600 Baud rate.

This NMEA string output from GPS receiver contains different parameters separated by commas like
longitude, latitude, altitude, time etc. Each string starts with ‘$’ and ends with carriage return/line feed
sequence.

E.g.

$GPGGA,184237.000,1829.9639,N,07347.6174,E,1,05,2.1,607.1,M,-64.7,M,,0000*7D

$GPGSA,A,3,15,25,18,26,12,,,,,,,,5.3,2.1,4.8*36

$GPGSV,3,1,11,15,47,133,46,25,44,226,45,18,37,238,45,26,34,087,40*72

$GPGSV,3,2,11,12,27,184,45,24,02,164,26,29,58,349,,05,26,034,*7F

$GPGSV,3,3,11,21,25,303,,02,11,071,,22,01,228,*40

$GPRMC,184237.000,A,1829.9639,N,07347.6174,E,0.05,180.19,230514,,,A*64

Pin Description
GPS Receiver Module

VCC: Power Supply 3.3 – 6 V

GND: Ground

TX: Transmit data serially which gives information about location, time etc.

RX: Receive Data serially. It is required when we want to configure GPS module.

Check GPS module


Before Interfacing GPS module with PIC18F4550 microcontroller, we can check the output of GPS
module. From that string, we can extract information like longitude, latitude, time which is helpful to find
location and timing information.

To do this, connect this GPS module to the PC via USB to Serial converter or DB9 connector. Also, it is
necessary to keep antenna of GPS module on proper location.

GPS Serial Interface

1. Now open any serial terminal e.g. Realterm, Hyper terminal, Putty etc. on PC/laptop.

2. Open the PORT with 9600 baud rate.

3. The terminal will show data coming from GPS receiver module.

The output data from GPS receiver module displaying on a serial terminal as follows.

In the above string, the NMEA string starting with “$GPGGA” is most popularly used. It provides us
Time, Longitude, Latitude and Altitude along with directions. This information is helpful to find Time
and Location.
E.g.

$GPGGA,184241.000,1829.9639,N,07347.6174,E,1,05,2.1,607.1,M,-64.7,M,,0000*7C

Name Example Units Description

Message ID $GPGGA GGA Protocol Header

UTC Time 184241.000 hhmmss.sss

Latitude 1829.9639 ddmm.mmmm

N/S Indicator N N=North, S=South

Longitude 07347.6174 dddmm.mmmm

E/W Indicator E E=East, W=West

Position Fix Indicator 1 Fix GPS SPS mode

Satellites Used 05 Range 0 to 12

HDOP 2.1 Horizontal Dilution of Precision

MSL Altitude 607.1 Meters Mean Sea Level

Units M Meters

Geoid Separation 64.7 Meters

Units M Meters

Age of Diff. Corr. - Null field if DGPS is not used

Diff. Ref Station ID 0000

Checksum *7C

Carriage return Line Feed <CR><LF> End of message transmission

BUZZER

A buzzer or beeper is a signaling device, usually electronic, typically used in automobiles,


household appliances such as a microwave oven, or game shows.
It most commonly consists of a number of switches or sensors connected to a control unit that
determines if and which button was pushed or a preset time has lapsed, and usually illuminates a
light on the appropriate button or control panel, and sounds a warning in the form of a
continuous or intermittent buzzing or beeping sound. Initially this device was based on an
electromechanical system which was identical to an electric bell without the metal gong . Often
these units were anchored to a wall or ceiling and used the ceiling or wall as a sounding board.
Another implementation with some AC-connected devices was to implement a circuit to make
the AC current into a noise loud enough to drive a loudspeaker and hook this circuit up to a
cheap 8-ohm speaker. Nowadays, it is more popular to use a ceramic-based piezoelectric sounder
like a Son alert which makes a high-pitched tone. Usually these were hooked up to "driver"
circuits which varied the pitch of the sound or pulsed the sound on and off.

In game shows it is also known as a "lockout system," because when one person signals ("buzzes
in"), all others are locked out from signaling. Several game shows have large buzzer buttons
which are identified as "plungers".

The word "buzzer" comes from the rasping noise that buzzers made when they were
electromechanical devices, operated from stepped-down AC line voltage at 50 or 60 cycles.
Other sounds commonly used to indicate that a button has been pressed are a ring or a beep.

CHAPTER-5

SOFTWARE DESCRIPTION

Arduino Software (IDE)


The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text
editor for writing code, a message area, a text console, a toolbar with buttons for common functions
and a series of menus. It connects to the Arduino and Genuine hardware to upload programs and
communicate with them.

Writing Sketches

Programs written using Arduino Software (IDE) are called sketches. These sketches are written in
the text editor and are saved with the file extension .ino. The editor has features for cutting/pasting
and for searching/replacing text. The message area gives feedback while saving and exporting and
also displays errors. The console displays text output by the Arduino Software (IDE), including
complete error messages and other information. The bottom corner of the window displays the
configured board and serial port. The toolbar buttons allow you to verify and upload programs,
create, open, and save sketches, and open the serial monitor.

NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the extension .pde. It
is possible to open these files with version 1.0, you will be prompted to save the sketch with the .ino
extension on save.

Verify
Checks your code for errors compiling it.

Upload
Compiles your code and uploads it to the configured board. See uploading below
for details.

Note: If you are using an external programmer with your board, you can hold
down the "shift" key on your computer when using this icon. The text will change
to "Upload using Programmer"

New
Creates a new sketch.
Open
Presents a menu of all the sketches in your sketchbook. Clicking one will open it
within the current window overwriting its content.

Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch
late in the list, use the File | Sketchbookmenu instead.

Save
Saves your sketch.

Serial Monitor
Opens the serial monitor.

Additional commands are found within the five menus: File, Edit, Sketch, Tools, Help. The menus
are context sensitive, which means only those items relevant to the work currently being carried out
are available.

File

 New
Creates a new instance of the editor, with the bare minimum structure of a sketch already in place.
 Open
Allows to load a sketch file browsing through the computer drives and folders.
 Open Recent
Provides a short list of the most recent sketches, ready to be opened.
 Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on any name opens the
corresponding sketch in a new editor instance.
 Examples
Any example provided by the Arduino Software (IDE) or library shows up in this menu item. All
the examples are structured in a tree that allows easy access by topic or library.
 Close
Closes the instance of the Arduino Software from which it is clicked.
 Save
Saves the sketch with the current name. If the file hasn't been named before, a name will be
provided in a "Save as.." window.
 Save as...
Allows to save the current sketch with a different name.
 Page Setup
It shows the Page Setup window for printing.
 Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
 Preferences
Opens the Preferences window where some settings of the IDE may be customized, as the language
of the IDE interface.
 Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be automatically
reopened the next time you start the IDE.

Edit

 Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go forward with
Redo.
 Cut
Removes the selected text from the editor and places it into the clipboard.

 Copy
Duplicates the selected text in the editor and places it into the clipboard.
 Copy for Forum
Copies the code of your sketch to the clipboard in a form suitable for posting to the forum, complete
with syntax coloring.
 Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for embedding in web pages.
 Paste
Puts the contents of the clipboard at the cursor position, in the editor.
 Select All
Selects and highlights the whole content of the editor.
 Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
 Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text one space on the
right or eliminating a space at the beginning.
 Find
Opens the Find and Replace window where you can specify text to search inside the current sketch
according to several options.
 Find Next
Highlights the next occurrence - if any - of the string specified as the search item in the Find
window, relative to the cursor position.
 Find Previous
Highlights the previous occurrence - if any - of the string specified as the search item in the Find
window relative to the cursor position.

Sketch

 Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and variables in
the console area.
 Upload
Compiles and loads the binary file onto the configured board through the configured Port.

 Upload Using Programmer


This will overwrite the bootloader on the board; you will need to use Tools > Burn Bootloader to
restore it and be able to Upload to USB serial port again. However, it allows you to use the full
capacity of the Flash memory for your sketch. Please note that this command will NOT burn the
fuses. To do so a Tools -> Burn Bootloader command must be executed.
 Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
 Show Sketch Folder
Opens the current sketch folder.
 Include Library
Adds a library to your sketch by inserting #include statements at the start of your code. For more
details, see libraries below. Additionally, from this menu item you can access the Library Manager
and import new libraries from .zip files.
 Add File...
Adds a source file to the sketch (it will be copied from its current location). The new file appears in
a new tab in the sketch window. Files can be removed from the sketch using the tab menu
accessible clicking on the small triangle icon below the serial monitor one on the right side o the
toolbar.

Tools

 Auto Format
This formats your code nicely: i.e. indents it so that opening and closing curly braces line up, and
that the statements inside curly braces are indented more.
 Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same directory as
the sketch.
 Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other operating systems
char maps.
 Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any connected board on
the currently selected Port. This usually resets the board, if the board supports Reset over serial port
opening.

 Board
Select the board that you're using. See below for descriptions of the various boards.
 Port
This menu contains all the serial devices (real or virtual) on your machine. It should automatically
refresh every time you open the top-level tools menu.
 Programmer
For selecting a harware programmer when programming a board or chip and not using the onboard
USB-serial connection. Normally you won't need this, but if you're burning a bootloader to a new
microcontroller, you will use this.
 Burn Bootloader
The items in this menu allow you to burn a bootloader onto the microcontroller on
an Arduino board. This is not required for normal use of an Arduino or Genuino board but is useful
if you purchase a new ATmega microcontroller (which normally come without a bootloader).
Ensure that you've selected the correct board from the Boards menu before burning the bootloader
on the target board. This command also set the right fuses.

Help

Here you find easy access to a number of documents that come with the Arduino Software (IDE).
You have access to Getting Started, Reference, this guide to the IDE and other documents locally,
without an internet connection. The documents are a local copy of the online ones and may link
back to our online website.

 Find in Reference
This is the only interactive function of the Help menu: it directly selects the relevant page in the
local copy of the Reference for the function or command under the cursor.

Sketchbook

The Arduino Software (IDE) uses the concept of a sketchbook: a standard place to store your
programs (or sketches). The sketches in your sketchbook can be opened from the File >
Sketchbook menu or from the Open button on the toolbar. The first time you run
the Arduino software, it will automatically create a directory for your sketchbook. You can view or
change the location of the sketchbook location from with the Preferences dialog.
Beginning with version 1.0, files are saved with a .ino file extension. Previous versions use the .pde
extension. You may still open .pde named files in version 1.0 and later, the software will
automatically rename the extension to .ino.

Tabs, Multiple Files, and Compilation

Allows you to manage sketches with more than one file (each of which appears in its own tab).
These can be normal Arduino code files (no visible extension), C files (.c extension), C++ files
(.cpp), or header files (.h).

Uploading

Before uploading your sketch, you need to select the correct items from the Tools >
Board and Tools > Port menus. The boards are described below. On the Mac, the serial port is
probably something like /dev/tty.usbmodem241 (for an Uno or Mega2560 or Leonardo)
or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB board),
or /dev/tty.USA19QW1b1P1.1 (for a serial board connected with a Keyspan USB-to-Serial
adapter). On Windows, it's probably COM1 or COM2 (for a serial board)
or COM4, COM5, COM7, or higher (for a USB board) - to find out, you look for USB serial device
in the ports section of the Windows Device Manager. On Linux, it should
be /dev/ttyACMx , /dev/ttyUSBx or similar. Once you've selected the correct serial port and board,
press the upload button in the toolbar or select the Upload item from the Sketch menu.
Current Arduino boards will reset automatically and begin the upload. With older boards (pre-
Diecimila) that lack auto-reset, you'll need to press the reset button on the board just before starting
the upload. On most boards, you'll see the RX and TX LEDs blink as the sketch is uploaded.
The Arduino Software (IDE) will display a message when the upload is complete, or show an error.

When you upload a sketch, you're using the Arduino bootloader, a small program that has been
loaded on to the microcontroller on your board. It allows you to upload code without using any
additional hardware. The bootloader is active for a few seconds when the board resets; then it starts
whichever sketch was most recently uploaded to the microcontroller. The bootloader will blink the
on-board (pin 13) LED when it starts (i.e. when the board resets).

Libraries
Libraries provide extra functionality for use in sketches, e.g. working with hardware or
manipulating data. To use a library in a sketch, select it from the Sketch > Import
Library menu. This will insert one or more #include statements at the top of the sketch and
compile the library with your sketch. Because libraries are uploaded to the board with your
sketch, they increase the amount of space it takes up. If a sketch no longer needs a library,
simply delete its #includestatements from the top of your code.

There is a list of libraries in the reference. Some libraries are included with the Arduino software.
Others can be downloaded from a variety of sources or through the Library Manager. Starting with
version 1.0.5 of the IDE, you do can import a library from a zip file and use it in an open sketch.
See these instructions for installing a third-party library.

To write your own library, see this tutorial.

Serial Monitor

Displays serial data being sent from the Arduino or Genuino board (USB or serial board). To send
data to the board, enter text and click on the "send" button or press enter. Choose the baud rate from
the drop-down that matches the rate passed to Serial.begin in your sketch. Note that on Windows,
Mac or Linux, the Arduino or Genuino board will reset (rerun your sketch execution to the
beginning) when you connect with the serial monitor.You can also talk to the board from
Processing, Flash, MaxMSP, etc (see the interfacing page for details).

Preferences

Some preferences can be set in the preferences dialog (found under the Arduino menu on the Mac,
or File on Windows and Linux). The rest can be found in the preferences file, whose location is
shown in the preference dialog.

Language Support
Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+ different languages.
By default, the IDE loads in the language selected by your operating system. (Note: on Windows
and possibly Linux, this is determined by the locale setting which controls currency and date
formats, not by the language the operating system is displayed in.)

If you would like to change the language manually, start the Arduino Software (IDE) and open
the Preferences window. Next to the Editor Language there is a dropdown menu of currently
supported languages. Select your preferred language from the menu, and restart the software to use
the selected language. If your operating system language is not supported, the Arduino Software
(IDE) will default to English.

You can return the software to its default setting of selecting its language based on your operating
system by selecting System Default from the Editor Language drop-down. This setting will take
effect when you restart the Arduino Software (IDE). Similarly, after changing your operating
system's settings, you must restart the Arduino Software (IDE) to update it to the new default
language.

Boards
The board selection has two effects: it sets the parameters (e.g. CPU speed and baud rate) used
when compiling and uploading sketches; and sets and the file and fuse settings used by the burn
bootloader command. Some of the board definitions differ only in the latter, so even if you've been
uploading successfully with a particular selection you'll want to check it before burning the
bootloader. You can find a comparison table between the various boards here.

Arduino Software (IDE) includes the built in support for the boards in the following list, all based
on the AVR Core. The Boards Manager included in the standard installation allows to add support
for the growing number of new boards based on different cores like Arduino Due, Arduino Zero,
Edison, Galileo and so on.

Arduino IDE: Initial Setup

Download Arduino Integrated Design Environment (IDE) here (Most recent version: 1.6.5):
https://www.arduino.cc/en/Main/Software This is the Arduino IDE once it’s been opened. It opens into a
blank sketch where you can start programming immediately. First, we should configure the board and
port settings to allow us to upload code. Connect your Arduino board to the PC via the USB cable.
IDE: Board Setup

You have to tell the Arduino IDE what board you are uploading to. Select the Toolspulldown menu and
go to Board.This list is populated by default with the currently available Arduino Boards that are
developed by Arduino. If you are using an Uno or an Uno-Compatible Clone (ex. Funduino, SainSmart,
IEIK, etc.), select Arduino Uno. If you are using another board/clone, select that board.
IDE: COM Port Setup

If you downloaded the Arduino IDE before plugging in your Arduino board, when you plugged in the
board, the USB drivers should have installed automatically. The most recent Arduino IDE should
recognize connected boards and label them with which COM port they are using. Select the Tools
pulldown menu and then Port.Here it should list all open COM ports, and if there is a recognized Arduino
Board, it will also give it’s name. Select the Arduino board that you have connected to the PC. If the setup
was successful, in the bottom right of the Arduino IDE, you should see the board type and COM number
of the board you plan to program. Note: the Arduino Uno occupies the next available COM port; it will
not always be COM3.
At this point, your board should be set up for programming, and you can begin writing and uploading
code.

Testing Your Settings: Uploading Blink

One common procedure to test whether the board you are using is properly set up is to upload the “Blink”
sketch. This sketch is included with all Arduino IDE releases and can be accessed by the Filepull-down
menu and going to Examples, 01.Basics, and then select Blink. Standard Arduino Boards include a
surface-mounted LED labeled “L” or “LED” next to the “RX” and “TX” LEDs, that is connected to
digital pin 13. This sketch will blink the LED at a regular interval, and is an easy way to confirm if your
board is set up properly and you were successful in uploading code. Open the “Blink” sketch and press
the “Upload” button in the upper-left corner to upload “Blink” to the board.
Guide Summary:

1. Download and install Arduino IDE (https://www.arduino.cc/en/Main/Software)

2. Plug in your Arduino Board

3. Select the proper board in the IDE (Tools>Boards>Arduino Uno)

4. Select the proper COM port (Tools>Port>COMx (Arduino Uno))

5. Open the “Blink” sketch (File>Examples>Basics>01.Blink)

6. Press the Upload button to upload the program to the board

7. Confirm that your board is working as expected by observing LED

Troubleshooting Uploading Errors:

Arduino has lots of community support and documentation. Your best bet when running into unexpected
problems is to search online for help. You should be able to find a forum where someone had the same
problem you are having, and someone helped them fix it. If you don’t find results, try modifying your
search, or post on the Arduino forums.

● My board isn’t listed under devices and is not recognized by IDE:

○ Most likely, this means that the ATMega328p chip is not programmed with the Arduino firmware. If
you have a separate working Uno available, you can program the unprogrammed chip using this guide
and a few jumper cables: https://www.arduino.cc/en/Tutorial/ArduinoISP

○ If you don’t have a separate Arduino available, let me know and I can use an Atmel Programmer to
upload the firmware.

○ There may be hardware damage if you had the board plugged into USB and external power at the same
time. You may have to replace the chip if this is the case.

● Error Message: avrdude: stk500_recv(): programmer is not responding

○ Double-check that you are using the correct COM port.

○ Make sure that your Arduino Board is plugged into the computer.

● The IDE says “Uploading…” after pressing the upload button, but nothing is happening.

○ Double-check that you have the correct board selected in the Tools menu.

○ Depending on the size of your program, it may take a few seconds to upload. If you feel like it is taking
too long, it may be encountering an error and you can try unplugging and plugging in the Arduino board.

CHAPTER-6

RESULTS
ADD KIT PHOTOS

CHAPTER-7

CONCLUSION
REFERENCES

[1] Arun Francis G, Janani I, Kavya S and Ramiyadevi K. Child Safety Wearable Device Using
Raspberry Pi. Waffen-UND Kostumkunde Journal. 11(2). 2020. pp.135-137.
[2] A. Helen, Kalaiselvi V.K.G, M. Fathima Fathila and R. Rijwana. A smart watch for women
security based on iot concept ‘watch me’, International Conference on Computing and
Communications Technologies (ICCCT). 2017.
[3] Alexey Vinel Feng Xia and Laurence T. Yang and Lizhe Wang. Internet of Things.
International Journal of Communication Systems. 25(9). 2012. pp.1101-1102. DOI:
https://doi.org/10.1002/dac.2417
[4] Anjum Khairi, M.U. Farooq, Muhammad Waseem, Sadia Mazhar and Talha Kamal, M.U.
Farooq, Muhammad Waseem and Sadia Mazhar. A Review on Internet of Things (IoT).
International Journal of Computer Applications. 113(1). 2015. pp.1-7. DOI:
https;//doi.org/10.5120/19787-1571
[5] Arun K Mani1, M.Gokilavani, Shreevani D, Samra Said and Unnikrishnan K N. A Review:
IoT And Cloud Computing For Future Internet. International Research Journal of Engineering
and Technology (IRJET). 6(5). 2019. pp.1098-1102.
[6] AbdelRahman H. Hussein. Internet of Things (IOT): Research Challenges and Future
Applications. (IJACSA) International Journal of Advanced Computer Science and Applications.
10(6). 2019. pp77-82.
[7] Chamandeep Kaur. The Cloud Computing and Internet of Things (IoT). International Journal
of Scientific Research in Science, Engineering and Technology. 7(1). 2020. pp.19-22. DOI:
https://doi.org/10.32628/IJSRSET196657
[8] Cohen D and Crabtree B. RWJF - Qualitative Research Guidelines Project | Semi-Structured
Interviews | Semi-Structured Interviews. Qualres.org 2008.
[9] D. Ezhilarasi, N. Senthamilarasi Bharathi and R.B. Sangavi. Child Safety Monitoring
System Based on IoT. Journal of Physics: Conference Series. 1362(1). 2019. pp.1742-6596.
[10] Dr. J. Jegathesh Amalraj, J. Jereena John and S. Banumathi. IOT Sensors And
Applications: A Survey. International Journal Of Scientific & Technology Research. 8(8). 2019.
pp.998-1003.
[11] Dr. R. Nagaraja and P. Elamathi. Smart Children Safety Using Wearable Device - A
Review. International Journal of Advanced Research in Electrical, Electronics and
Instrumentation Engineering. 8(11). 2019. pp.2278-8875.
[12] Dr. R. Rajesh and Sureshkumar P.H. The Analysis of Different Types of IoT Sensors and
security trend as Quantum chip for Smart City Management. IOSR Journal of Business and
Management (IOSR-JBM). 20(1). 2018. pp.55-60. DOI: https://doi.org/10.9790/487X-
2001045560 [13] Dissertation.laerd.com. Quota Sampling | Lærd Dissertation. 2021.
[14] E Kusuma Kumari, K N H Srinivas, M Nandini Priyanka, S Murugan and T D S
Sarveswararao. Smart IOT Device for Child Safety and Tracking. International Journal of
Innovative Technology and Exploring Engineering (IJITEE). 8(8). 2019. pp.2278-3075.
[15] Fadi Muheidat, Lo’ai Tawalbeh, Mais Tawalbeh and Muhannad Quwaider. IoT Privacy and
Security: Challenges and Solutions. Applied Sciences. 10(12). 2020. p.4102. DOI:
https://doi.org/10.3390/app10124102

You might also like