Final Year Project PDF
Final Year Project PDF
Final Year Project PDF
This is to Certify that this project report entitled IoT based GPS Tracking System over 2G/3G/LTE is
submitted to MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY in the partial
fulfillment of the requirement for the award of the B. TECH degree in ELECTRONICS AND
COMMUNICATION ENGINEERING is originial work carried out by:
Under my guidance,
The matter embodied in this project report is genuine work done by the student and has not been
submitted whether to this University or to any other University/Institute for the fulfillment of the
requirement of any course of study.
__________________________
1 ABSTRACT
2 INTRODUCTION
3 COMPONENTS TO BE USED
6 CURRENT PROGRESS
7 APPENDIX
8 FUTURE SCOPE
ABSTRACT
The increased rate of vehicle theft led to increasing concern among
vehicle owners. In addition, most of the smaller car rental companies
or personal car rental are also a concern when their rented vehicles
are not returned on the date line. Thus, the purpose of this project is
to study and analyse the existing vehicle tracking system. Next, a
tracking system is configured and developed using the Internet of
Things platform (Arduino) and web-based application. Then, the
usability and functionality of the Global Positioning System and Global
System for Mobile Communications module are tested together with
Arduino to get the location for vehicle tracking. This project is
developed using the Extreme Programming methodology. During the
planning phase, requirements are gathered through a questionnaire
from 40 participants. Requirements and data collected are analysed,
and features that need to be included are identified. Iteration starts at
design phase where every time there are changes to the system, the
design needs to be changed first. Coding is done based on the
features, functions, flows, and interfaces from the design phase. The
code is tested before small release of part of the system. Feedback is
gathered from the user after every small release of the system during
the iteration. The completed system enables vehicle owners to track
their vehicle through web application or Short Message Service (SMS)
anytime, anywhere.
INTRODUCTION
In the present-day tracking is becoming essential for the purpose of
improving our life condition. Convenience and ease of using vehicle iswhat
home vehicle tracking is offering. Vehicle tracking offers a futuristic way of
life in which an individual gets to control his vehicle using a smart phone,
from tracking a vehicle /detecting accidental place of a vehicle; it also offers
an efficient use of technology. But to get or acquire such system installed
will cost a lot of money and that is the major reason of why vehicle tracking
has not received much demand and attention, adding to that also the
complexity of installingit and configuring it. Thus, it is essential to make it
cost effective and easy to configure, if this is granted to people then they
will be willing to acquire it in their personal vehicles, school buses and
taxes/cabs etc. In other words, a system modification for the vehicle
tracking is required in order to lower the price of applying it to vehicles.
According to Missing Children Europe Organization report, 50,000 children
are reported missing every year in the EU; that would be 1 child per every
2 minutes. Further, records by the U.S. Department ofJustice Office of
Juvenile Justice and Delinquency Prevention indicatethat children of ages 5
to 16 are most likely to be subjected to such abuse. Due to the imminent
threat, parents are prone to buy their children Mobile phones to be in touch
with them. However, there aresome well know socio-psychological issues
associated with handing a Mobile phone to a child, such as cyber bullying,
improper use of SocialNetworking Media, access to inappropriate content
on the Internet, and possibly phone theft. Children and early adolescents
tend to seeka degree of independence from parents as part of their growing
up, and sometimes tend to do their day-to-day travel unaccompanied by a
parent or a guardian. The modern working culture may also limit the
opportunity for parents/guardians to accompany children on their daily
travel. These have raised concerns regarding the safety of children, paving
way to technologies and devices which enable child locating and tracking,
also considerations towards ethics should be respected in relation to
locating and tracking people.
Objective of the study
To construct a vehicle tracking system controlled by a smartphone
specifically an embedded device. To design and implement cost
effective vehicle tracking system yet an efficient one. To design a user
friendly and a safe system to control vehicles especially aimed to aid
the all useful to track soldiers or to track child/ kid for their safety or
missingpurpose and also can be useful for women safety purpose. So,
when this embedded system design takes care of every aspect of its
purpose as it mentioned above.
FLOW CHART:
BLOCK DIAGRAM:
OVERVIEW OF TECHNOLOGICAL DETAILS
1. NODE-MCU(ESP8266-12e):
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). 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 Eula project, and built on the Espressif Non-OS SDK for
ESP8266. It uses many open source projects, such as lua-cjson . 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 prototypingon
breadboards. The design was initially based on the ESP-12 moduleof
the ESP8266, which is a Wi-Fi SoC integrated with a Tensilica Xtensa
LX106 core, widely used in IoT applications.
Power Pins There are four power pins. VIN pin and three 3.3V 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 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:
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 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.
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.
Multiplexed I/O:
1 ADC channels ● UART interfaces ● PWM outputs ● SPI, I2C & I2S interface
Thanks to the ESP8266’s pin multiplexing feature (Multiple peripherals
multiplexed on a single GPIO pin). Meaning a single GPIO pin can act as
PWM/UART/SPI.
SOFTWARE USED:
IDE: The Arduino integrated development environment (IDE) is a cross-platform
application (for Windows, macOS, Linux) that is written in the programming
language Java/C++. It originated from the IDE for the languages Processing and
Wiring. It includes a code editor with features such as text cutting and pasting,
searching and replacing text, automatic indenting, brace matching, and syntax
highlighting, and provides simple one-click mechanisms to compile and upload
programs to a compatible board. It also contains a message area, a text console,
a toolbar with buttons for common functions and a hierarchy of operationmenus.
The source code for the IDE is released under the GNU General Public License,
version 2. The Arduino IDE supports the languages C and C++ using special rules
of code structuring. The Arduino IDE supplies a software library from the Wiring
project, which provides many common input and output procedures. User-
written code only requires two basic functions, for starting thesketch and the
main program loop, that are compiled and linked with a programstub main () into
an executable cyclic executive program with the GNU toolchain,also included
with the IDE distribution. The Arduino IDE employs the program avrdude to
convert the executable code into a text file in hexadecimal encoding that is
loaded into the board by a loader program in the board's firmware.
Weight: 3.4g
SIM Interface
As we know that module SIM900A is a GPRS/GSM module. The module is dependent
on some devices for some of its features. The most important one is the SIM. The
SIM needs to connect with the module for GPRS/GSM functions to fully operate. All
the sim interface of the module is:
#include<SoftwareSerial.h>
SoftwareSerial GPSModule(3,2); /* TX,RX Pins of GPS Module*/
int updates;
int failedUpdates;
int pos;
int stringplace = 0;
char phone_no[]="7418916610"; //User’s Phone Number
String timeUp;
String nmea[15]; /* Character Array to store GPS data */
String labels[12] {"Time: ", "Status: ", "Latitude: ", "Hemisphere: ", "Longitude: ",
"Hemisphere:
", "Speed: ", "Track Angle: ", "Date: "}; /*Respective Labels for GPS data*/
/*Main() Function */
void setup() { Serial.begin(9600); /* Setting the baud-rate of the program */
GPSModule.begin(9600); /* Starting as well as setting the baud-rate of GPS Module */
Serial.println("Vehicle Tracking");
delay(3000);} /* End of Main() Function */
//Loop() Function for performing the task again and again
void loop() { Serial.flush();
GPSModule.flush(); //Tuning on the GPS flush LED
/* Checking GPS data available or not */
while (GPSModule.available() > 0){
GPSModule.read();} /* if GPS data available then reading the GPS data */
if (GPSModule.find("$GPRMC,")) {/*Storing and retrieving GPS data in their respective
order*/
String tempMsg = GPSModule.readStringUntil('\n');
for (int i = 0; i < tempMsg.length(); i++) { if(tempMsg.substring(i, i + 1) == ",") {
nmea[pos] = tempMsg.substring(stringplace, i);
stringplace = i + 1;
pos++;} //Those GPS data are in their GPS string format, not yet refine in normal form
if (i == tempMsg.length() - 1) { /* checking all the respective GPS data store or not */
nmea[pos] = tempMsg.substring(stringplace, i);}}
updates++;
/* Calling user define function to convert Latitude and Longitude respectively */
nmea[2] = ConvertLat();
nmea[4] = ConvertLng();
for (int i = 0; i < 9; i++) {
Serial.print(labels[i]);
Serial.print(nmea[i]);
Serial.println("");}
delay(300);
/* Sending SMS */
Serial.println("AT+CMGF=1"); /* AT Command for Sending SMS */
delay(2000);
Serial.print("AT+CMGS=\"");
else {
failedUpdates++;}
stringplace = 0;
pos = 0;}
String ConvertLat() {
String posneg = "";
if (nmea[3] == "S") {
posneg = "-";}
String latfirst;
float latsecond;
for (int i = 0; i < nmea[2].length(); i++) {
if (nmea[2].substring(i, i + 1) == ".") {
latfirst = nmea[2].substring(0, i - 2);
latsecond = nmea[2].substring(i - 2).toFloat();}}
latsecond = latsecond / 60;
String CalcLat = "";
char charVal[9];
dtostrf(latsecond, 4, 6, charVal);
for (int i = 0; i < sizeof(charVal); i++){
CalcLat += charVal[i];}
latfirst += CalcLat.substring(1);
latfirst = posneg += latfirst;
return latfirst;}
String ConvertLng() {
String posneg = "";
if (nmea[5] == "W") {
posneg = "-";}
String lngfirst;
float lngsecond;
for (int i = 0; i < nmea[4].length(); i++) {
if (nmea[4].substring(i, i + 1) == ".") {
lngfirst = nmea[4].substring(0, i - 2);
lngsecond = nmea[4].substring(i - 2).toFloat();}}
lngsecond = lngsecond / 60;
String CalcLng = "";
char charVal[9];
dtostrf(lngsecond, 4, 6, charVal);
for (int i = 0; i < sizeof(charVal); i++){
CalcLng += charVal[i];}
lngfirst += CalcLng.substring(1);
lngfirst = posneg += lngfirst;
return lngfirst;}
FUTURE SCOPE:
With the help of high sensitivity sensors, we can detect any accidents.
Whenever an accident occured unexpectedly, with the help of vibarting
sensors we can detect the exact location of the accident.
By adding many mods or extensions like other sensors many devastating
and unforseen situations can be dealt with by locating the exact location
of the place where the situation occured.
BIBLIOGRAPHY
Websites-
www.circuitdigest.com
www.how2electronics.com
www.electroniclinic.com
Books-
Building a Dedicated GSM GPS Module Tracking System for Fleet Management:
Hardware and Software by Franjieh El Khoury (Author), Antoine Zgheib (Author).