0% found this document useful (0 votes)
97 views51 pages

Iot Report0.1

The document describes an IoT based GPS location tracker project submitted by two students. The project involves developing a GPS tracking device using a NodeMCU microcontroller and NEO-6M GPS module. It will also create a local web server to display the tracked location details and include a link to view the location on Google Maps. The goal is to build a low-cost and useful tool for parents to remotely monitor the locations of their children.

Uploaded by

Srikumar T B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views51 pages

Iot Report0.1

The document describes an IoT based GPS location tracker project submitted by two students. The project involves developing a GPS tracking device using a NodeMCU microcontroller and NEO-6M GPS module. It will also create a local web server to display the tracked location details and include a link to view the location on Google Maps. The goal is to build a low-cost and useful tool for parents to remotely monitor the locations of their children.

Uploaded by

Srikumar T B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

IOT BASED GPS LOCATION

TRACKER

A MINI PROJECT REPORT

Submitted by

VEERA SARIKA TK (910620103083)

SOWMIYA M (910620103068)

in partial fulfillment for the award of the

degree of

BACHELOR OF ENGINEERING

IN

ELECTRONICS AND COMMUNICATION ENGINEERING

K.L.N. COLLEGE OF ENGINEERING,


POTTAPALAYAM An Autonomous
Institution

May 2023

I.
I
K.L.N. COLLEGE OF ENGINEERING, POTTAPALAYAM

BONAFIDE CERTIFICATE

Certified that this report titled “ IOT BASED GPS LOCATION TRACKER ”, is the
Bonafide work of “VEERA SARIKA TK” (910620103083) And “SOWMIYA M”
(910620103068) who carried out the project work under my supervision.

SIGNATURE SIGNATURE
Dr .V. KEJALAKSHMI, M.E., Ph.D., Mrs.T. SUGUMARI, M.E.,
Professor Assistant Professor
Head of the Depratment Supervisor
Department of Electronics and Department of Electronics and
Communication Engineering Communication Engineering
K.L.N.College of Engineering K.L.N.College of Engineering
Pottapalayam, Pottapalayam,
Sivagangai-630311 Sivagangai-630311

Submitted for the project viva-voce held on

INTERNAL EXAMINER EXTERNAL EXAMINER

I.
II

I.
ACKNOWLEDGEMENT

We extend our gratitude to the Founder, Late Thiru. K.L.N. KRISHNAN,


K.L.N. College of Engineering and Management Membersfor making us
march towards the glory of success. We express our sincere thanks to our
respected Principal Dr. A.V.RAM PRASAD, M.E, Ph.D., MISTE.FIE, for all
the facilities offered.

We would like to express our profound gratitude and heartfelt thanks to

Dr .V. KEJA LAKSHMI, M.E., Ph.D., Head of the Department of


Electronics and Communication Engineering, who motivated and encouraged us
to do this outrival project for this academic year.

Our delightful and sincere thanks to our respected Project Coordinator


Ms,T.SUGUMARI M.E Assistant Professor, whose support was inevitable
during the entire period of our work.

We thank our teaching staffs for sharing their knowledge and view to
enhance our project. We also thank our non-teaching staff for extending their
technical support to us. I thank my parents for giving me such a wonderful life
and my friends for their friendly encouragement throughout the project.

Finally, we thank the Almighty for giving the full health to finish the
project successfully.

III
ABSTRACT:

CHILDREN make up to one-third of all trafficking victims states UNICEF.

Child Tracker is for Keeping tabs on children via electronic means. For some
time, parents have employed tracking systems that identify the location of their child's vehicle at
all times; however, equipment has to be installed in the car,
and the child has to use that car. With smartphones, child tracking has become more
sophisticated.

Ensuring their safety is imperative Using GPS tracking for children can provide
peace of mind and security.

GPS tracking using NodeMCU can be a useful tool for parents to keep track of their child's
whereabouts and ensure their safety.

Using Local web service one can display the location details and check the location in google
maps.

It is a helpful device to monitor the location of children remotely on our phone. And it can be
developed as a single chip to reduce the cost and size.

IV
TABLE OF CONTENTS

CHAPTER TITLE PG.NO

ABSTRACT 4

LIST OF TABLES 8
LIST OF FIGURES 8

LIST OF ABBREVATIONS 9

1 INTRODUCTION 10
1.1 LITERATURE REVIEW 10
2 SYSTEM ANALYSIS 12
2.1 EXISTING SYSTEM 12

2.2 PROPOSED SYSTEM 12

2.3 CIRCUIT DIAGRAM 13

2.4 CIRCUIT DIAGRAM DESCRIPTION 13


2.5 LITERATURE SURVEY 14

3 PROJECT DESCRIPTION 15

3.1 NodeMCU 15

3.1.1 INTRODUCTION 15
3.1.2 TECHNICAL DETAILS 17
3.1.3 NodeMCU FUNCTIONS 18

3.1.4 ADVANTAGES OF NodeMCU


20
3.1.5 ARDUINO IDE 21

V
3.1.6 LANGUAGE SUPPORT 27

3.1.7 POWER 28

3.1.8 INPUT AND OUTPUT 29

3.1.9 COMMUNICATION 31

3.2 GPS MODULE 33


3.2.1 INTRODUCTION 33

3.2.2 NEO-6M GPS MODULE 33

3.2.3 FEATURES 33

3.2.4 TECHNICAL SPECIFICATIONS 34

3.2.5 NEO-6M GPS MODULE PINOUT 34

3.2.6 ADVANTAGES 34

4 CONCLUSION 39

4.1 FUTURE SCOPE 39

4.2 SNAP SHOTS 40

REFERENCES 41

VI
LIST OF TABLES

Table 3.1.1 Technical details of NodeMCU


Table 3.1.2 Commands in Arduino IDE

Table 3.1.3 File Contents


Table 3.1.4 Editing Options
Table 3.1.5 Sketch Contents
Table 3.1.6 Tools Contents
Table 3.1.7 Power Pins
Table 3.1.8 Special Pins

LIST OF FIGURES

2.3.1 – circuit diagram


3.1.0 – NodeMCU
3.1.1 – language spported
by Arduino IDE
3.2.1 – NEO 6 M GPS
Module
3.2.1.1 – Antenna
4.2.1 – Circuit diagram
4.2.2 – Final Device

VII
I.
LIST OF ABBREVATIONS

1. IDE - Integrated Development Environment


2. NodeMCU - Node Microcontroller Unit
3. GPS - Global Positioning System
4. HTML - Hypertext Markup Language
5. IP - Internet Protocol
6. UNICEF - United Nations Childrens Fund
7. USB - Universal Serial Bus
8. RX - Receive
9. TX - Transmit
10.SOS - Save Our Ship

VIII
II.
CHAPTER – 1

INTRODUCTION

Our Idea is to build an IOT based Location Tracker using NEO-6M GPS module. We’re
also creating a local webserver to display the location details. This web server contain a
link to directly check the location in google Maps.

A GPS tracking unit , geotracking unit, Satellite Tracking unit, or simply tracker is a
navigation device normally on a vehicle , asset person or animal that uses satellite navigation to
determine its movement and determine Geographic position to determine its location

The most common form of tracker is Vehicle Tracker, By installing a GPS device, you can see
anywhere your car goes. Most GPS devices will have an app that can go with your phone,
allowing you to keep tabs on where your car goes without using any other app or device.

1.1 LETERATURE REVIEW:

A GPS tracking unit, geotracking unit, satellite tracking unit, or simply tracker is a
navigation device normally on a vehicle, asset, person or animal that uses satellite navigation to
determine its movement and determine its WGS84 UTM geographic position (geotracking) to
determine its location.[1] Satellite tracking devices send special satellite signals that are processed
by a receiver.

Locations are stored in the tracking unit or transmitted to an Internet-connected device using the
cellular network (GSM/GPRS/CDMA/LTE or SMS), radio, or satellite modem embedded in the
unit or WiFi work worldwide.

GPS antenna size limits tracker size, often smaller than a half-dollar (diameter 30.61 mm). In
2020 tracking is a $2 billion business plus military-in the gulf war 10% or more targets used
trackers. Virtually every cellphone tracks its movements. Tracks can be map displayed in real
time, using GPS tracking software and devices with GPS capability

1
GPS history is based partly on the similar ground-based radio navigation systems, such as
LORAN and the Decca Navigator, developed in the early 1940s and were used during World
War II. Additional inspiration for the GPS system came when the Soviet Union launched the
first Sputnik in 1957.

A team of U.S. scientists led by Dr. Richard B. Kershner were monitoring Sputnik’s radio
transmissions. They discovered that, because of the Doppler Effect, the frequency of the signal
being transmitted by Sputnik was higher as the satellite approached and lower as it continued
away from them. They realized that since they knew their exact location on the globe, they could
pinpoint where the satellite was along its orbit by measuring the Doppler distortion.

The first satellite navigation system, Transit, was used by the United States Navy and was first
successfully tested in 1960. Using a constellation of five satellites, it could provide a
navigational fix approximately once per hour.

In 1967, the U.S. Navy developed the Timation satellite which proved the ability to place
accurate clocks in space, a technology the GPS system relies upon. In the 1970s, the ground-
based Omega Navigation System, based on signal phase comparison, became the first world-
wide radio navigation system.

The first experimental Block-I GPS satellite was launched in February 1978. The GPS satellites
were initially manufactured by Rockwell International and are now manufactured by Lockheed
Martin.

2
CHAPTER – 2

SYSTEM ANALYSIS

2.1 EXISTING SYSTEM:

GPS Tracking refers to a Global Positioning System. It entails a network of 24 satellites in orbit
and devices on the ground that can establish a person or object’s location on Earth with
astonishing precision. GPS Tracking tracks three separate data sets: positioning, navigation, and
timing.

You may not realize it but this technology has been around for a long time. GPS was originally
created for military use in the 1960s. In 1983, GPS became available for public use, and the
technology has only grown from there. Today, it’s used for everything from precision military
maneuvers in foreign lands to kids playing mobile phone games in your neighborhood.

GPS Tracking plays an important role in search and rescue operations, allowing rescue personnel
to keep track of the locations they’ve covered, look at the big picture in a search operation, or
even pull GPS data directly from a lost individual’s GPS device or phone.

When a search and rescue operation is looking for survivors from a major disaster or trying to
locate a missing person in an undeveloped area, they use a grid system. This ensures that each
area is searched thoroughly, and no area is searched twice at the expense of other locations.
Years ago, search and rescue operations were conducted with a pencil and paper. This method
could at times be inaccurate and confusing for volunteers. Today search and rescue teams often
are equipped with GPS trackers to ensure a more accurate search pattern.

2.2 PROPOSED SYSTEM:

• We proposed to build a tracker using NodeMCU.


• NodeMCU and GPS Module is used to track and read the exact and accurate location.
• It is virtualized and shows complete data over Google maps.
We’ve developed a local web server through which we can track the location using the data
provided by nodemcu

3
2.3 CIRCUIT DIAGRAM:

2.4 CIRCUIT DIAGRAM DESCRIPTION:

1. NodeMCU

NodeMCU will be used to read the GPS data , here it acts as a interface between
GPS and the local webserver

2. NEO 6M GPS MODULE

GPS tracking requires a tracking device to be installed in a vehicle, on an asset, or


to be worn by a person. The device then provides information about its exact
location and subsequent movements, enabling tracking in real-time. A GPS
tracking device can be used by fleet managers to locate where a truck or asset is
on its route, report on traffic conditions, and monitor how long each vehicle
spends at a jobsite.
4
2.5 LITERATURE SURVEY

Base Paper/ Year of Authors Journal Inference Draw-Backs


Reference publication Name
paper
Title

1. IOT Based 1 November , Abdullah H. The Institute Using NodeMCU is


Real-Time 2019 Alquhali, Of Electrical Arduino uno Smaller in
Vehicle Mardeni and track the size
Tracking Roslee, Electronics exact and
System Mohamad Y. Engineering. accurate
Alias, (IEEE) position of
Khalid S. the vehicle at
Mohamed any location.

2.IOT Based 04 February, Alok The Institute Monitors the High cost
Smart 2021 Agarwal, Of Electrical gap between
Vehical Megha and the vehicles
Monitoring Dewan Electronics using
and Tracking Engineering. ultrasonic
System (IEEE) sensor.

55
CHAPTER -3
PROJECT DESCRIPTION
HARDWARE REQUIREMENT

3.1 NodeMCU

3.1.1 INTRODUCTION

NodeMCU is an open source firmware for which open source prototyping


board designs are available. The name “NodeMCU” combines “node” and “MCU” (micro-
controller unit).[8] Strictly speaking, the term “NodeMCU” refers to the firmware rather than the
associated development kits.

Both the firmware and prototyping board designs are open source.

The firmware uses the Lua scripting language. The firmware is based on the Lua
project, and built on the Espressif Non-OS SDK for ESP8266. It uses many open source
projects, such as lua-cjson and SPIFFS. Due to resource constraints, users need to select the
modules relevant for their project and build a firmware tailored to their needs. Support for the
32-bit ESP32 has also been implemented.

The prototyping hardware typically used is a circuit board functioning as a dual


in-line package (DIP) which integrates a USB controller with a smaller surface-mounted
board containing the MCU and antenna. The choice of the DIP format allows for easy
prototyping on breadboards. The design was initially based on the ESP-12 module of the
ESP8266, which is a Wi-Fi SoC integrated with a Tensilica Xtensa LX106 core, widely used
in IoT applications.

55
6

55
Developer ESP8266 Opensource Community

Type Single-board microcontroller

Introductory price $5
CPU ESP8266(LX106)
Memory 128kBytes
Storage 4Mbytes
Power USB
Website www.nodemcu.com

Table 3.1 About NodeMCU

FIGURE 3.1.1 NodeMCU ESP-8266 12E Module

7
3.1.2 TECHNICAL DETAILS

LoLin style NodeMCU measures


58mm x 32mm with a pin spacing of 0.1″ between pins and 1.1″ between rows

Microcontroller ESP-8266 32-bit


NodeMCU Model Amica
NodeMCU Size 49mm x 26mm
Carrier Board Size 102mm x 51mm
Pin Spacing 0.9’’(22.86mm)
Clock Speed 80 MHz
USB to Serial CP2102
USB Connector Micro USB
Operating Voltage 3.3V
Input Voltage 4.5V-10V
Flash Memory/SRAM 4MB / 64KB
Digital I/O pins 11
Analog In Pins 1
ADC Range 0-3.3V
UART/SPI/I2C 1/1/1
Wifi built-in 802.11 b/g/n
Temperature Range 40C – 125C

Table 3.1.2 Technical details about NodeMCU

8
3.1.3 NodeMCU FUNCTIONS

FIGURE 3.1.2 NodeMCU Pinout

Power Pins - There are four power pins. VIN pin and three 3.3V pins.
 VIN can be used to directly supply the NodeMCU/ESP8266 and its
peripherals. Power delivered on VIN is regulated through the onboard
regulator on the NodeMCU module – you can also supply 5V regulated to the
VIN pin.
 3.3V pins are the output of the onboard voltage regulator and can be used to
supply power to external components.
9
GND - GND are the ground pins of NodeMCU/ESP8266.

I2C Pins- I2C Pins are used to connect I2C sensors and peripherals. Both I2C Master and
I2C Slave are supported. I2C interface functionality can be realized programmatically, and
the clock frequency is 100 kHz at a maximum. It should be noted that I2C clock frequency
should be higher than the slowest clock frequency of the slave device.

GPIO Pins- GPIO Pins NodeMCU/ESP8266 has 17 GPIO pins which can be assigned to
functions such as I2C, I2S, UART, PWM, IR Remote Control, LED Light and Button
programmatically. Each digital enabled GPIO can be configured to internal pull-up or pull-
down, or set to high impedance. When configured as an input, it can also be set to edge-
trigger or level-trigger to generate CPU interrupts.

ADC Channel- The NodeMCU is embedded with a 10-bit precision SAR ADC. The two
functions can be implemented using ADC. Testing power supply voltage of VDD3P3 pin and
testing input voltage of TOUT pin. However, they cannot be implemented at the same time.

UART Pins- NodeMCU/ESP8266 has 2 UART interfaces (UART0 and UART1) which
provide asynchronous communication (RS232 and RS485), and can communicate at up to 4.5
Mbps. UART0 (TXD0, RXD0, RST0 & CTS0 pins) can be used for communication.
However, UART1 (TXD1 pin) features only data transmit signal so, it is usually used for
printing log.
SPI Pins - NodeMCU/ESP8266 features two SPIs (SPI and HSPI) in slave and master
modes. These SPIs also support the following general-purpose SPI features
 4 timing modes of the SPI format transfer
 Up to 80 MHz and the divided clocks of 80 MHz
 Up to 64-Byte FIFO
10
SDIO Pins- NodeMCU/ESP8266 features Secure Digital Input/Output Interface (SDIO)
which is used to directly interface SD cards. 4-bit 25 MHz SDIO v1.1 and 4-bit 50 MHz
SDIO v2.0 are supported.

PWM Pins - The board has 4 channels of Pulse Width Modulation (PWM). The PWM
output can be implemented programmatically and used for driving digital motors and LEDs.
PWM frequency range is adjustable from 1000 μs to 10000 μs (100 Hz and 1 kHz).

Control Pins- Control Pins are used to control the NodeMCU/ESP8266. These pins include
Chip Enable pin (EN), Reset pin (RST) and WAKE pin.
 EN: The ESP8266 chip is enabled when EN pin is pulled HIGH. When pulled LOW
the chip works at minimum power.
 RST: RST pin is used to reset the ESP8266 chip.
WAKE: Wake pin is used to wake the chip from deep-sleep

3.1.4 ADVANTAGES OF NodeMCU

 Fast Processor & Memory


 On board WIFI feature
 Inexpensive board
 Smaller in Size
 Low power consumption
 Use in Network projects
 Works with existing Arduino IDE
11

ARDUINO IDE
The Arduino IDE or Arduino Software - 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 Genuino 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 righthand 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.

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.

12
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 | Sketch book menu instead.
Save
Saves your sketch.
Serial Monitor
Opens the serial monitor.
Table 3.1.2 Commands in Arduino IDE

Additional commands are found within the five : 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.

13
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.
Table 3.1.3 File Contents

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

15
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.
Table 3.1.4 Editing Options
 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.

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.

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

Table 3.1.5 Sketch Contents


 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.
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 user will not need this, but
if users are burning a pootloader to a NEW microcontroller, they will use this.

17
Burn Bootloader
The items in this menu allow users 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 users purchase a new ATmega microcontroller
(which normally come without a bootloader). Ensure that users have selected
the correct board from the Boards menu before burning the bootloader on the
target
board. This command also set the right fuses.
Table 3.1.6 Tools Contents
 HELP
Here users find easy access to a number of documents that come with the Arduino
Software (IDE). Users 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 their programs (or sketches). The sketches in their sketchbook can be
opened from the File> Sketchbook menu or from the Open button on the toolbar.
The
first time users run the Arduino software, it will automatically create a directory
for their sketchbook.
Beginning with version 1.0, files are saved with a .ino file extension.
Previous versions use the .pde extension. Users 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 users to manage sketches with
more than one file (each of which appears in its own tab).
18
These can be normal Arduino code files (no visible extension), C files (.
extension), C++ files (.cpp), or header files (.h).

 UPLOADING
Before uploading their sketch, users need to select the correct items from
the Tools > Board and Tools > Port menus. The boards are described below. On
Windows, it's probably COM1 or COM2 (for a serial board) or COM4, COM35,
COM7, or higher (for a USB board) - to find out, users look for USB serial device
in the port section of the Windows Device Manager.

On Linux, it should be /dev/ttyACMx, /dev/ttyUSBXx or similar. Once


users have selected the correct serial port and board, press the upload button in
the toolbar or select the Upload item from the File menu. Current Arduino boards
will reset automatically and begin the upload. With older boards (pre-Diecimila)
that lack auto- reset, users will need to press the reset button on the board just
before starting the upload.

On most boards, users will 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 users upload a sketch, they are using the Arduino boot loader, a small
program that has been loaded on to the microcontroller on their board. It allows
users to upload code without using any additional hardware. The boot loader is
active for a few seconds when the board resets; then it starts whichever sketch was
most recently uploaded to the microcontroller. The boot loader will blink the on-
board (pin 13) LED when it starts (i.e.When the board resets).

19
 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 their sketch. Because libraries
are uploaded to the board with their 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 their 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, users do can
import a library from a zip file and use it in an open sketch.
 THIRD-PARTY HARDWARE
Support for third-party hardware can be added to the hardware directory of
their sketchbook directory. Platforms installed there may include board definitions
(which appear in the board menu), core libraries, bootloaders, and programmer
definitions. To install, create the hardware directory, then unzip the third-party
platform into its own sub- directory. (Don't use "arduino" as the sub-directory
name or users will override the built-in Arduino platform.) To uninstall, simply
delete its directory.
 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 their sketch. Note that on Windows, Mac or Linux,
the Arduino or Genuino board will reset (rerun their sketch execution to the
beginning) when users connect with the serial monitor. Users can also talk to the
board from Processing, Flash, MaxMSP, etc.

20
 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.
3.1.6 LANGUAGE SUPPORT

Fig.3.1.1 Languages Supported by Arduino IDE

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 their
OS. (Note: On windows and possibly Linux, this is determined by the local
setting which controls currency and date format, not by the language the OS is
displayed)
If users would like to change the language manually, start the Arduino software
and open the preferences window. Next to the editor language there is a dropdown
menu of currently supported languages. Select their preferred language from the
menu, and restart the software to use the selected language.
21
If their operating system language is not supported, the Arduino Software (IDE)
will default to English.

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

3.1.7 POWER
The Uno board can be powered via the USB connection or with
an external power supply. The power source is selected automatically. External
(non-USB) power can come cither from an AC-to-DC adapter (wall-wart) or
battery. The adapter can be connected by plugging a 2.1mm center-positive plug
into the board's power jack. Leads from a battery can be inserted in the GND
and Vin pin headers of the POWER connector.

The board can operate on an external supply from 6 to 20 volts. If supplied with
less than 7V, however, the SV pin may supply less than five volts and the board
may become unstable. If using more than 12V, the voltage regulator may overheat
and damage the board. The recommended range is 7 to 12 volts.

The power pins are as follows:


Vin
The input voltage to the Uno board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source).
Users can supply voltage through this pin, or, if supplying voltage via the power
jack, access it through this pin.

22
5V
This Pin outputs a regulated 5V from the regulator on the board. The board can
be supplied with power either from the DC power jack (7 - 12V), the USB
connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the
5V or 3.3V pins bypasses the regulator, and can damage their board. We don't
advise it.
3.3V
3.3 Volt supply generated by the on-board regulator. Maximum current draw is
50 mA.
GND
Ground pins.
IOREF
This pin on the Uno board provides the voltage reference with which the
microcontroller operates. A properly configured shield can read the IOREF pin
voltage and select the appropriate power source or enable voltage translators on
the outputs to work with the 5V or 3.3V.

Table 3.1.7 Power Pins


Memory
The ATmega328 has 32 KB (with 0.5 KB occupied by the boot
loader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and
written with the EEPROM library).

3.1.8 INPUT AND OUTPUT


The mapping for the Atmega$8, 168, and 328 is identical. Each
of the 14 digital pins on the Uno can be used as an input or output, using
pinMode( ) digital Write( ), and digitalRead( ) functions.

23
They operate at 5 volts. Each pin can provide or receive 20 MA
as recommended operating condition and has an internal pull-up resistor
(disconnected by default) of 20-50k ohm.

A maximum of 40mA is the value that must not be exceeded on


any 1/0 pin to avoid permanent damage to the microcontroller.

24
In addition, some pins have specialized functions:
Serial (0 (RX) and 1 (TX)
Used to receive (RX) and transmit (TX) serial data. These Pins are connected to
the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
External Interrupts (2 and 3)
These pins can be configured to trigger an interrupt on a low Value, a rising or
falling edge, or a change in value. See the attachInterrupt() function for details,
PWM
3,5,6,9,10 and 11. Provide 8-bit PWM output with the analogWrite() function.
SPI
10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication using the SPI library.
LED
13 There is a built-in LED driven by digital pin 13. When the pin is HIGH
value, the LED is on, when the pin is LOW, it's off.
TWI
A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire
library.
Table 3.1.8 Special Pins
The Uno has 6 analog inputs, labeled AQ through A5, each of which
provide 10 bits of resolution (i.e. 1024 different values). By default they measure
from ground to 5 volts, though is it possible to change the upper end of their range
using the AREF pin and the analogReference() function.
There are a couple of other pins on the board:
AREF
Reference voltage for the analog inputs. Used with analogReference().
Reset
Bring this line LOW to reset the microcontroller. Typically used to add a reset
button to shields which block the one on the board.
25
3.1.9 COMMUNICATION
The Uno has a number of facilities for communicating with a computer,
another Uno board, or other microcontrollers. The ATmega328 provides UART
TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1
(TX). An ATmegal6U2 on the board channels this serial communication over
USB and appears as a virtual com port to software on the computer.

The 16U2 firmware uses the standard USB COM drivers, and no external driver is
needed. However, on Windows a .inf file is required. The Arduino Software
(IDE) includes a serial monitor which allows simple textual data to be sent to and
from the board. The RX and TX LEDs on the board will flash when data is being
transmitted via the USB-to-serial chip and USB connection to the computer (but
not for serial communication on pins 0 and 1).

A software serial library allows serial communication on any of the UNO's digital
pins. The ATmega328 also supports 12C (TWI) and SPI communication. The
Arduino Software (IDE) includes a Wire library to simplify use of the 12C bus;
see the documentation for details. For SPI communication, use the SPI library.

 Automatic (Software) Reset


Rather than requiring a physical press of the reset button before an
upload, the Uno board is designed in a way that allows it to be reset by software
running on a connected computer. One of the hardware flow control lines (DIR) of
the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a
100 nF capacitor.
When this line is asserted (taken low), the reset line drops long enough to
reset the chip. The Arduino Software (IDE) uses this capability to allow users
to upload code by simply pressing the upload button in the interface toolbar.

26
This means that the bootloader can have a shorter timeout, as the lowering of DTR
can be well-coordinated with the start of the upload.

This setup has other implications. When the Uno is connected to either a
computer running Mac OS X or Linux, it resets each time a connection is made to
it from software (via USB). For the following half-second or so, the bootloader is
running on the Uno. While it is programmed to ignore malformed data (i.e.
anything besides an upload of few code), it will intercept the first few bytes of data
sent to the board after a connection is opened.

If a sketch running on the board receives one-time configuration or other


data When it first starts, make sure that the software with which it communicates
waits a second after opening the connection and before sending this data.

27
3.2 GPS MODULE

3.2.1 INTRODUCTION
A GPS tracking unit, geotracking unit, satellite tracking unit, or
simply tracker is a navigation device normally on a vehicle, asset, person or
animal that uses satellite navigation to determine its movement and determine its
WGS84 UTM geographic position (geotracking) to determine its location.
Satellite tracking devices send special satellite signals that are processed by a
receiver.

Locations are stored in the tracking unit or transmitted to an


Internet-connected device using the cellular network (GSM/GPRS/CDMA/LTE
or SMS), radio, or satellite modem embedded in the unit or WiFi work
worldwide.

GPS antenna size limits tracker size, often smaller than a half-
dollar (diameter 30.61 mm). In 2020 tracking is a $2 billion business plus
military-in the gulf war 10% or more targets used trackers. Virtually every
cellphone tracks its movements. Tracks can be map displayed in real time, using
GPS tracking software and devices with GPS capability.

3.2.2 NEO-6M GPS MODULE

The NEO-6M GPS module is a well-performing complete GPS receiver with a


built-in 25 x 25 x 4mm ceramic antenna, which provides a strong satellite search
capability. With the power and signal indicators, you can monitor the status of the
module.
28
3.2.3 FEATURES
1) A complete GPS module with an active antenna integrated, and a built-in
EEPROM to save configuration parameter data.
2) Built-in 25 x 25 x 4mm ceramic active antenna provides strong satellite
search capability.
3) Equipped with power and signal indicator lights and data backup battery.
4) Power supply: 3-5V; Default baud rate: 9600bps.
5) Interface: RS232 TTL

3.2.4 TECHNICAL SPECIFICATIONS

FIGURE 3.2.1 NEO-6M GPS Module


29

Receiver Type 50 channels, GPS L1(1575.42Mhz)

Horizontal Position Accuracy 2.5m

Navigation Update Rate 1Hz


Capture Time Cool start: 27sHot start: 1s

Navigation Sensitivity -161 dBm


Communication Protocol NMEA, UBX Binary, RTCM

Serial Baud Rate 4800-230400 (default 9600)

Operating Temperature 40°c ~ 85°C

Operating Voltage 2.7 V ~. 3.6v


Operating Current 45mA
TX/RDX Impedance 510ohm
Range 3.3V - 5V

TABLE 3.2.1 Technical Specifications in NEO-6M GPS Module

Position Fix LED Indicator

There is an LED on the NEO-6M GPS module that indicates the


status of the ‘Position Fix’. It will blink at different rates
depending on which state it is in:

 No blinking – it is searching for satellites.

 Blink every 1s – Position Fix is found (the module can see enough
satellites).
30

3.3V LDO Regulator


The operating voltage of the NEO-6M chip ranges from 2.7 to 3.6V. But the
good news is, this module comes with MICREL’s MIC5205 Ultra-Low Dropout 3V3
regulator.

The logic pins are also 5-volt tolerant, so we can easily connect it to Arduino
or any 5V logic microcontroller without using a logic level converter..

Battery & EEPROM


The module is equipped with HK24C32 Two Wire Serial EEPROM. It is 4KB
in size and is connected via I2C to the NEO-6M chip.

The module also houses a rechargeable button battery that acts as a super-
capacitor.

EEPROM and battery together help in retaining the BBR (Battery Backed
RAM). BBR contains clock data, latest position data (GNSS orbit data) and module
configuration. But it is not for permanent data storage.

The battery charges automatically when power is supplied to the module and
retains data for two weeks without power.

Since the battery retains the clock and last position data, Time-To-First-Fix
(TTFF) is significantly reduced to 1s. This allows much faster position locks. Without battery
the GPS is always cold-started and takes longer for the initial GPS lock.
31
ANTENNA
The module comes with -161 dBm sensitivity patch antenna for receiving radio signals from
GPS satellites.

FIGURE 3.2.1 ANTENNA

You can snap-fit this antenna into the small U.FL connector located on the module.

The patch antenna is great for most of our projects. But if you want to get more
sensitivity and accuracy, you can also snap-on any 3V active GPS antenna.
32
3.2.5 NEO-6M GPS MODULE Pinout

The NEO-6M GPS module has a total of 4 pins that connect it to the outside world. The
connections are as follows:

GND- GND is the ground pin and needs to be connected to the GND pin on the Arduino.

TxD (Transmitter)- TxD(transmitter) pin is used for serial communication.

RxD (Receiver)- RxD (Receiver) pin is used for serial communication.

VCC supplies power to the module. You can connect it directly to the 5V pin on the Arduino.

3.2.6 ADVANTAGES

1. The GPS signal is available worldwide. Therefore, users will not be deprived of it
anywhere
2. GPS can be used anywhere in the world, it is powered by world satellites, so it can be
accessed anywhere, a solid tracking system and a GPS receiver are all you need.
3. The GPS system gets calibrated by its own and hence it is easy to be used by anyone.
4. It provides users with information based on location in real time. This is helpful in
different applications such as mapping (used in cars), location (geocaching), analysis
of performance (used in sports), etc. Example: Application for Google Earth.

33
4.2 SNAP SHOTS

Fig.4.2.1 Circuit Diagram

Fig.4.2.2
FinalDevice
34
CHAPTER 4
CONCLUSION

GPS tracking can be a useful tool for parents to keep track of their child's whereabouts and
ensure their safety. However, it is important to consider the potential negative effects of
using GPS tracking on a child's mental and emotional well-being
Also it is helpful device to monitor the location of children remotely on our phone. And
It can be developed as a single chip to reduce the cost and size.

4.1 FUTURE SCOPE

 We can add a SOS or panic button


 It can be designed as If the kids find themselves in a alarming situation and presses panic
button over the device a one-way audio call will be generated over a predefined number

35
EFERENCES

 https://www.researchgate.net/publication/
337337947_IOT_Based_Real-Time_Vehicle_Tracking_System
 https://www.engpaper.com/cse/iot-tracking-system.html
 https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3545226
 https://circuitdigest.com/microcontroller-projects/iot-based-gps-
location-tracker-using-nodemcu-track-and-save-gps-location-on-
google-maps

36

You might also like