Uploaded by siwacharchit827

Report[1]

advertisement
An
Internship Report
ON
“IOT Technology ”
From
“Internshala/Kodacy”
Including
“Smart Plant Monitoring System using IOT”
SUBMITTED BY:
ARCHIT SIWACH(2101331550018)
GAURAV KUMAR SINGH(2101331550029)
ANOOP KUMAR SAHANI(2101331550017)
(Group No -28)
Under Supervision of
Mr. Utsav Malviya
Head of Department CSE( IOT)
November 2022
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
(INTERNET OF THINGS)
NOIDA INSTITUE OF ENGINEERING AND TECHNOLOGY,
GREATER NOIDA
STUDENT’S DECLARATION
I hereby declare that the work which is being presented in the course report
entitled “IoT Technology” in fulfilment of the requirement for the award of the
Degree of Bachelor of Technology in Department of Internet of Things of Noida
Institute of Engineering and Technology, Gautam Buddha Nagar, Greater Noida,
Uttar Pradesh is an authentic record of my own work carried out during III
semester.
Date :_____________
Signature of Project Group:
Anoop Kumar Sahani (GL):_____________ Rollno.:2101331550017
Gaurav Kumar Singh:__________________ Roll no.:2101331550029
Archit Siwach:______________ Roll no.:2101331550018
Signature of:
Project Guide: _________
Session:2022-23
Head of Dept: (Stamp of organization)
2|Page
Internship report Department of CSE(IOT)
ACKNOWLEDGEMENT
We are highly grateful of our supervisor Mr. Utsav Malviya, HOD of IoT at Noida
Institute of Engineering and Technology, Greater Noida, Uttar Pradesh, for giving
us chance to introduce our project and it’s report to all. With the guidance and
support that we received from our supervisor is cannot be comprised, an
unforgettable thanks for the help we got in completion of courses.
Also, can’t thanks enough to all faculty members of IoT department for their
support in this work.
Finally, the author is indebted to all whosoever have contributed in this report
work.
Anoop kumar Sahani
Archit Siwach
Gaurav kumar Singh
Session:2022-23
3|Page
Internship report Department of CSE(IOT)
INDEX
S. NO.
Tittle
Pg No.
1
Internship certificate
5
2
Abstract
8
3
Technology Background
9
4
Project problem Background
30
5
Project Module
31
6
Snapshot of Project
47
7
Applications
8
References
49
50
Session:2022-23
4|Page
Internship report Department of CSE(IOT)
Internship Certificates
Session:2022-23
5|Page
Internship report Department of CSE(IOT)
Session:2022-23
6|Page
Internship report Department of CSE(IOT)
Session:2022-23
7|Page
Internship report Department of CSE(IOT)
Abstract
As we can see in today’s world only some devices like PC’s and mobiles are
connected to internet. Now-a-days world is fully overtaken by the internet and
internet of things. Internet is use for basic need of all human beings. The Internet
of Things (IOT) is the network of physical objects. It simply means to monitor a
physical device or machine or it is inter-networking of physical devices which is
embedded with electronics, sensors, software and network connectivity to enable
it to achieve greater value and services by exchanging data with the manufacturer
Agriculture is the backbone of our country; most of the people depend on
agriculture.[1] The main issue in agriculture is water scarcity. The water resource
is not used in an effective manner, so the water is wasted. In order to overcome
this irrigation process can be automated.
The use of Internet of things in this field will be helpful to reduce the wastage of
water. So that the temperature as well as humidity and light are measured by
means of sensors and depend up on the outcome further processing can be
performed. We propose a system that will capture all the details about the soil
and the temperature by means of different sensors IOT permits objects to be
sensed or controlled remotely across the network infrastructure. The result
improves accuracy, economic benefits, efficiency and reduces intervention of
human.
.Arduino UNO is used as microcontroller to implement the control unit. The set
up uses the temperature sensor, moisture sensor and humidity sensor which
measure the approximate temperature, moisture and humidity in the soil. This
value enables the system to use appropriate quantity of water which avoids
over/under irrigation. [2]The signal will be sent to Arduino board when the
moisture level drops below the marginal value, which triggers the pumping of
water into the plant by the pump. When the moisture level reaches absolute value,
the pump is halted. The other condition for this process is level sensor…
Session:2022-23
8|Page
Internship report Department of CSE(IOT)
Technology Background
Archit Siwach
For my technology background, I have done my internship in programming in
python.it was a very interesting course or you can say training . in this course they
taught us many important things for you to have know as a python coder and
developer of same.in my internship there are 8 modules these modules also
consist of the videos and some quizzes in the middle of the videos we also get
some quiz test in the end of every module.for my final submission in the
internship I have to give a project namely “make a fantasy cricket team using
python and dbms ”.this was a very interesting project in this we mainly use python
and on the backend we used sqlite and DBMS. Python is also a very interesting
programming language.now we are going to see about the details regarding the
python,SQLite and DBMS…
What is Python?
Python is a popular programming language. It was created by Guido van Rossum,
and released in 1991.
It is used for:




web development (server-side),
software development,
mathematics,
system scripting.
What can Python do?







Python can be used on a server to create web applications.
Python can be used alongside software to create workflows.
Python can connect to database systems. It can also read and modify files.
Python can be used to handle big data and perform complex mathematics.
Python can be used for rapid prototyping, or for production-ready software
development.
Python can be used to study block chain.
Python can also be used to create great animation.
Session:2022-23
9|Page
Internship report Department of CSE(IOT)
Why Python?





Python works on different platforms (Windows, Mac, Linux, Raspberry Pi,
etc).
Python has a simple syntax similar to the English language.
Python has syntax that allows developers to write programs with fewer lines
than some other programming languages.
Python runs on an interpreter system, meaning that code can be executed as
soon as it is written. This means that prototyping can be very quick.
Python can be treated in a procedural way, an object-oriented way or a
functional way.
What are the disadvantages of python?
Python is slower than other languages. There is a trade of between how high level
and abstract a programming language, is and how efficient it is in terms of
memory usage and space usage. Python is not low level, so its not as fast or
efficient as a compiled, lower level language like java or rust . its less common
to use python to build distributed database system to other system where speed is
incredibly important.There is also some concerns about scalability, although I
know that you can make python scalable with different implement.
Good to know


The most recent major version of Python is Python 3, which we shall be using
in this tutorial. However, Python 2, although not being updated with anything
other than security updates, is still quite popular.
In this tutorial Python will be written in a text editor. It is possible to write
Python in an Integrated Development Environment, such as Thonny,
Pycharm, netbeans or Eclipse which are particularly useful when managing
larger collections of Python files.
Python Syntax compared to other programming languages



Python was designed for readability, and has some similarities to the English
language with influence from mathematics.
Python uses new lines to complete a command, as opposed to other
programming languages which often use semicolons or parentheses.
Python relies on indentation, using whitespace, to define scope; such as the
scope of loops, functions and classes. Other programming languages often use
curly-brackets for this purpose.
Session:2022-23
10 | P a g e
Internship report Department of CSE(IOT)
What is DBMS?
Database Management System (DBMS) is software for storing and retrieving
users’ data while considering appropriate security measures. It consists of a group
of programs that manipulate the database. The DBMS accepts the request for data
from an application and instructs the operating system to provide the specific
data. In large systems, a DBMS helps users and other third-party software store
and retrieve data.
DBMS allows users to create their own databases as per their requirements. The
term “DBMS” includes the user of the database and other application programs.
It provides an interface between the data and the software application.
History of DBMS
Here, are the important landmarks from the history of DBMS:









1960 – Charles Bachman designed the first DBMS system
1970 – Codd introduced IBM’S Information Management System (IMS)
1976- Peter Chen coined and defined the Entity-relationship model, also
known as the ER model
1980 – Relational Model becomes a widely accepted database component
1985- Object-oriented DBMS develops.
1990s- Incorporation of object-orientation in relational DBMS.
1991- Microsoft ships MS access, a personal DBMS, and that displaces all
other personal DBMS products.
1995: First Internet database applications
1997: XML applied to database processing. Many vendors begin to integrate
XML into DBMS products.
Characteristics of DBMS
Here are the characteristics and properties of a Database Management System:








Provides security and removes redundancy
Self-describing nature of a database system
Insulation between programs and data abstraction
Support of multiple views of the data
Sharing of data and multiuser transaction processing
Database Management Software allows entities and relations among them to
form tables.
It follows the ACID concept ( Atomicity, Consistency, Isolation, and
Durability).
DBMS supports a multi-user environment that allows users to access and
manipulate data in parallel.
Session:2022-23
11 | P a g e
Internship report Department of CSE(IOT)
Popular DBMS Software
Here is the list of some popular DBMS systems:










Microsoft Access
Oracle
PostgreSQL
dBASE
FoxPro
SQLite
IBM DB2
LibreOffice Base
MariaDB
Microsoft MySql server.
Application of DBMS
Below are the some application of DBMS
Object-Oriented Model
In the Object-oriented Model data is stored in the form of objects. The structure
is called classes which display data within it. It is one of the components of
DBMS that defines a database as a collection of objects that stores both data
members’ values and operations.
Session:2022-23
12 | P a g e
Internship report Department of CSE(IOT)
What is Object-Oriented Programming?
Object-oriented programming has a sweeping impact because it appeals at
multiple levels and promises faster and cheaper development and maintenance.
It follows a bottom-up approach to develop applications.
In this section, we will discuss in-depth what is object-oriented
programming?
The word object-oriented is the combination of two words i.e ObjectOriented Programming:
object and oriented The dictionary meaning of the object is an article or entity
that exists in the real world. The meaning of oriented is interested in a particular
kind of thing or entity. In layman's terms, it is a programming pattern that
rounds around an object or entity are called object-oriented programming.
The technical definition of object-oriented programming is as follows:
The object-oriented programming is basically a computer programming design
philosophy or methodology that organizes/ models software design around data,
or objects rather than functions and logic.
Why should we use OOP?
Object-oriented programming is an evolutionary development in software
engineering. Using OOP in software development is a good habit because it
accomplishes the three major software engineering goals, as we have shown in
the following figure.
It is the most popular programming model among developers. It is well suited for
programs that are large, complex, and actively updated or maintained. It
simplifies software development and maintenance by providing major concepts
such as abstraction, inheritance, polymorphism, and encapsulation. These
core concepts support OOPs. Another reason to learn OOPS programming is that
it is very easy to understand and easy to interpete.you can also go for oops if you
want to learn for the wide range of developing topic and range of building blocks
that how to create an app,website. We use see oops approach in blockchain
building and many form of storing data concepts.
Session:2022-23
13 | P a g e
Internship report Department of CSE(IOT)
Benefits of OOP:
o
Modular, scalable, extensible, reusable, and maintainable.
o
It models the complex problem in a simple structure.
o
Object can be used across the program.
o
Code can be reused.
o
We can easily modify, append code without affecting the other code blocs.
o
Provides security through encapsulation and data hiding features.
o
Beneficial to collaborative development in which a large project is divided
into groups.
o
Debugging is easy.
Limitations of OOP:
o
Requires intensive testing processes.
o
Solving problems takes more time as compared to Procedure Oriented
Programming.
o
The size of the programs created using this approach may become larger than
the programs written using the procedure-oriented programming approach.
o
Software developed using this approach requires a substantial amount of prework and planning.
o
OOP code is difficult to understand if you do not have the corresponding class
documentation.
o
In certain scenarios, these programs can consume a large amount of memory.
o
Not suitable for small problems.
o
Takes more time to solve problems.
List of Object-Oriented Programming Languages:
we have enlisted some popular and widely used OOP languages
are Java, C++, C#, Python, R, PHP, Visual,Basic.NET, JavaScript, Ruby, Perl,o
ObjectPascal, Objective-C, Dart, Swift, Scala, Kotlin,CommonLisp, MATLAB,
and Smalltalk and there are many other languages that uses oops as their reference
to build many things.
Session:2022-23
14 | P a g e
Internship report Department of CSE(IOT)
II Anoop Kumar Sahani
In the training I learned about various technology to create a fully functional
website using
HTML
CSS
JAVASCRIPT
BOOTSTRAP
DBMS
PHP
REACT
HTML
 The current standard for the language that describes the contents of the
webpage.
 The current standard for the language that describes the contents of the
webpage.
 HTML is a markup language. It tells the web browser what content to display.
 Every HTML document (web page) consists of tags and character data.
 Tags are elements enclosed in angle brackets.
 Opening and ending tag must be use together.
 An element is a combination of a tag and its character data.
 Welcome to the world
CSS Module
• CSS stands for Cascading Style Sheet.
•CSS(Cascading Style Sheets) is used to style and layout web pages-for example
,to alter the font ,color ,size , and spacing of your content ,split it into multiple
columns , or add animation and other decorative feature
• 3 Ways to do Styling
• Inline Style
• Internal Style Sheets
Session:2022-23
15 | P a g e
Internship report Department of CSE(IOT)
Why use Css?
• Saves a lot of time
• Provide more attributes
• Pages load faster
• Easier Website maintenance
• Multiple device compatibility
Bootstrap
• Bootstrap makes responsive web design a responsive web design a reality.
• It makes it possible for a web page or app to detect the visitor’s screen size and
orientation and automatically adapt the display accordingly.
DBMS
• The Web-based database management system is one of the essential parts of
DBMS and is used to store web application data . A web –based Database
management system is used to handle those databases that are having data
regarding E-commerce, E-business, blogs, e-mail, and other online applications.
PHP Module
• PHP (Hypertext Pre-processor) is know as a general purpose scripting language
that can be used to develop dynamic and interactive website .it was among the
first server-side languages that could be embedded in to HTML, making it easier
to add
Java Script
JavaScript can make the website more interactive and user friendly of JavaScript
helps easy navigation of the website and helps designers to guide the visitors with
additional information or guide them through walkthroughs Visual effects can
also be achieved with JavaScript
React Module
React JS allows complete flexibility to the developer. You can use it for creating
SPAs ,mobile or hybrid apps ,even a TV application. You can add as many
external libraries and tools as required and build a massive , complicated web
application .ReactJS will ensure your app performance Is optimized.
Session:2022-23
16 | P a g e
Internship report Department of CSE(IOT)
Brief description of course.
• In web-development we learn various technology ex HTML, CSS ,Bootstrap ,
DBMS, PHP, JavaScript, React.
• HTML used for Frontend development of website.
• CSS used also Frontend development with style and layout web pages.
• Bootstrap makes responsive web design a responsive web design a reality.
• DBMS used to store web application data .
• PHP is used to develop dynamic and interactive website.
• JavaScript can make the website more interactive and user friendly of JavaScript
helps easy navigation of the website.
• React can use it for creating SPAs ,mobile or hybrid apps even a TV application
• In this course, we will learn the basic tools that every web page coder needs to
know. We will start from the ground up by learning how to implement modern
web pages with HTML , CSS, DBMS . We will then advance with PHP
,JavaScript and React and build a website from scratch . Learning how to code
our pages such that its components rearrange and resize themselves automatically
based on the size of the user’s screen. You’ll be able to code up a web page that
will be just as useful on a mobile phone as on a desktop computer. No “pinch and
zoom” required! Last but certainly not least, we will get a thorough introduction
to the most
Course Learning outcomes.
• Structure and implement HTML/CSS.
• Apply Intermediate and advanced web development practices.
• Implement basic javaScript.
• Develop a fully functioning website and deploy on web server.
• Find and use code packages based on their documentation to produce working
results in a project.
• Create webpages that function using external data.
• Develop JavaScript applications that transition between states.
Session:2022-23
17 | P a g e
Internship report Department of CSE(IOT)
• Architect solutions to programming problems by combining visual components
and classes.
• Develop JavaScript applications that transition between states.
• Identify mobile strategies and design for multiple operating systems.
• Derive information from data and implement data into applications.
• Authenticate, store, and structure user data.
Applications of the course.
• We can design a web page by using HTML, CSS.
• We can create a fully functional website as requirement of client
• After learning this course we will be able to create a web applications
• After learning this course we can manage lot of data by using DBMS
• Web application development will typically have a short development life-cycle
lead by a small development team. Front-end development for web applications
is accomplished through client-side programming. Client refers to a computer
application such as a web browser. Client-side programming will typically utilize
HTML, CSS and JavaScript.
Gaurav Kumar Singh
For my technology background, I have done my internship in Robotics.It was a
very interesting course, or you can say training. In this course they taught me
many important things for the better understanding the robotics background. In
my internship I have learned about various hardware and software used to make
Robots.There are about total four working models are discussed with their circuit
diagrams and coading essentials. It also contains some good videos about the
projects. From where I have learnt many things about hardware and how they can
be used or connect in a circuit. Which helped me a lot while working in projects.
What is Robotics?
Robotics is the intersection of science, engineering and technology that produces
machines called robots that substitute or replicate human actions.
Session:2022-23
18 | P a g e
Internship report Department of CSE(IOT)
Types of robots
 Pre-programmed Robots
 Humanoid Robots
 Autonomous Robots
 Teleoperated Robots
 Augmenting Robots
Preprogrammed Robots
Pre- programmed robots operate in a controlled environment where they do
simple and monotonous tasks. An example of a preprogrammed robot would be
a mechanical arm on an automotive assembly line
Humanoid Robots
A humanoid robot is a robot with its body shape built to resemble the human
body. The design may be for functional purposes, such as interacting with
human tools and environments, for experimental purposes, such as the study of
bipedal locomotion.Some humanoid robots also have heads designed to replicate
human facial features such as eyes and mouths.
Teleoperated Robots
Tele-operated robots are remotely controlled robots. they might have some sort
of intelligence, but normally they take their command from a human operator and
execute exactly as instructed. Right now, tele-operated robots are mostly used in
medical surgeries and military operations.
Augmenting Robots
Augmenting robots generally enhance capabilities that a person has or replace the
abilities that a person has lost. The most common example of an augmenting
medical device would be a prosthetic limp. or bionic arm.
Session:2022-23
19 | P a g e
Internship report Department of CSE(IOT)
Autonomous Robots
An autonomous robot is a robot that is designed and engineered to deal with its
environment on its own, and work for extended periods of time without human
intervention. A truly autonomous robot is one that can perceive its environment,
make decisions based on what it perceives and/or has been programmed to
recognize conditions and then actuate a movement or manipulation within that
environment.
Introduction to Robochip
The Space Robochip is a microcontroller which has 7 digital pins. The Pin 0 is
also considered as the transmitter pin (Tx) and Pin 1 is also considered as receiver
pin (Rx).
Playing with LED
Code - LED Blink
void setup() {
pinMode(6, OUTPUT);
}
void loop(){
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);}
Session:2022-23
20 | P a g e
Internship report Department of CSE(IOT)
Ultrasonic Sensor
An ultrasonic sensor is an electronic device that measures the distance of a target
object by emitting ultrasonic sound waves. Usually a normal ultrasonic sensor
will have 4 pins.
In order to generate the ultrasound we need to set the Trigger Pin on a High State
for 10 microseconds. That will send out an 8 cycle sonic burst which will travel
at the speed sound and it will be received in the Echo Pin. The Echo Pin will
output the time in microseconds the sound wave traveled.
• Experiment Connections:
• Vcc to 5V of Space Robochip
• Trig to Digital Pin 5 of Space Robochip
• Echo to Digital Pin 6 of Space Robochip
GND to GND of Space Robochip
Motor Driver
• As the name suggest a motor driver IC or module is used to drive the motors
of a robot. We are using it as a kind of protection from high voltages which
would damage our microcontroller board which in this case is our Space
Robochip.
• Its because our microcontroller board only require maximum of 5v to run but
for motors we need more voltage for its proper working. So we use this driver
as a link to carry out both the jobs together, which is the proper working of
microcontroller board as well as the motors
Session:2022-23
21 | P a g e
Internship report Department of CSE(IOT)
Obstacle Avoidance Robot
Code - Obstacle Avoidance Robot
#define echo 5
#define trig 6
#define led 13
void setup()
{
pinMode(trig, OUTPUT);
pinMode(echo,INPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
}
void loop()
{
long time,dist;
digitalWrite(trig,LOW);
delayMicroseconds(2);
Session:2022-23
22 | P a g e
Internship report Department of CSE(IOT)
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
time = pulseIn(echo,HIGH);
dist = time/2/29.1;
Serial.println(dist);
delay(1000);
if (dist<100)
{
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}
else
{
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
}
}
Session:2022-23
23 | P a g e
Internship report Department of CSE(IOT)
Line Following Robot
Code - Line Following Robot
const int r1=1, r2=2, l1=3, l2=4;
const int LS = 6;
const int RS = 5;
int L,R;
void setup()
{
pinMode(LS, INPUT);
pinMode(RS, INPUT);
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(l1, OUTPUT);
pinMode(l2, OUTPUT);
digitalWrite(r2,LOW);
digitalWrite(l2,LOW);
}
void loop()
Session:2022-23
24 | P a g e
Internship report Department of CSE(IOT)
Joystick Robot
Code - Joystick Robot
char t;
const int r1=2,r2=3,l1=4,l2=5;
void setup() {
Serial.begin(9600);
pinMode(r1,OUTPUT);
pinMode(r2,OUTPUT);
pinMode(l1,OUTPUT);
pinMode(l2,OUTPUT);
}
void loop() {
if(Serial.available()){
t = Serial.read();
}
if(t == ‘F’){
digitalWrite(r1,HIGH);
digitalWrite(r2,LOW);
digitalWrite(l1,HIGH);
digitalWrite(l2,LOW);
}
Session:2022-23
25 | P a g e
Internship report Department of CSE(IOT)
else if(t == ‘B’){
digitalWrite(r1,LOW);
digitalWrite(r2,HIGH);
digitalWrite(l1,LOW);
digitalWrite(l2,HIGH);
}
else if(t == ‘L’){
digitalWrite(r1,HIGH);
digitalWrite(r2,LOW);
digitalWrite(l1,LOW);
digitalWrite(l2,HIGH);
delay(100);
t = ‘S’;
}
else if(t == ‘R’){
digitalWrite(r1,LOW);
digitalWrite(r2,HIGH);
digitalWrite(l1,HIGH);
digitalWrite(l2,LOW);
delay(100);
t = ‘S’;
Session:2022-23
26 | P a g e
Internship report Department of CSE(IOT)
Project problem background
To reduce the problem faced by the farmers in old times like irrigation, weather
details, climatic changes it will alert the farmer about the weather predictment so
that they can start the countermeasures. Farmers cannot precisely detect
environmental condition around the plant.peoples only know the wetness of soil,
humidity and temperature around the plant by feel it themselves.
Session:2022-23
27 | P a g e
Internship report Department of CSE(IOT)
Project Module
In this project we have used many hardware’s, some of the bace softwares and
one or two application’s.
In this project module we have three sections to describe our project thoroughly
1.Hardwares description 2.Softwares
I. Hardware
This section gives brief description about the hardware components.
A. Power supply
A Power supply is an electrical device that supplies electric power to an electrical
load. The function of a power supply is to convert electric current from a source
to the correct voltage, current and frequency to power the load.
B. Moisture Sensor
Sensor can be used to test the moisture of soil, when the soil is having water
shortage, the module output is at high level, and else the output is at low level, by
using this sensor one can automatically water crops. Module triple output mode,
digital output is simple, analog output more accurate, serial output with exact
readings.
Session:2022-23
28 | P a g e
Internship report Department of CSE(IOT)
C. Temperature And Humidity Sensor
DTH 22/11 DHT11 digital temperature and humidity sensor is a composite
Sensor contains a calibrated digital signal output of the temperature and humidity.
The sensor includes a resistive sense of wet components and an NTC temperature
measurement devices, and connected with a high-performance 8-bit
microcontroller. This sensor can be easily interfaced with any micro-controller
such as Arduino , Raspberry Pi, etc… to measure temperature and humidity
instantaneously. To measure the surrounding air this sensor uses an thermistor
and a capacitive humidity sensor. [3]
D. Relay
relay is an electrically operated device. It has a control system and (also called
input circuit or input contactor) and controlled system (also called output circuit
or output contractor ). It is frequently used in automatic control circuit. To put it
simply, it is an automatic switch to controlling a high-current circuit with a lowcurrent signal. The single channel relay module is more than just a plain relay, it
comprises of a components that make switching and connection easier and acts
as indicators to slow if the module is powered and if the relay is active or not.
Session:2022-23
29 | P a g e
Internship report Department of CSE(IOT)
E. Submersible pump
A submersible pump (or sub pump, electric submersible pump (ESP)) is a device
which has a hermetically sealed motor close coupled to the pump body. The
whole assembly is submerged in the fluid to be pumped. The main advantage of
this type of pump is that it prevents pump cavitation, a problem associated with a
high elevation difference between pump and the fluid surface. Submersible
pumps push fluid to the surface as opposed to jet pumps which create a vacuum
and rely upon atmospheric pressure. Submersibles are more efficient than jet
pumps. Hydraulic submersible pumps (HSP's) use pressurized fluid from the
surface to drive a hydraulic motor down hole, rather than an electric motor, and
are used in heavy oil applications with heated water as the motive fluid.[4]
F. OLED Display
A 2 X 2 OLED display is very basic module and is very commonly used in various
devices and circuits. These modules are preferred over seven segments and other
multi segment LEDs.[5]
Session:2022-23
30 | P a g e
Internship report Department of CSE(IOT)
G. Battery
These battery cells can be used as a standlone unit in any rechargeable device or
connected to form a high capacity battery packs. Because they are lighter in
weight and have a higher energy density than others rechargeable batteries. These
3.7V lithium cells are utilised in various applications such as flashlights,
solarlights, powerbanks, toys and so on. The maximum voltage that can be
endured by this battery is 4.2V.capacity of this battery is 5000mAh.
H. Arduino UNO
The Arduino Uno is a type of Arduino board that is provided as an open-source
board that uses an ATmega328p microcontroller in the board. The Arduino Uno
contains a set of analog and digital pins that are input and output pins which are
used to connect the board to other components. There are a total of fourteen I/O
pins placed inboard in which six are analog input pins. The board has a USB
connection that can be used to a power supply to the board. The board is used for
electronics projects and used to design the circuit. The Arduino UNO board is
used for an electronics project and mostly preferred by the beginners. The
Arduino UNO board I type of Arduino board only. The Arduino board is the most
used board of all Arduino boards. The board contains 14 digital input/ output pins
in which 6 are analog input pin, one power jack, USB connector, one reset button,
ICSP header, and other components. All these components are attached in the
Arduino UNO board to make it functioning and can be used in the project. The
board is charged by USB port or can be directly charged by the DC supply to the
board.[6]
Session:2022-23
31 | P a g e
Internship report Department of CSE(IOT)
Why is Arduino UNO used and why we’re also using it,
The Arduino UNO board is mostly used by the beginners that can use in
electronics project and do programming in this board. The board has regular
innovation and a bug fix in the design of the board to make the board suitable for
the project’s use. The Arduino UNO board is considered as the most used board
and a standard board used by the rookie in their projects. The Arduino UNO board
is primarily used over other Arduino products because of the following reaons.
1. As the board can be easily connected to the other computer system via USB
port. The USB port fixed in the board serves two purposes. It can be used to
supply the power supply to the board and can act as a serial device to connect
the board to a computer system.
2. The board is capable to get the power supply from DC adaptor having a
voltage of 12 V. The board can be charged from this external power supply.
3. The microcontroller used in the board I.e. ATmega328 has the flexibility
provided to the board. It means the controller chip can be replaced, removed
from the board in case of damage or improper functioning of the chip. This
flexibility functionality is not provided in other Arduino boards.
4. The board pins are capable of functioning for constant power supply of 5 v.
The digital and analog pins are used to adjust the voltage supply in the board.
5. As the board design is simple it can be used by multiple users and the
community support for the Arduino UNO board.
6. The Arduino UNO board has a list of several hardware components and has
the capability to interact with those devices. The device includes Bluetooth,
internet, motor control, and many more.
7.
The main use of the Arduino UNO board over other Arduino board is the price
factor. The price of this board is lowest compared to other Arduino products.
This is the main reason beginners prefer this board over other boards.
Session:2022-23
32 | P a g e
Internship report Department of CSE(IOT)
Features of Arduino UNO,
1. The board contains the USB interface support that enables the board to act as
a serial device and provide the functionality to connect the board to other
interfaces. The USB interface is also used to provide power supply to the board.
2. In the Arduino UNO board, there is a chip placed that is directly plugged to the
USB port and acts as a virtual type serial port for the computer system. By this,
communication becomes very smooth and helps the board to connect to various
types of computer systems.
3. The microcontroller used in the Arduino UNO board ATMega328 is easy to
available and can be used easily. The board contains other components like PWM
pins, timers, external interrupts or internal interrupts, and other types of sleep
modes.
4. The board is provided as an open-source tool that has its own advantage as a
large number of users use this board and help to troubleshoot other problems
related to the board. By this, the debugging activities related to the project become
easy steps.
5. The pins used in the board act as an oscillator that has a frequency of around
16 MHz that is beneficial for most of the applications. The speed of the
microcontroller does not change by this.
6. The board has another feature of voltage regulation that helps to regulate the
power supply on the board. The board can be provided power supply directly
without using external power and USB port can be used for this purpose. The 12V
power supply can be used as an external power supply for the board.
7. The Arduino UNO pins contain thirteen digital and six analog-type pins in it.
The pins provide the functionality to the board to connect the hardware to the
board. The computer capability can be increased using these pins.
8. The tool has also one ICSP connector which helps to make the USB port bypass
and connect the Arduino directly and act as a serial device.
9. The board has a total of 32 KB size flash memory that is used to store the data
in it.
10. The board has also one LED fitted inboard to make the debugging process
easy and help to find the bugs in the code.
Session:2022-23
33 | P a g e
Internship report Department of CSE(IOT)
Conclusion.
The Arduino UNO is a type of Arduino product that is used in electronics project
and circuit design mostly by the beginners. There are various features that make
the board suitable for the use and preferred over other Arduino products. The
selection of right Arduino products is based on user requirement but the Arduino
UNO is a standard board compared to Arduino products.[7]
This is all to the section of hardware that we have used in this project.
Session:2022-23
34 | P a g e
Internship report Department of CSE(IOT)
Arduino Uno Specifications

Microcontroller: ATmega328P

Operating Voltage: 5V

Input Voltage (recommended): 7-12V

Inout Voltage (limit): 6-20V

Digital I/O Pins: 14 (of which 6 provide PWM output)

PWM Digital I/O Pins: 6

Analog Input Pins: 6

DC Current per I/O Pin: 20 mA

DC current for 3.3V Pin: 50 mA

Flash Memory: 32 KB (ATmega328P) of which 0.5 KB used by bootloader

SRAM: 2 KB (ATmega328P)

EEPROM: 1 KB (ATmega328P)

Clock Speed: 16 MHz

LED_BUILTIN: 13

Length: 68.6 mm

Width: 58.4 mm

Weight: 25 g
Session:2022-23
35 | P a g e
Internship report Department of CSE(IOT)
The power pins are as follows:





Vin. The input voltage to the Arduino/Genuino board when it's using an
external power source (as opposed to 5 volts from the USB connection or other
regulated power sources). You can supply voltage through this pin, or, if
supplying voltage via the power jack, access it through this pin.
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 your board. We
don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. The maximum
current draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the Arduino/Genuino 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 so
II. Software
We have only used Arduino ide for the coding purpose’s .
Arduino IDE
Introduction to Arduino IDE, where IDE stands for Integrated Development
Environment - An official software introduced by Arduino.cc, that is mainly used
for writing, compiling and uploading the code in almost all Arduino
modules/boards. Arduino IDE is open-source software and is easily available to
download & install from Arduinos’ official site.
Introduction to Arduino IDE
Arduino IDE is an open-source software, designed by Arduino.cc and mainly used
for writing, compiling & uploading code to almost all Arduino Modules.
It is an official Arduino software, making code compilation too easy that even a
common person with no prior technical knowledge can get their feet wet with the
learning process.
Session:2022-23
36 | P a g e
Internship report Department of CSE(IOT)
It is available for all operating systems i.e. MAC, Windows, Linux and runs on the
Java Platform that comes with inbuilt functions and commands that play a vital role
in debugging, editing and compiling the code.
A range of Arduino modules available including Arduino Uno, Arduino Mega,
Arduino Leonardo, Arduino Micro and many more.
Each of them contains a microcontroller on the board that is actually programmed
and accepts the information in the form of code.
The main code, also known as a sketch, created on the IDE platform will ultimately
generate a Hex File which is then transferred and uploaded in the controller on the
board.
The IDE environment mainly contains two basic parts: Editor and Compiler where
former is used for writing the required code and later is used for compiling and
uploading the code into the given Arduino Module.
This environment supports both C and C++ languages. The Arduino hardware and
software was designed for artists, designers, hobbyists, hackers, newbies, and
anyone interested in creating interactive objects or environments. Arduino can
interact with buttons, LEDs, motors, speakers, GPS units, cameras, the internet,
and even your smart-phone or your TV!
The IDE environment is mainly distributed into three sections
1. Menu Bar
2. Text Editor
3. Output Pane
The Arduino Integrated Development Environment - or Arduino Software (IDE)
- contains a text editor for writing code, a message area, a text console, a toolbar
with buttons for common functions and a series of menus. It connects to the
Arduino 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.[7] 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 sketch.
Session:2022-23
37 | P a g e
Internship report Department of CSE(IOT)
File
New Creates a new instance of the editor, with the bare minimum structure of a
sketch already in place.
Open Allows to load a sketch file browsing through the computer drives and
folders.
Open Recent Provides a short list of the most recent sketches, ready to be
opened.
Sketchbook Shows the current sketches within the sketchbook folder structure;
clicking on any name opens the corresponding sketch in a new editor instance.
Examples Any example provided by the Arduino Software (IDE) or library
shows up in this menu item. All the examples are structured in a tree that allows
easy access by topic or library.
Close Closes the instance of the Arduino Software from which it is clicked.
Save Saves the sketch with the current name. If the file hasn't been named
before, a name will be provided in a "Save as.." window.
Save as... Allows to save the current sketch with a different name.
Page Setup It shows the Page Setup window for printing.
Print Sends the current sketch to the printer according to the settings defined in
Page Setup.
Preferences Opens the Preferences window where some settings of the IDE may
be customized, as the language of the IDE interface.
Quit Closes all IDE windows. The same sketches open when Quit was chosen
will be automatically reopened the next time you start the IDE.
Edit
Undo/Redo Goes back of one or more steps you did while editing; when you go
back, you may go forward with Redo.
Cut Removes the selected text from the editor and places it into the clipboard.
Copy Duplicates the selected text in the editor and places it into the clipboard.
Copy for Forum Copies the code of your sketch to the clipboard in a form suitable
for posting to the forum, complete with syntax coloring.
Session:2022-23
38 | P a g e
Internship report Department of CSE(IOT)
Copy as HTML Copies the code of your sketch to the clipboard as HTML,
suitable for embedding in web pages.
Paste Puts the contents of the clipboard at the cursor position, in the editor.
Select All Selects and highlights the whole content of the editor.
Comment/Uncomment Puts or removes the // comment marker at the beginning
of each selected line.
Increase/Decrease Indent Adds or subtracts a space at the beginning of each
selected line, moving the text one space on the right or eliminating a space at the
beginning.
Find Opens the Find and Replace window where you can specify text to search
inside the current sketch according to several options.
Find Next Highlights the next occurrence - if any - of the string specified as the
search item in the Find window, relative to the cursor position.
Find Previous Highlights the previous occurrence - if any - of the string specified
as the search item in the Find window relative to the cursor position.
Sketch
Verify/Compile Checks your sketch for errors compiling it; it will report memory
usage for code and variables in the console area.
Upload Compiles and loads the binary file onto the configured board through the
configured Port.
Upload Using Programmer This will overwrite the bootloader on the board; you
will need to use Tools > Burn Bootloader to restore it and be able to Upload to
USB serial port again. However, it allows you to use the full capacity of the Flash
memory for your sketch. Please note that this command will NOT burn the fuses.
To do so a Tools -> Burn Bootloader command must be executed.
Export Compiled Binary Saves a .hex file that may be kept as archive or sent to
the board using other tools.
Show Sketch Folder Opens the current sketch folder.
Include Library Adds a library to your sketch by inserting #include statements at
the start of your code.
Add File... Adds a supplemental file to the sketch (it will be copied from its
current location). The file is saved to data subfolder of the sketch.
Session:2022-23
39 | P a g e
Internship report Department of CSE(IOT)
Sketchbook
The Arduino Software (IDE) uses the concept of a sketchbook: a standard place
to store your programs (or sketches). The sketches in your sketchbook can be
opened from the File > Sketchbook menu or from the Open button on the
toolbar. The first time you run the Arduino software, it will automatically create
a directory for your sketchbook. You can view or change the location of the
sketchbook location from with the Preferences dialog.
Beginning with version 1.0, files are saved with a .ino file extension. Previous
versions use the .pde extension. You may still open .pde named files in version
1.0 and later, the software will automatically rename the extension to .ino.Tabs,
Multiple Files, and Compilation.
Allows you to manage sketches with more than one file (each of which appears
in its own tab). These can be normal Arduino code files (no visible extension),
C files (.c extension), C++ files (.cpp), or header files (.h).
Before compiling the sketch, all the normal Arduino code files of the sketch
(.ino, .pde) are concatenated into a single file following the order the tabs are
shown in. The other file types are left as is.
Libraries
Libraries provide extra functionality for use in sketches, e.g. working with
hardware or manipulating data. To use a library in a sketch, select it from
the Sketch>Import
Library menu.
This
will
insert
one
or
more #include statements at the top of the sketch and compile the library with
your sketch. Because libraries are uploaded to the board with your sketch, they
increase the amount of space it takes up. If a sketch no longer needs a library,
simply delete its #include statements from the top of your code.
There is a list of libraries in the reference. Some libraries are included with the
Arduino software. Others can be downloaded from a variety of sources or
through the Library Manager. Starting with version 1.0.5 of the IDE, you do can
import a library from a zip file and use it in an open sketch.
Session:2022-23
40 | P a g e
Internship report Department of CSE(IOT)
Serial Monitor
This displays serial sent from the Arduino board over USB or serial connector.
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 menu that matches the rate
passed to Serial.begin in your sketch. Note that on Windows, Mac or Linux the
board will reset (it will rerun your sketch) when you connect with the serial
monitor. Please note that the Serial Monitor does not process control characters;
if your sketch needs a complete management of the serial communication with
control characters, you can use an external terminal program and connect it to
the COM port assigned to your Arduino board.You can also talk to the board
from Processing, Flash, MaxMSP,etc.
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.
Boards
The board selection has two effects: it sets the parameters (e.g. CPU speed and
baud rate) used when compiling and uploading sketches; and sets and the file
and fuse settings used by the burn bootloader command. Some of the board
definitions differ only in the latter, so even if you've been uploading successfully
with a particular selection you'll want to check it before burning the bootloader.
You can find different boards here.
Arduino Software (IDE) includes the built in support for the boards in the
following list, all based on the AVR Core. The Board Manager included in the
standard installation allows to add support for the growing number of new
boards based on different cores like Arduino Due, Arduino Zero, Edison,
Galileo and so on.
Session:2022-23
41 | P a g e
Internship report Department of CSE(IOT)

Arduino Uno An ATmega328P running at 16 MHz with auto-reset, 6 Analog
In, 14 Digital I/O and 6 PWM.

Arduino Nano w/ ATmega328P An ATmega328P running at 16 MHz with
auto-reset. Has eight analog inputs.

Arduino Mega An ATmega1280 running at 16 MHz with auto-reset, 16
Analog In, 54 Digital I/O and 15 PWM.

Arduino Leonardo An ATmega32u4 running at 16 MHz with auto-reset, 12
Analog In, 20 Digital I/O and 7 PWM.

Arduino Micro An ATmega32u4 running at 16 MHz with auto-reset, 12
Analog In, 20 Digital I/O and 7 PWM.

Arduino Mini w/ ATmega328P An ATmega328P running at 16 MHz with
auto-reset, 8 Analog In, 14 Digital I/O and 6 PWM.

Arduino Ethernet Equivalent to Arduino UNO with an Ethernet shield: An
ATmega328P running at 16 MHz with auto-reset, 6 Analog In, 14 Digital
I/O and 6 PWM.

LilyPad Arduino An ATmega168 or ATmega132 running at 8 MHz with
auto-reset, 6 Analog In, 14 Digital I/O and 6 PWM.

Arduino Gemma An ATtiny85 running at 8 MHz with auto-reset, 1 Analog
In, 3 Digital I/O and 2 PWM.
Using Arduino has many advantages:
1. It is inexpensive
Arduino boards are relatively inexpensive compared to other microcontroller
platforms. The least expensive version of the Arduino module can be assembled
by hand.
2. It is cross-platform
The Arduino Software (IDE) runs on Windows, Macintosh OSX, and Linux
operating systems. Most microcontroller systems are limited to Windows.
Session:2022-23
42 | P a g e
Internship report Department of CSE(IOT)
Snapshots of projects
fig:1
Fig:2
Session:2022-23
43 | P a g e
Internship report Department of CSE(IOT)
//Welcome
int relayPin = 8;
int sensor_pin = A0; // Soil Sensor input at Analog PIN A0
int output_value ;
void setup()
// put your setup code here, to run once:
{
Serial.begin(9600);
pinMode(relayPin, OUTPUT);
pinMode(sensor_pin, INPUT);
Serial.println("Reading From the Sensor ...");
delay(2000);
}
void loop()
{
output_value= analogRead(sensor_pin);
output_value = map(output_value,550,10,0,100);
Serial.print("Mositure : ");
Serial.print(output_value);
Serial.println("%");
if(output_value<20){
digitalWrite(relayPin, LOW);
}
else {
digitalWrite(relayPin, HIGH);
}delay(1000);}
Session:2022-23
44 | P a g e
Internship report Department of CSE(IOT)
Applications
The application of agriculture networking technology is need of the modern
agricultural development, but also an important symbol of the future level of
agricultural development;[9] it will be the future direction of agricultural
development. After building the agricultural water irrigation system hardware
and analyzing and researching the network hierarchy features, functionality and
the corresponding software architecture of precision agriculture water irrigation
systems, actually applying the internet of things to the highly effective and safe
agricultural production has a significant impact on ensuring the efficient use of
water resources as well as ensuring the efficiency and stability of the agricultural
production[10].
With more advancement in the field of IoT expected in the coming years, these
systems can be more efficient, much faster and less costlier. In the Future, this
system can be made as an intelligent system, where in the system predicts user
actions, rainfall pattern, time to harvest, animal intruder in the field and
communicating the information through advanced technology like IoMT can be
implemented so that agricultural system can be made independent of human
operation and in turn quality and huge quantity yield can be obtained. The
proposed system can be used to switch the motor (on/off) depending on
favourable condition of plants i.e sensor values, thereby automating the process
of irrigation. Which is one of the most time efficient activities in farming, which
helps to prevent over irrigation or under irrigation of soil thereby avoiding crop
damage. The farm owner can monitor the process online through a android App.
Though this project can be concluded that there can be considerable development
in farming with the use of IOT and automation. This whole project mainly focuses
on two results. The first result is to help farmers to upgrade their agriculture–
technical knowledge, act in accordingly with minimum requirements on
environmental issues and mostly the basic function being prevented by major
disasters and protect plants and nature from being ruptured. And the second result
of our project is to use technology to measure the humidity, temperature and
moisture of the plant root and make the plant grow in a well suitable environment
with out the use of soil as per the concept of hydroponics[11].
Session:2022-23
45 | P a g e
Internship report Department of CSE(IOT)
Refrences
[1] R. Nageswara Rao, B. Sridhar “IoT based smart crop-field monitoring and
automation irrigation system” International conference on inventive systems and
control,2018
[2] Tanu Sahu, Ashok Verma “Automated Smart Irrigation System using
Raspberry Pi” International Journal of Computer Applications, Volume 172,
no.6, August 2017
[3] Yu Liu, Kahin Akram Hassan, Magnus Karlsson, Ola Weister, and Shaofang
Gong” Active Plant Wall for Green Indoor Climate Based on Cloud and Internet
of Things”
[4] Shrinidhi Rajagopal, Vallidevi Krishnamurthy” OO Design for an IoT based
Automated Plant Watering System” IEEE International Conference on
Computer, Communication, and Signal Processing,2017
[5]. Aishwarya K S, Harish M, Prathibhashree S, K Panimozhi” Survey On
Automated Aquponics Based Gardening Approaches” 2nd International
Conference on Inventive Communication and Computational Technologies,2018
[6]. Y. Song, J. Wang, X. Qiao, W. Zheng, and X.Zhang, “Development of multifunctional soil temperature measuring instrument,” Journal of Agricultural
Mechanization Research, vol. 9, no. 1, pp. 80–84,2010.
[7] Zuraida Muhammad,Muhammad Azri Asyraf Mohd Hafez,Nor Adni
Mat”SmartAgriculture Using Internet of Things with Raspberry Pi.” 2020.
[8] Divya J., Divya M.,Janani V.”IoT based Smart Soil Monitoring System for
Agricultural Production” 2017.
[9] H.G.C.R.Laksiri, H.A.C.Dharmagunawardhana, J.V.Wijayakulasooriya
”Design and Optimization of loT Based Smart Irrigation System in Sri
Lanka”2019.
[10] R. Nageswara Rao, B.Sridhar,”IOT BASED SMART CROP-FIELD MONITORING AND AUTOMATION IRRIGATION SYSTEM”. 2018
[11] Shweta B. Saraf, Dhanashri H. Gawal,”IoT Based Smart Irrigation
Monitoring And Controlling System”.2017
Session:2022-23
46 | P a g e
Internship report Department of CSE(IOT)
Download