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)