Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
i
MICROCONTROLLER BASED ULTRASONIC
STICK FOR VISUALLY IMPAIRED
AN INTERNSHIP REPORT
Submitted by
CALEB RUBIN S P (2016105022)
PRASANTH V (2016105059)
THEYANESHWARAN J (2016105075)
DIVAKAR M (2016105525)
in summer internship project
of
BACHELOR OF ENGINEERING
in
ELECTRONICS AND COMMUNICATION ENGINEERING
COLLEGE OF ENGINEERING GUINDY
ANNA UNIVERSITY :: CHENNAI 600 025
MAY 2018
ii
COLLEGE OF ENGINEERING GUINDY
ANNA UNIVERSITY :: CHENNAI 600 025
MAY 2018
INTERNSHIP CERTIFICATE
Certified that this internship report “MICROCONTROLLER BASED
ULTRASONIC STICK FOR VISUALLY IMPAIRED” is the work of
CALEB RUBIN S P (2016105022), PRASANTH V (2016105059),
THEYANESHWARAN J (2016105075) and DIVAKAR M (2016105525) who
carried out the internship project work under my supervision from 8th May, 2018
to 31st May, 2018.
DR. S. MUTTAN
HEAD OF THE DEPARTMENT
Professor
ECE Department
College of Engineering Guindy
Anna University, Chennai – 25.
DR. D. SRIDHARAN
CO-ORDINATOR
Professor
ECE Department
College of Engineering Guindy
Anna University Chennai - 25
DR. N.RAMADOSS
SUPERVISOR
Associate Professor
ECE Department
College of Engineering Guindy
Anna University Chennai - 25
iii
ACKNOWLEDGEMENT
The final outcome of this project required a lot of guidance and assistance from
many people and we are extremely privileged to have got this all along the
completion of this project. All that we have done is only due to such supervision
and assistance and we would not forget to thank them.
We respect and thank our Dean Dr. T.V.Geetha for providing us with this Summer
Internship opportunity as it was a great learning experience for all of us.
We respect and thank the Department of Electronics and Communication
Engineering and Dr.Muttan the HOD, Department of ECE, for providing us the
infrastructure for the completion of our internship project.
We thank Dr.D.Sridharan for co-ordinating us throughout the internship program
and for guiding us to optimize our project more efficiently.
We owe our deep gratitude to our project guide and coordinator Dr.N.Ramadass,
who took keen interest on our project work and guided us all along, till the
completion of our project work by providing all the necessary information for
developing a good system and without the Grace of God we would not have
completed this project successfully.
Caleb Rubin S P
Prasanth V
Theyaneshwaran J
Divakar M.
1
ABSTRACT
Visually impaired persons find themselves challenging to go out
independently. There are millions of visually impaired or blind people in this world
who are always in need of helping hands. In this technology controlled world,
where people strive to live independently, this project proposes an ultrasonic stick
for visually impaired people to help them gain personal independence. Since this is
economical and not bulky, one can make use of it easily. This project helps
visually challenged people to navigate with ease using advance technology. The
blind stick is integrated with ultrasonic sensors, Location Tracker using
NodeMCU, application software that would give the blind people’s location, RF
Transmitter, RF Receiver along with light and water sensing which are controlled
by microcontroller. The implementation is done and the entire setup functions
using the microcontroller.
2
TABLE OF CONTENTS
CHAPTER NO. TITLE PAGE NO.
ABSTRACT 1
TABLE OF CONTENTS 2
LIST OF FIGURES 5
1. OVERVIEW
1.1 Introduction 6
1.2 Objective of This Project 6
1.3 Literature Survey 7
2. ULTRASONIC SENSOR
2.1 Introduction 8
2.2 Ultrasonic Sensor Pin Configuration 9
2.3 Ultrasonic Sensor Pin Features 10
2.4 HC-SR04 Working Principle 10
2.5 HC-SR04 Procedure 11
2.6 Distance Calculation 11
3. MOISTURE SENSOR
3.1 Introduction 12
3.2 Moisture Sensor Pin Configuration 13
3.3 Moisture Sensor Pin Features 13
3.4 Hardware and Software Required 13
3
3.5 Moisture Sensor Working 14
3.6 Moisture Sensor Circuit Connection 15
4. STICK FINDER USING RF COMMUNICATION
4.1 Introduction 16
4.1.1 RF Module 17
4.1.2 RF Module Specifications 17
4.2 RF Transmitter 18
4.2.1 RF Transmitter Pin Description 18
4.2.2 RF Transmitter Features 18
4.3 RF Receiver 19
4.3.1 RF Receiver Pin Description 19
4.3.2 RF Receiver Features 19
4.4 Circuit Configuration 20
5. ANDROID STUDIO
5.1 Introduction 21
5.2 Creating App using Android Studio. 21
6 ARDUINO
6.1 Introduction 25
6.2 Arduino Nano 26
6.3 Arduino Nano Specifications 26
6.4 Arduino Nano Interfacing 27
7 NODEMCU
7.1 Introduction 28
7.2 NodeMCU Specifications 29
4
8 WEB HOSTING
8.1 Introduction 30
8.2 Website Viewing 30
8.3 000 Webhost 31
8.4 Steps required to create a Domain 31
8.5 Accessing Database through Public Url 32
8.6 Accessing Location through Android Studio 33
9 LOCATION TRACKING USING NODEMCU
9.1 Introduction 34
9.2 Working of Google Geolocation 34
9.3 Getting API key 35
10 RESULT & CONCLUSION
10.1 Result 36
10.2 Conclusion 37
REFERENCES 37
5
LIST OF FIGURES
Figure 2.1 Ultrasonic Working Principle
Figure 2.2 Ultrasonic Sensor HC-SR04
Figure 2.3 HC-SR04 Timing Diagram
Figure 3.1 Moisture Sensor
Figure 3.2 Moisture Sensor Connection with Arduino
Figure 4.1 RF Communication Block Diagram
Figure 4.2 RF Transmitter Pin Configuration
Figure 4.3 RF Receiver Pin Configuration
Figure 4.4 RF Transmitter Configuration
Figure 4.5 RF Receiver Configuration
Figure 5.1 “CLICKME” Button to activity main
Figure 5.2 App Created using Android Studio
Figure 6.1 Arduino Nano Pin out
Figure 6.2 Arduino Code for getting location
Figure 7.1 NodeMCU
Figure 7.2 NodeMCU Pin Configuration
Figure 8.1 Public URL Displaying Location
Figure 8.2 CLICKME Button pressed
Figure 9.1 Displaying API key
Figure 10.1 Final Completed Setup
6
CHAPTER 1
OVERVIEW
1.1 INTRODUCTION
According to the World Health Organization (WHO) statistics, around
30 billion people are blind on the earth. This project proposes to design and
develop a portable unit (stick) for them for easy usage and navigation in public
places.
Our proposed project first uses NodeMCU to track blind people’s
location using Google’s Geolocation API and this data is communicated with
others by using a application software in smartphone created by using Android
Studio. Whenever blind people met with a obstacle it would alert them by
using vibration using ultrasonic sensors. The stick is interfaced with other
features like LDR, Moisture sensor. The system has one more advanced feature
integrated to help the blind find their stick if they forget where they kept it. A
wireless RF based remote is used for this purpose. In order to control all these
sensors we use the popular Arduino as microcontroller.
1.2 OBJECTIVE OF THIS PROJECT
The objective of this project is to develop a stick interfacing with
ultrasonic sensors, NodeMCU, Moisture sensor, RF Transmitter and
Receiver and LDR controlled using microcontroller and to create an
application software using Android Studio which tracks our location.
7
1.3 LITERATURE SURVEY
1. S.Gangwar (2011) designed a smart stick for blind which can give early
warning of an obstacle using Infrared (IR) sensors. After identifying the
obstacles, the stick alerts the visually impaired people using vibration
signals. However the smart stick focused only for obstacle detection
but it is not assisting for emergency purposes needed by the blind.
And also the IR sensors are not really efficient enough because it can
detect only the nearest obstacle in short distance.
2. S.Chew (2012) proposed the smart white cane, called Blind spot that
combines GPS technology, social networking and ultrasonic sensors to
help visually impaired people to navigate public spaces. The GPS detects
the location of the obstacle and alerts the blind to avoid them hitting the
obstacle using ultra-sonic sensors. But GPS did not show the efficiency
in tracing the location of the obstacles since ultra-sonic tells the
distance of the obstacle.
All the studies show that, there are many techniques of making a smart stick for
blind people. However, the study conclusion shows that, using the ultrasonic
sensors would be an efficient solution to detect the obstacles with maximum
range of 7 meters and 45 degree coverage.
8
CHAPTER 2
ULTRASONIC SENSOR
2.1 Introduction
The ultrasonic sensor works on the principle of SONAR and
RADAR system which is used to determine the distance to an object.An
ultrasonic sensor generates the high-frequency sound (ultrasound) waves.
When this ultrasound hits the object, it reflects as echo which is sensed by
the receiver. By measuring the time required for the echo to reach to the
receiver, we can calculate the distance.
Fig 2.1 Ultrasonic Working Principle.
9
2.2 Ultrasonic Sensor Pin Configuration:
`
Fig 2.2 Ultrasonic Sensor HC-SR04
Pin
Number Pin Name Description
1 Vcc The Vcc pin powers the sensor, typically
with +5V
2 Trigger
Trigger pin is an Input pin. This pin has to
be kept high for 10us to initialize
measurement by sending US wave.
3 Echo
Echo pin is an Output pin. This pin goes
high for a period of time which will be
equal to the time taken for the US wave to
return back to the sensor.
4 Ground This pin is connected to the Ground of the
system
Table 2.1 Pin Description of Ultrasonic Sensor HC-SR04.
10
2.3 Ultrasonic Sensor Pin Features:
1. Operating voltage : +5V
2. Theoretical Measuring Distance : 2cm to 450cm
3. Practical Measuring Distance : 2cm to 80cm
4. Accuracy : 3mm
5. Measuring angle covered : <15°
6. Operating Current : <15mA
7. Operating Frequency : 40Hz
2.4 HC-SR04 Working Principle:
HC-SR-04 has an ultrasonic transmitter, receiver and control circuit. In
ultrasonic module HCSR04, we have to give trigger pulse, so that it will generate
ultrasound of frequency 40 kHz. After generating ultrasound i.e. 8 pulses of 40
kHz, it makes echo pin high. Echo pin remains high until it does not get the echo
sound back. So the width of echo pin will be the time for sound to travel to the
object and return back. Once we get the time we can calculate distance, as we
know the speed of sound.
11
2.5 HC-SR04 Procedure:
We need to transmit trigger pulse of at least 10 us to the HC-SR04 Trig Pin.
Then the HC-SR04 automatically sends Eight 40 kHz sound wave and wait for
rising edge output at Echo pin. When the rising edge capture occurs at Echo pin,
start the Timer and wait for falling edge on Echo pin. As soon as the falling edge is
captured at the Echo pin, read the count of the Timer. This time count is the time
required by the sensor to detect an object and return back from an object.
Fig 2.3 HC-SR04 Timing Diagram
2.6 Distance Calculation:
Distance = Speed x Time.
The speed of sound waves is 343 m/s.
So, Total Distance = (343 x Time of High(Echo) Pulse)/2
Total distance is divided by 2 because signal travels from HC-SR04 to
object and returns to the module HC-SR-04.
12
CHAPTER 3
MOISTURE SENSOR
3.1 Introduction:
The Moisture sensor is used to measure the water content of soil. A
typical Soil Moisture Sensor consists of two components. A two legged Lead,
that goes into the soil or anywhere else where water content has to be measured.
This has two header pins which connect to an Amplifier/ A-D circuit which is
in turn connected to the Arduino. The Amplifier has a Vin, Gnd, Analog and
Digital Data Pins. This means that you can get the values in both Analog and
Digital forms.
Fig 3.1 Moisture Sensor
13
3.2 Moisture Sensor Pin Configuration :
The soil Moisture sensor FC-28 has four pins
1. VCC : For power
2. A0 : Analog output
3. D0 : Digital output
4. GND : Ground
3.3 Moisture Sensor Pin Features:
The specifications of the soil moisture sensor FC-28 are as follows:
1. Input Voltage : 3.3-5V
2. Output Voltage : 0-4.2V
3. Input Current : 35mA
4. Output Signal : Both Analog and Digital.
3.4 Hardware and Software Required:
Moisture Sensor Module.
Arduino Uno.
Arduino IDE(1.0.6 Version).
14
3.5 Moisture Sensor Working:
The soil moisture sensor consists of two probes which are used to
measure the volumetric content of water. The two probes allow the current to
pass through the soil and then it gets the resistance value to measure the
moisture value. When there is more water, the soil will conduct more electricity
which means that there will be less resistance. Therefore, the moisture level will
be higher. Dry soil conducts electricity poorly, so when there will be less water,
then the soil will conduct less electricity which means that there will be more
resistance. Therefore, the moisture level will be lower. This sensor can be
connected in two modes; Analog mode and digital mode. The Module contains
a potentiometer which will set the threshold value and then this threshold value
will be compared by the LM393 comparator. The output LED will light up and
down according to this threshold value.
To connect the soil moisture sensor FC-28 in the digital mode,
Connect the digital output of the sensor to the digital pin of the Arduino.
When the sensor value will be greater than the threshold value, then the
digital pin will give us 5V and the LED on the sensor will light up and when
the sensor.
15
3.6 Moisture Sensor Circuit Connection:
The connections for connecting the soil moisture sensor FC-28 to the Arduino in
digital mode are as follows:
1. VCC of FC-28 - 5V of Arduino
2. GND of FC-28 - GND of Arduino
3. D0 of FC-28 - pin 12 of Arduino
4. Vibrator positive - pin 13 of Arduino
5. Vibrator negative - GND of Arduino
Fig 3.2 Moisture Sensor with Arduino
16
CHAPTER 4
STICK FINDER USING RF COMMUNICATION
4.1 Introduction Wireless communication is among technology’s biggest
contributions to mankind. Wireless communication involves the transmission of
information over a distance without help of wires, cables or any other forms of
electrical conductors. The transmitted distance can be anywhere between a few
meters (for example, a television’s remote control) and thousands of kilometres
(for example, radio communication). In this technology, the information can be
transmitted through the air without requiring any cable or wires or other electronic
conductors, by using electromagnetic waves like IR, RF, satellite, etc.
Fig 4.1 RF Communication Block Diagram
17
4.1.1 RF Module
The 433MHz wireless module is one of the cheap and easy to use
modules for all wireless projects. These modules can be used only in pairs and only
simplex communication is possible. Meaning the transmitter can only transmit
information and the receiver can only receive it. The module could cover a
minimum of 3 meters and with proper antenna a power supplies it can reach upto
100 meters.
The module itself cannot work on its own as it required some kind of
encoding before being transmitter and decoding after being received; so it has to be
used with an encoder or decoder IC or with any microcontroller on both ends. The
simplest way to use it is with the HT12E Encoder IC and HT12D Decoder IC. The
module uses ASK (Amplitude shift keying) and hence it’s easy to interface with
microcontrollers as well.
4.1.2 RF Module Specifications
1. Wireless (RF) Simplex Transmitter and Receiver
2. Transmitter Operating Voltage : +5V only
3. Transmitter Operating current : 9mA to 40mA
4. Operating frequency : 433 MHz
5. Modulating Technique : ASK (Amplitude shift keying)
6. Data Transmission speed : 10Kbps
7. Circuit type : Saw resonator
8. Low cost and small package.
18
4.2 RF Transmitter
Fig 4.2 RF Transmitter Pin Configuration
4.2.1 RF Transmitter Pin Description
1. Data : Data to be transmitted is sent to this pin
2. Vcc : Power supply
3. Ground : Connected to the ground of the circuit
4. Antenna : Solder wire/antenna to improve range
4.2.2 RF Transmitter Features
The Vcc pin has a wide range input voltage from 3V to 12V. The
transmitter consumes a minimum current of 9mA and can go as high as 40mA
during transmission. The center pin is the data pin to with the signal to be
transmitted is sent. This signal is then modulated using the ASK (Amplitude Shift
Keying) and then sent on air at a frequency of 433MHz. The speed at which it can
transmit data is around 10Kbps.
19
4.3 RF Receiver
Fig 4.3 RF Receiver Pin Configuration
4.3.1 RF Receiver Pin Description
1. Vcc : Power supply (3V to 12V)
2. Data : Data received can be obtained from this pin
3. Data : It serves the same purpose (any one can be used)
4. Ground : Connected to the ground of the circuit
5. Antenna : Solder wire/antenna to improve range
4.3.2 RF Receiver Features
The Vcc pin should be powered with a regulated 5V supply. The
operating current of this module is less than 5.5mA. The pins Dout and Linear out
is shorted together to receive the 433Mhz signal from air. This signal is then
demodulated to get the data and is sent out through the data pin.
20
4.4 Circuit Configuration
The circuit is divided into transmitter and receiver sections. The
transmitter section consists of an RF Transmitter, HT12E encoder IC and push
button. A 680 KΩ resistor is connected between the oscillator terminals of encoder
IC. This is to enable the oscillator
Fig 4.4 RF Transmitter Configuration
The receiver section consists of RF Receiver, HT12D Decoder IC and
LED. An extra LED is connected to VT (Valid Transmission) pin of the decoder
IC. This is used to indicate a successful transmission of data. A 33 KΩ resistor is
connected between the oscillator pins of decoder IC.
Fig 4.5 RF Receiver Configuration
21
CHAPTER 5
ANDROID STUDIO
5.1 Introduction
Android Studio is an integrated development environment (IDE)
from Google that provides developers with tools needed to build applications
for the Android OS platform.
Android Software Development Kit (SDK) is a toolset that enables
developers to create apps for Android OS. It includes the required libraries to
build Android apps, a debugger, an emulator, Application Programming
Interfaces (APIs) and sample projects with source code, so you can have
everything you need to start making your own apps.
The Android Virtual Device Manager provides a graphical user
interface to test your app on a virtual device.
5.2 Creating App using Android Studio
Step 1: Install Android Studio
1. Go to http://developer.android.com/sdk/index.html to download Android
Studio.
2. Use the installer to install Android Studio.
22
Step 2: Open a New Project
1. Open Android Studio.
2. Under the "Quick Start" menu, select "Start a new Android Studio
project."
3. On the "Create New Project" window that opens, name your project .
4. Click "Next."
5. Make sure on that "Phone and Tablet" is the only box that is checked.
6. If you are planning to test the app on your phone, make sure the
minimum SDK is below your phone's operating system level.
7. Click "Next."
8. Select "Blank Activity."
9. Click "Next."
10. Leave all of the Activity name fields as they are.
11. Click "Finish."
Step 3: Add a Button to the Main Activity
1. Navigate to the Design tab of the activity_main.xml display.
2. In the Palette menu to the left of the phone display, find Button (under
the heading Widgets).
3. Click and drag Button to be centered underneath your welcome message.
4. Make sure your button is still selected.
5. In the Properties menu (on the right side of the window), scroll down to
find the field for "text."
6. Change the text from "New Button" to "Clickme."
23
Step 4: Access Location from Database
1. Get the location from database when the database receives latitude and
longitude.
Fig 5.1 “CLICKME” Button to activity_main.
Step 5: Write the Button’s “onClick” method
1. Once the location received press the “CLICKME” button to
navigate the person to the blind one.
Fig 5.2 App Created using Android Studio.
24
Step 6: Build and run app.
1. In Android Studio, click the Run menu option (or the play button
icon) to run app.
2. When prompted to choose a device, choose one of the following
options:
3. Select the Android device that is connected to computer via USB.
4. Alternatively, select the LAUNCH EMULATOR button and
choose virtual device that is previously configured.
5. Click ok.
Android Studio will invoke Gradle to build app, and the display the
results on the device or on the emulator. It could take a couple of
minutes before the app opens.
25
CHAPTER 6
ARDUINO
6.1 Introduction
Arduino is an open-source platform used for building electronics
projects. Arduino consists of both a physical programmable circuit board (often
referred to as a microcontroller) and a piece of software, or IDE (Integrated
Development Environment) that runs on your computer, used to write and
upload computer code to the physical board.
The Arduino platform has become quite popular with people just
starting out with electronics, and for good reason. Additionally, the Arduino
IDE uses a simplified version of C++, making it easier to learn to program.
What you will need:
1. A computer (Windows, Mac, or Linux)
2. An Arduino-compatible microcontroller
3. A USB A-to-B cable, or another appropriate way to connect your
Arduino-compatible microcontroller to your computer.
26
6.2 Arduino Nano
Fig 6.1 Arduino Nano Pinout
The Arduino Nano, as the name suggests is a compact, complete and
bread-board friendly microcontroller board.
6.2 Arduino Nano Specifications:
Microcontroller : ATmega328P
Architecture : AVR
Operating Voltage : 5 Volts
Flash Memory : 32 KB of which 2 KB used by BootLoader
Clock Speed : 16 MHz
Analog I/O Pins : 8
EEPROM : 1 KB
Input Voltage : 7-12 Volts.
27
6.4 Arduino Nano Interfacing
Step 1: Install Arduino Software
1. Go to https://www.arduino.cc/en/Main/Software to download Arduino
Software.
2. Use the installer to install Arduino Software.
Step 2: Install Drivers for Arduino.
Step 3: Upload Code in Arduino.
Fig 6.2 Arduino Code for getting location.
1. Once arduino IDE is installed on the computer, connect the board with
computer using USB cable.
2. Now open the arduino IDE and choose the correct board by selecting
Tools>Boards>Arduino/Nano,
3. Choose the correct Port by selecting Tools>Port.
4. Once the code is loaded into your IDE, click on the ‘upload’ button given on
the top bar.
28
CHAPTER 7
NODEMCU
7.1 Introduction
NodeMCU is an open source IoT platform. It includes firmware which
runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based
on the ESP-12 module. The term "NodeMCU" by default refers to the firmware rather
than the development kits.
It is an Open source, Interactive, Programmable, Low cost , WiFi enabled ,
USB-TTL included System on Chip.
Fig 7.1 NodeMCU
29
7.2 NodeMCU Specifications
1. Wi-Fi Module – ESP-12E module similar to ESP-12 module but with 6
extra GPIOs.
2. USB – micro USB port for power, programming and debugging
3. Headers – 2x 2.54mm 15-pin header with access to GPIOs, SPI, UART,
ADC, and power pins
4. Power – 5V via micro USB port
5. Dimensions – 49 x 24.5 x 13mm
6. Memory: 128kb
7. Storage: 4Mb
8. Type: Single Board Microcontroller
Fig 7.2 NodeMCU Pin Configuration
30
CHAPTER 8
WEB HOSTING
8.1 Introduction
Web hosting is a service that enables individuals and companies to
make their website available and accessible to the whole world via World Wide
Web. It is a kind of internet hosting service whereby a web hosting company grants
its users space on ‘servers’ and provides internet connectivity. Thus, through the
use of webhost services, web pages consisting of contents, data, images etc. can be
viewed on the internet through varied technologies and services.
8.2 Website viewing
The only thing required to make your website accessible to internet
users is to have a domain for your website. The moment any internet user types
your domain or website address, the computer would automatically detect it and
would connect to your server. Consequently, the web pages would be delivered to
them through the browser.
31
8.3 000 Webhost
000Webhost is a website hosting service provider that helps
to host your own website and create a domain. 000Webhost, provides you
with Free Website hosting. It is one of the oldest; free web hosting providers in the
industry. Featured with distinctive features, this web host provides its users with an
opportunity to initiate something amazing via accessing web pages online. It’s
great for the start-up holders. It still continues to be a good source for bringing
ideas into reality.
8.4 Steps required to create a Domain.
1. Enter www.000webhost.com
2. Sign in with account.
3. Enter website name as blindstick.com
4. Click Manage database and click New database.
5. Enter database name, Username, Password
6. Click phpMyAdmin.
7. Enter table name = geolocationfinal,
No. of Columns = 3 (Id, Latitudegeo, Longitudegeo)
8. Open new file in notepad++, save as web1.php.
32
9. To find whether database is created or not,
i. Enter $mysql host = ‘local host’
ii. User = id5878428-testing.
iii. Password = testing.
iv. Data base name =id5878428-testing
10. Now create web2.php such that it gets Latitude and Longitude from our
database
11. Make the values in json format save as web3.php.
8.5 Accessing Database through Public URL.
1. Login to 000webhost.com
2. Click File Manager.
3. Create New Folder as api.
4. Upload the files of web1.php, web2.php, web3.php in api.
5. If we click and view web3.php, it would open as,
Blindstick.000webhostapp.com/api/web3.php
Fig 8.1 Public URL Displaying Location
6. It is public accessible URL, wherever we type this URL, we would get
updated database values
33
8.6 Accessing Location through Android Studio.
1. Now Open Android Studio.
2. Change json_url=http://blindstick.000webhostapp.com/api/web3.php
3. Run the app on our phone,
4. On pressing CLICKME button, it would display the contents of json_url
5. This app is made as public accessible by everyone on any networks.
Fig 8.2 CLICKME Button pressed.
34
CHAPTER 9
LOCATION TRACKING USING NODEMCU
9.1 Introduction
Yes it’s possible to get the location with just our tiny little ESP8266
board. We don’t need anything other than ESP board not even GPS module to get our
live co-ordinates. Yes but we do require one screen to display the co-ordinates. So how is
Geolocation using ESP8266 possible?
This is possible with Google’s Geolocation API.
9.2 Working of Google Geolocation
As you know google takes the input of our nearby WiFi routers and in
response gives us the coordinates. For that, google provides API and in that API
we need to provide some inputs like details of nearby wifi routers, detail of nearby
cell towers etc. Before using that API you need to get your API key working.
35
9.3 Getting API key
1. Go to http://developers.google.com/maps/documentation/geolocation/get-
api key
2. Enter project name as ESP8266.
3. Get API key which will be necessary to get location.
Fig 9.1 Displaying API key
4. Add the API key to the application.
https://www.googleapis.com/geolocation/v1/geolocate?key = API key.
5. In order to display the location, install the libraries “WiFiClientSource”,
“Arduino Json”, “Esp8266WiFi”.
6. In order to request URL, we need internet connection, connect with mobile’s
hotspot for that enter our hotspot name, password in code.
7. When WiFi is connected, it gets our nearby WiFi, routers, cell towers Mac
Address using NodeMCU.
8. When the URL is requested, it gives the latitude and longitude of our
location.
36
CHAPTER 10
RESULT &CONCLUSION
10.1 Results
The stick is successfully integrated to detect obstacles using ultrasonic
sensor, water sensing using moisture sensor, stick finder using RF transmitter and
RF Receiver, Location tracking using NodeMCU and a application software is
created using Android Studio to access the blind people’s location.
Fig 10.1 Final Completed Setup
37
10.2 Conclusion
The goal of the ultrasonic walking stick for visually impaired is to reduce
the difficulty faced by the visually impaired while maintaining its affordable price.
Blind person’s location can be tracked whenever needed which will ensure
additional safety.
REFERENCES
[1] Microprocessor Architeture, Programming and Applications with 8085 –
Ramesh S Gaonkar
[2] Microprocessor and Interfacing, Programming and Hardware – Douglas V
Hall
[3] The 8051 Microcontroller and Embedded Systems – Muhammad Ali Mazidi
[4] Arduino : 101 Beginners Guide – Erik Savasgard
[5] https://circuitdigest.com/electronic-circuits/rf-transmitter-and
[6] http://www.instructables.com/id/How-To-Create-An-Android-App-With-
[7] https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc- sr
[8] http://www.instructables.com/id/Arduino-Soil-Moisture-Sensor/
[9] https://electronicsforu.com/electronics-projects/gps-geolocation-using-
esp8266-projects