Project Report
Project Report
Project Report
In the guidance of Mr. Ankit Jain , H.O.D & Assistant Professor (IIST Indore)
ABSTRACT
This project is based on the application of Internet of Things (IOT) to our vehicles.
IoT involves extending internet connectivity beyond standard devices, such as
desktops, laptops, smartphones and tablets, to any range of traditionally dumb or
non-internet-enabled physical devices and everyday objects. Embedded with
technology, these devices can communicate and interact over the internet, and they
can be remotely monitored and controlled.
The number of IoT devices increased 31% year-over-year to 8.4 billion in 2017 and it
is estimated that there will be 30 billion devices by 2020. The applications of IOT
are endless. It can be used in agriculture, home automation, smart cities, traffic
management, medical field, industries, automobiles and so on.
The project focuses on making an effective system and then extending its
capabilities, so that it can also be operated from any location.
We have made a vehicle ignition system which can be controlled via internet from
any remote location, by using website as well as android application. It also has a
fingerprint sensor which can be used even when there is no internet connection.
The owner of the vehicle has options to add new users (fingerprints) and remove
existing users through android application or website.
PAGE 1
1. INTRODUCTION
Today’s world is far more dependent on internet than ever. Internet has simplified
our lives and work and has provided the connectivity to share documents, media,
and much more. But apart from these conventional ways of using internet, we can
do much more with it. We can connect the not so commonly connected appliances
like fridge, television, fans, etc. and switch them ON/OFF using internet. This is
called IOT (Internet of Things).
In this project we have made a smart vehicle ignition and self-start system. The
system uses fingerprint recognition to identify the users. When the user puts his
finger on the sensor window, his fingerprint gets scanned. If the fingerprints are
found to be valid, the ignition is automatically switched ON followed by a self-start.
If the scanned fingerprint is not a valid one, then no action is taken. The system
repeats this procedure if it is not connected to a wireless network with internet
access. But to add or remove users, the system needs to connect to a Wi-Fi network.
The owner of the vehicle can then permit a new registration through a website or
through MQTT client android app. The owner can also delete existing users’
fingerprints so that they can no longer use the vehicle. From the android app as well
as the website, the owner can also control ignition and self-start. When invalid
fngerprints are detected a buzzer creates an alarm.
The system uses NodeMCU as the microcontroller. This is the brain of the system.
NodeMCU is an open source IOT platform which has an on board ESP8266 SoC
(System on Chip). This allows it to connect to Wi-fi networks. Here we have used
MQTT protocol to transfer information between NodeMCU and other clients.
Clients may be the people (or owner) using MQTT client apps with valid credentials,
or the owner of the vehicle using the website. We have used Adafruit IO as the server
and the website for accessing the controls is: https://io.adafruit.com. The owner
needs to log in to the website using his login id and password.
Even in the MQTT client android apps (there are many such apps available), proper
credentials are required during setup. Hence it is secure and nobody without
username and AIO key can access it.
The terms and components mentioned above are further explained in detail later in
the report.
PAGE 2
2. HARDWARE USED
Following are the electronic components used in the project:
2.1 NodeMCU:
PAGE 3
2.2 Fingerprint Sensor Module (R307):
It works on 3.3V but there is also an option for providing 5V. R307 is very suitable
for fingerprint based security systems.
PAGE 4
• Security Level: Five (from low to high: 1,2,3,4,5)
• Fake rate (FAR): <0.001%
• Refusal rate (FRR): <1.0%
• Search time: <1.0 seconds (1: 1000 hours, mean value)
• Host interface: UART \ USB1.1
• Working environment: Temperature: -20 ℃ - +40 ℃ Relative humidity:
40% RH-85% RH (no condensation.
Current flowing through the coil of the relay creates a magnetic field which
attracts a lever and changes the switch contacts. The coil current can be on or off
so relays have two switch positions and most have double throw (changeover)
switch contacts as shown in the diagram.
Relay coils may be rated 5V, 12V etc. Here the relay board has two 5V relays.
PAGE 5
On the module we have COM, NO
and NC of both relays on the screw
terminals. The power for the board
and the coil need to be supplied on
the header pins. Two more header
pins – in1 and in2 are used to control
the switching of the relays. If voltage
level at in1 is HIGH (5v), the relay 1
will be ON and if the voltage level is
LOW (0v), it will be OFF. Same
applies for in2 and relay 2.
Voltage sources in a circuit may have fluctuations resulting in not providing fixed
voltage outputs. A voltage regulator IC maintains the output voltage at a constant
value. 7805 IC, a member of 78xx series of fixed linear voltage regulators used to
maintain such fluctuations, is a popular voltage regulator integrated circuit (IC).
The xx in 78xx indicates the output voltage it provides. 7805 IC provides +5 volts
regulated power supply with provisions to add a heat sink.
7805 IC Rating
Current rating Ic = 1A
Pin
Function Name
No
1 Input voltage (5V-18V) Input
2 Ground (0V) Ground
3 Regulated output; 5V (4.8V-5.2V) Output
PAGE 6
2.5 Miscellaneous:
For the power we have used the battery of the vehicle itself, which is 12V lead acid
battery. We have regulated it to 5V using the voltage regulators. For making
connections, jumper wires have been used, along with soldering at required points.
An aluminium heat sink has been fitted to the voltage regulators to dissipate the
heat produced by the linear regulators.
Adafruit IO: Adafruit IO is a system that makes data useful. It is easy to use, and
allowing simple data connections with little programming required. IO includes
client libraries that have MQTT APIs.
3. CIRCUIT CONNECTIONS
PAGE 7
4. SOFTWARE USED
To program the NodeMCU, we can use Arduino IDE, which is the most common
platform used for projects.
After writing the code in the library, we just need to compile the code and connect
the NodeMCU to one of the USB ports of the computer. Then we select the COM
port on which our board is available, set the board type to the desired one and
click upload. During upload, the LED on the microcontroller board flashes.
PAGE 8
LIBRARIES USED:
5. BLOCK DIAGRAM
Send Data
Self Start
PAGE 9
6. WORKING
As soon as we power the system ON through the switch, it gets distributed to the
MCU, relay board and fingerprint sensor module. The MCU starts initialization by
establishing connection with a Wi-Fi network. The network must be configured
accordingly with the SSID and password set in the code. This can be kept
confidential so only authorized persons can connect to it. After this, it also checks
whether the fingerprint sensor is available. When an invalid fingerprint is detected
buzzer it the circuit get ON and makes alert.
After this, the system may enter one of the two modes:
1. ONLINE MODE:
When the system succeeds to connect to a Wi-Fi network with internet access, it
connects to the MQTT services. Now the user can control the system through the
dashboard of Adafruit website or through MQTT client android application (e.g.
MQTT Dashboard). Controls are as follows:
C. Register New User: The owner can add new users’ fingerprints in the system
by publishing user number and user name followed by clicking register button.
After this, the sensor LED will blink continuously. The new user can the register by
putting his finger on the sensor window twice.
D. Delete Existing Users: The owner can remove any user from the record by
publishing user number and user name followed by clicking remove button.
That user will no longer be able to start the vehicle by his fingerprint.
The list of user names with their number can be seen in the adafruit io website
under feed history. Along this process, the system also regularly checks if any valid
finger is available on the sensor window.
2. OFFLINE MODE:
In the initialization (setup) if the system fails to connect to Wi-Fi, it enters into the
offline mode. This may happen due to the unavailability of a network with
required credentials. However, a connection is mandatory only for registration and
deletion. In the offline mode, the system simply checks fingerprint sensor
availability and enters the loop. Now it regularly checks for valid fingerprint
PAGE 10
which have already been registered. As soon as it finds one, it switches the ignition
ON and initiates self-start. The duration of the self-start is kept enough to start the
bike, but not too long as it may affect the battery.
RESET/POWER
ON
CONNECT TO
WIFI (TRY 3
TIMES)
SUCCESSFUL FAILED
SUBSCRIBE TO
MQTT SERVICES SET UP
FINGERPRINT
SENSOR
MODULE
SET UP
FINGERPRINT
SENSOR
MODULE
LOOP
BASED ON MQTT
COMMANDS VALID INVALID
SWITCH IFNITION FINGERPRINT FINGERPRINT
ON/OFF, SELF
START,
ADD/REMOVE
USERS
SWITCH ON
IGNITION AND
START BIKE RESTART LOOP
RESTART LOOP
PAGE 11
7. CHALLENGES FACED
There were some difficulties while making the project, which were eventually
solved:
1. The code is very long and complicated to make, and manage. Even a small
mistake in the code may lead to a lot of errors and takes a good amount of time to
resolve. This was overcome by using comments more often and by indentation.
2. All the components work at 5V, so we need to use voltage regulators. However,
using a single 7805 to power everything leads to voltage drop and the relays do not
function properly. Thus we used separate 7805 ICs. One for NodeMCU and
fingerprint module, and the other one for the relay module. A heat sink was also
needed for the regulators.
8. CONCLUSION
The world is shifting towards IoT applications, there is wide range of applications
which can be controlled, analyzed and serviced over the internet. Data can be
tracked to maintain things before any wear and tear. Similarly, these project is
focused on providing safety features in vehicles as the thefts are increasing and it is
easy to have clone keys. There may be situations when we forget keys here and
there, then it will be much easier to control vehicle with an app or just by
fingerprint. We have also provided controls by giving voice commands to google
assistant.
We are adding some more features like notification with location of vehicle when
invalid fingerprint is detected for several times.
IOT is surely going to change our lives with more safety and comfort.
PAGE 12