• Home
  • Submit Paper
  • Check Paper Status
  • Download Certificate/Paper
  • FAQs
  • Feedback
  • Contact Us
Email: ijraset@gmail.com
IJRASET Logo
Journal Statistics & Approval Details
Recent Published Paper
Our Author's Feedback
 •  ISRA Impact Factor 7.894       •  SJIF Impact Factor: 7.538       •  Hard Copy of Certificates to All Authors       •  DOI by Crossref for all Published Papers       •  Soft Copy of Certificates- Within 04 Hours       •  Authors helpline No: +91-8813907089(Whatsapp)       •  No Publication Fee for Paper Submission       •  Hard Copy of Certificates to all Authors       •  UGC Approved Journal: IJRASET- Click here to Check     
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics
ISSN: 2321-9653
Estd : 2013
IJRASET - Logo
  • Home
  • About Us
    • About Us
    • Aim & Scope
  • Editorial Board
  • Impact Factor
  • Call For Papers
    • Submit Paper Online
    • Current Issue
    • Special Issue
  • For Authors
    • Instructions for Authors
    • Submit Paper
    • Download Certificates
    • Check Paper Status
    • Paper Format
    • Copyright Form
    • Membership
    • Peer Review
  • Past Issue
    • Monthly Issue
    • Special Issue
  • Pay Fee
    • Indian Authors
    • International Authors
  • Topics

Ijraset Journal For Research in Applied Science and Engineering Technology

  • Home / Ijraset
  • On This Page
  • Abstract
  • Introduction
  • Conclusion
  • References
  • Copyright

Smart Farming

Authors: Onkar J. Jagtap, Revati R. Mathapati, Aditi S. Bhadule, Snehal S. Kangude, Asst. Prof. Sushma Mule

DOI Link: https://doi.org/10.22214/ijraset.2022.43691

Certificate: View Certificate

Abstract

Agriculture is the broadest economic sector and plays an important role in the overall economic development of nation. Technological advancements in the arena of agriculture will ascertain to increase competence of certain farming activities. Internet of Things (IoT) technology has brought revolution to each and every field of common man’s life by making everything smart and intelligent. IoT refers to a network of things which make a self-configuring network. The development of Intelligent Smart Farming IoT based devices is day by day turning the face of agriculture production by not only enhancing it but also making it cost-effective. Here we are using Internet of things technologies in Mushroom farming Mushrooms are classified as vegetables in the food world but they are actually fungi. Although they are not vegetables. Mushrooms provide several important nutrients and they have a very important part in the food market. This project mainly focuses of the monitoring of the mushroom farms. The sensors are placed at specific regions of the farm. Which will monitor the status. The control unit is setup with some basic parameters such as temperature. Humidity and gas content that is required for the cultivation when the threshold varies the control unit will trigger the actuators. An intelligent app is designed to check the status of the farm by the user which will be connected with the control unit through server. The app will be a used by the cultivator. Where in the app the status of the farm will be displayed. Once the actuators are triggered the users will be notified with the help of app notification.

Introduction

I. INTRODUCTION

A. Overview

The objectives of this report are to proposed IoT based Smart Farming System which will enable farmers to have live data of soil moisture environment temperature at very low cost so that live monitoring can be done.

The structure of the report is as follows: chapter I will cover over of overview of IoT Technology and agriculture-concepts and definition, IOT enabling technologies, IOT application in agriculture, benefits of IOT in agriculture and IOT and agriculture current scenario and future forecasts. Chapter II will cover definition of IOT based smart farming system, the components and modules used in it and working principal of it. Chapter III will cover algorithm and flowchart of the overall process carried out in the system and its final graphical output. chapter IV consist of conclusion, future scope and references.

 B. IOT Technology and Agriculture 

  1. Iot: Concept And Definition

Internet of things IOT consists of two words Internet and Things. The term things in IOT refers to various IOT devices having unique identities and have capabilities to perform remote sensing, actuating and live monitoring of certain sort of data. IOT devices are also enable to have live exchange of data with other connected devices and application either directly or indirectly , or collected data from other devices and process the data and send the data to various servers. The other term internet is define as Global communication Network connecting Trillions of computers across the planets enabling  sharing of information .Thus the IOT can be define as  :”A dynamic Global Network Infrusture with self-configuring capabilities based on standard and inter operable communication to protocol where physical and virtual things have identities, physical attributes ,and virtual personalities and use intelligent interfaces and are seamlessly integrated into the information network ,often communicate data associated with user and  their environment.”

An ideal IoT device consists of various interfaces for making connectivity to other devices which can either be wired or wireless.

Any IoT based device consists of following components:

  • I/O interface for Sensors.
  • Interface for connecting to Internet.
  • Interface for Memory and Storage.
  • Interface for Audio/Video.                        

IoT devices can be of various forms like wearable sensors, smart watches, IoT smart home monitoring, IoT intelligent transport systems, IoT smart health devices etc.

 2. IOT enabling Technologies 

Internet of Things has a strong backbone of various enabling technologies- Wireless Sensor Networks, Cloud Computing, Big Data, Embedded Systems, Security Protocols and Architectures, Protocols enabling communication, web services, Internet and Search Engines.

Wireless Sensor Network (WSN): It consists of various sensors/nodes which are integrated together to monitor various sorts of data.

Cloud Computing: Cloud Computing also known as on-demand computing is a type of Internet based computing which provides shared processing resources and data to computers and other devices on demand. It can be in various forms like IaaS, PaaS, SaaS, DaaS etc.

Big Data Analytics: Big data analytics is the process of examining large data sets containing various forms of data types—i.e., Big Data – to uncover hidden patterns, unknown correlations, market trends, customer preferences and other useful business information.

Communication Protocols: They form the backbone of IoT systems to enable connectivity and coupling to applications and these protocols facilitate exchange of data over the network as these protocols enable data exchange formats, data encoding and addressing.

Embedded Systems: It is a sort of computer system which consists of both  hardware and software to perform specific tasks. It includes microprocessor/microcontroller, RAM/ROM, networking components, I/O units and storage devices.

 3. IOT Applications in Agriculture

With the adoption of IoT in various areas like Industry, Homes and even Cities, huge potential is seen to make everything Intelligent and Smart. Even the Agricultural sector is also adopting IoT technology these days and this in turn has led to the development of “AGRICULTURAL Internet of Things (IoT)”

Table 1.1 Various projects and applications are integrated in Agricultural fields leading to efficient management and controlling of various activities.

 Application Name

Description

Crop Water Management

In order to perform agriculture activities in inefficient manner, adequate water is essential. Agriculture IoT is integrated with Web Map Service (WMS) and Sensor Observation Service (SOS) to ensure proper water management for irrigation and in turn reduces water wastage.

Precision Agriculture

High accuracy is required is required in terms of weather information which reduces the chances of crop damage.

 Agriculture IoT ensures timely delivery of real time data in terms of weather forecasting, quality of soil, cost of labour and much more to farmer.

Integraratted Pest 

Management or

Control (IPM/C)

Agriculture IoT systems assures farmers with accurate

environmental data via proper live data monitoring of temperature, moisture, plant growth and level of pests so that proper care can be taken during production

Food Production & Safety

Agriculture IoT system accurately monitors various parameters like warehouse temperature, shipping transportation management system and also integrates cloud-based recording systems.

Other Projects

Implemented Till Date

  1. The Phenonet Project by Open IoT.
  2. CLASS Equipment
  3. Precisionhalk’s UAV Sensor Platform
  4. Cleangrow’s Carbon Nanotube Probe
  5. Temputech’s Wireless Sensor Monitoring.

   4. Benefits of IOT In Agriculture

The following are the benefits of IoT in Agriculture:

a. IoT enables easy collection and management of tons of data collected from sensors and with integration of cloud computing services like Agriculture fields maps, cloud storage etc., data can be accessed live from anywhere and everywhere enabling live monitoring and end to end connectivity among all the parties concerned.

b. IoT is regarded as key component for Smart Farming as with accurate sensors and smart equipment’s, farmers can increase the food production by 70% till year 2050 as depicted by experts. 

c. With IoT productions costs can be reduced to a remarkable level which will in turn increase profitability and sustainability.

d. With IoT, efficiency level would be increased in terms of usage of Soil, Water, Fertilizers, Pesticides etc.

e. With IoT, various factors would also lead to the protection of environment.

5. IOT And Agriculture Current Scenario And Future Forecasts

 Table 1.2.  Shows the growth of IoT based adoption in Agriculture sector from Year 2000-2016 and Forecasts of year 2035-2050.

Year

Data Analysis

2000

525 million Farms connected to IoT

2016

540 million Farms till Date are connected to IoT

2035

780 million Farms would be connected to IoT

2050

2 billion Farms are likely to be connected to IoT

II. OVERVIEW OF THE PROJECT

A. Definition Iot Based Smart Farming System 

IoT based SMART FARMING SYSTEM is regarded as IoT gadget focusing on Live Monitoring of Environmental data in terms of Temperature, Moisture and other types depending on the sensors integrated with it. The system provides the concept of “Plug & Sense” in which farmers can directly implement smart farming by as such putting the System on the field and getting Live Data feeds on various devices like Smart Phones, Tablets etc.

This project mainly focuses of the monitoring of the mushroom farms. The sensors are placed at specific regions of the farm. Which will monitor the status. The control unit is setup with some basic parameters such as temperature. Humidity and gas content that is required for the cultivation when the threshold varies the control unit will trigger the actuators. An intelligent app is designed to check the status of the farm by the user which will be connected with the control unit through server. The app will be a used by the cultivator. Where in the app the status of the farm will be displayed. Once the actuators are triggered the users will be notified with the help of app notification.

B. Components And Modules 

In this section, various components and Modules being used for IoT based SMART FARMING SYSTEM development is discussed:

  1. Hardware Requirements

a. ESP 32: ESP32 is a series of low cost, low power system on a chip microcontroller with integrated Wi-Fi & dual-mode Bluetooth. It is designed to achieve the best power and RF performance, robustness, versatility, and reliability in a wide variety of applications such as voice encoding, music streaming and MP3 decoding

b. Sensors

Temperature & Humidity Sensor: DHT-11

DHT11 is a low-cost digital sensor for sensing temperature and humidity.  This sensor can be easily interfaced with any micro-controller such as Arduino, Raspberry Pi etc… to measure humidity and temperature instantaneously. DHT11 humidity and temperature sensor is available as a sensor and as a module. The difference between this sensor and module is the pull-up resistor and a power-on LED. DHT11 is a relative humidity sensor.  To measure the surrounding air this sensor uses a thermistor and a capacitive humidity sensor.

2. Software Requirements

a. Android Studio 2021.2.1 for FRONT END: Android Studio is the official IDE for android application development. It works based on IntelliJ IDEA. Android studio contains all the Android tools to design, test, debug, and profile your application. The Android studio uses Gradle to manage your project, a Build Automation Tool. Android Studio can develop and test your application on either a real device or an emulator.

b. Firebase for BACK END: Firebase (a NoSQLJSON database) is a real time database that allows storing a list of    objects in the form of tree. We can synchronize data between different devices. Google Firebase is Google-backed application development software which allows developers to develop Android, IOS, and Web Apps

III. SYSTEM DESIGN

A software product is a complex entity. Its development usually follows what is known as Software Development Life Cycle (SDLC) The second stage in the SDLC is the Design stage. The objective of the design stage is to produce the overall design of the software. The High-Level Design, the proposed functional and non-functional requirements of the software are studied Overall solution architecture of the solution is developed which can handle those needs. The purpose of this High-Level Design (HLD) Document is to add the necessary detail to the current project description to represent a suitable model for coding. This document is also intended to help detect antradictions prior to coding, and can be used as a reference manual for how the modules interact at a high level. The purpose of this High-Level Design (HLD) Document is to add the necessary detail to the current project description to represent a suitable model for coding. This document is also intended to help detect contradictions prior to coding, and can be used as a reference manual for how the modules interact a high level.

A. Input Design

Input design is the link between the information system and the user. It comprises, the developing specification, procedures for data preparation where those steps are necessary to put transaction data into an able form for processing, output can be achieved by inspecting the computer to read the data from a written or printed document or it can occur by having people keying the data directly into the system. The design of input focuses on controlling the amount of input required, controlling the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input is designed in such a way so that it provides security and ease of use with retaining privacy. Input Design considered the following things:

  • What data should be given as input?
  • How should the data be arranged or coded?
  • Methods for preparing input validations and steps to follow when errors occur.

OBJECTIVES: Input design is the process of converting a user-oriented description of the input into a computer-based system. This design is important to avoid errors in the data input process and show the correct direction to the management for getting correct information from the computerized system. It is achieved by creating user-friendly screens for the data entry to handle large volumes of data. The goal of designing input is to check data entry easier and to be free from errors.

B. Output Design

Pity put is one, which meets the requirements of the end user and presents the information clearly. In any system results of processing are communicated to the users and to other systems throughout output design it is determined how the information is to be displaced for immediate need and who the bed copy output. It is the most important and direct source information to the user Efficient and get output design improves the system's relationship to help user decision-making.

  • Designing computer output should proceed in an organized, well thought out manner, the right output must be developed while ensuring that each output element is designed so that people will find the system can use it easily and effectively. When analyzing computer output, they should Identify the specific output that is needed to meet the requirements.
  • Select methods for presenting information and Create document, report, or other formats that contain information produced by the system.

C. Data Flow Diagram

A data-flow diagram is a way of representing a flow of data through a process or a system (usually an information system). The DFD also provides information about the outputs and inputs of each entity and the process itself.

D. Process Flow Chart

A flow chart is a common type of chart that represents an algorithm or process showing the steps abates of various kinds, and their order by connecting these with arrows. Flow charts are used in analyzing, designing, documenting or managing a process or program in various fields.

E. Use Case Diagram

A Use Case Diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.

The main purpose of a use case diagram is to show what system functions are performed for which atr Roles of the actors in the system can be depicted. A use case diagram is a type of behavioral diagram created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.

F. Sequence Diagram

As Fig 3.6 shows, parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner.

UML sequence diagrams model the flow of logic within your system in a visual manner, enabling you both to document and validate your logic, and are commonly used for both analysis and design purposes. Sequence diagrams are the most popular UML artifact for dynamic modeling, which focuses on identifying the behavior within your system. Other dynamic modeling techniques include activity diagramming, communication diagramming, timing diagramming, and interaction overview diagramming.

IV. IMPLEMENTATIONS

A. Android

Android is an open-source operating system based on Linux with a Java programming interface for mobile devices such as Smartphone (Touch Screen Devices who supports Android OS) as well for Tablets too. 

 Android was developed by the Open Handset Alliance (OHA), which is led by Google. The Open Handset Alliance (OHA) is a consortium of multiple companies like Samsung, Sony, Intel and many more to provide services and deploy handsets using the android platform. In 2007, Google released a first beta version of the Android Software Development Kit (SDK) and the first commercial version of Android 1.0 (with name Alpha), was released in September 2008.

In 2012, Google released another version of android, 4.1 Jelly Bean. It’s an incremental update and it improved a lot in terms of the user interface, functionality, and performance.

In 2014, Google announced another Latest Version, 5.0 Lollipop. In Lollipop version Google completely revamped the UI by using Material Designs, which is good for the User Interface as well for the themes related. 

 All the source code for Android is available free on Git-Hub, Stack overflow, and many more websites. Google publishes most of the code under the Apache License version 2.0.

  1. Features

Android is a powerful open-source operating system which provides a lot of great features, those are

  • It’s open-source and we can customize the OS based on our requirements.
  • It supports connectivity for GSM, CDMA, WIFI, NFC, Bluetooth, etc. for telephony or data transfer. It will allow us to make or receive a calls / SMS messages and we can send or retrieve data across mobile networks
  • By using WIFI technology we can pair with other devices using apps
  • Android has multiple APIs to support location-based services such as GPS
  • We can perform all data storage related activities by using lightweight database SQLite.
  • It has a wide range of media supports like AVI, MKV, FLV, MPEG4, etc. to play or record a variety of audio/video and having a different image format like JPEG, PNG, GIF, BMP, MP3, etc. 
  • It has extensive support for multimedia hardware control to perform playback or recording using camera and microphone
  • It has an integrated open-source Web Kit layout-based web browser to support HTML5, CSS3
  • It supports a multi-tasking; we can move from one task window to another and multiple applications can run simultaneously
  • It will give a chance to reuse the application components and the replacement of native applications.
  • We can access the hardware components like Camera, GPS, and Accelerometer
  • It has support for 2D/3D Graphics

2. Interface

The best Android user interface is the available cost-effective platform for the developers as well as the users. Google has released the source code of Android and allows it to be used under the open-source license, making it the most loved user interface (UI) for the developers. Devices custom-made to suit both the developers as well as the users are available in multiple. However, the deciding factor for the consumer at the end of the day in choosing Android over others is it’s user-friendly, smooth and efficient, and enjoyable technology.

The market is flooded with companies making smartphones and yet the number one choice for all of them while choosing an interface remains Android. Google’s Android OS has captured three-quarters of the global market and it is nothing surprising considering the increase in the number of Android devices available in the market as well as the increase in the number of consumers. With the internet becoming the binding factor for the global consumers and the online medium gaining great growth, mobile internet today plays a crucial role in retaining the loyalty of the consumers towards a product. Thus, it is extremely important to understand that to survive today in this competitive market one has to be fast-moving and adaptive towards the new. Keeping the new in mind, it is very essential to pay a great deal of attention to the aesthetics of the User Interface. After all, the best Android User Interface will lead to a great quality experience and eventually draw in the consumers reaping more profits.Thus, as the saying goes the customer is the king and keeping in mind the king’s needs, our User Interface needs to be fashioned. Innovation always wins brownie points and along with its great easy-to-use features, the simplicity of design always garners a great deal of attention from the consumers. However, the challenge that a developer has to go through while keeping in mind these factors along with the fact that the app needs to be custom fit for all the device screens and OS versions apart from Android.

3. Applications

Applications, which extend the functionality of devices, are written using the Android software assignment kit (SDK) and, often, the Java programming language. Java may be combined with CCH there with a choice of non-default runtimes that allow better C++ support. The Go programming language is also supported, although with a limited set of application programming interfaces. In May 317, Google announced support for Android app development in the Kotlin programming language. The DK includes a comprehensive set of development tools, including a debugger, software libraries, a de emulator, documentation, sample code, and tutorials. Initially, Google's supported integrated development environment (IDE) was Eclipse using the Android Development Tools (ADT) plugin; in September 2014, Google released Android Studio, based on IntelliJ IDEA, as its primary IDE for Android development. Other development tools are available, including a native development NDK) for applications or extensions in C or C++, Google App Inventor, a visual environment for programmers, and various cross platform mobile web applications frameworks.

In January 2014, Google unveiled a framework based on Apache Cordova for porting Chrome HTML 5 web applications to android wrapped in a native application shell and has a growing selection of third-party applications, which can be acquired by users by own loading and installing the application's APK file, or by downloading them using an application store that allows users to install, update, and remove applications from their devices. Google Play is the primary application store installed on Android devices that comply with Google's combability requirements and license the Google Mobile Services software. Google Play Store allows in July 2013, 50 billion applications have been installed. Some carriers offer direct carrier billing for Play application purchases, where the cost of the application is added to the user's monthly bill. As May 2017, there are over one billion active users a month for Gmail, Android, Chrome, Google Play Maps. Due to the open nature of Android, a number of third-party application marketplaces also exist je Andi, either to provide a substitute for devices that are not allowed to ship with Google Play Store. de applications that cannot be offered on Google Play Store due to policy violations, or for other Examples of these third-party stores have included the Amazon Appstore, Getlar, and Slide Me. F-Droid, another alternative marketplace, seeks to only provide applications that are distributed under licenses.

B. Android Studio

Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. It is available for download on Windows, macOS and Linux based operating systems or as a subscription-based service in 2020. It is a replacement for the Eclipse Android Development Tools (E-ADT) as the primary IDE for native Android application development. Android Studio was announced on May 16, 2013, at the Google I/O conference. It was in early access preview stage starting from version 0.1 in May 2013, then entered beta stage starting from version 0.8 which was released in June 2014. The first stable build was released in December 2014, starting from version 1.0. On May 7, 2019, Kotlin replaced Java as Google's preferred language for Android app development.[14] Java is still supported, as is C++.

  1. Features of Android Studio

The following features are provided in the current stable version:

  • Gradle-based build support
  • Android-specific refactoring and quick fixes
  • Lint tools to catch performance, usability, version compatibility and other problems
  • ProGuard integration and app-signing capabilities
  • Template-based wizards to create common Android designs and components
  • A rich layout editor that allows users to drag-and-drop UI components, option to preview layouts on multiple screen configurations
  • Support for building Android Wear apps
  • Built-in support for Google Cloud Platform, enabling integration with Firebase Cloud Messaging (Earlier 'Google Cloud Messaging') and Google App Engine
  • Android Virtual Device (Emulator) to run and debug apps in the Android studio.

Android Studio supports all the same programming languages of IntelliJ (and CLion) e.g. Java, C++, and more with extensions, such as Go; and Android Studio 3.0 or later supports Kotlin and "all Java 7 language features and a subset of Java 8 language features that vary by platform version." External projects backport some Java 9 features. While IntelliJ states that Android Studio supports all released Java versions, and Java 12, it's not clear to what level Android Studio supports Java versions up to Java 12 (the documentation mentions partial Java 8 support). At least some new language features up to Java 12 are usable in Android.

Once an app has been compiled with Android Studio, it can be published on the Google Play Store. The application has to be in line with the Google Play Store developer content policy

2. Android SDK

SDK stands for software development kit or devkit. It’s a set of software tools and programs used by developers to create applications for specific platforms. SDK tools includes various things like libraries, documentation, code samples, processes, and guides which developers can use and integrate into their own apps. SDKs are designed to be used for specific platforms or programming languages eg. Java SDK, Android SDK which are developed for developing the software for Java and Android platform respectively.

API stands for Application Programming Interface) is a set of functions, procedures, communication protocols, and tools for building software. More precisely, it is a set of clearly defined methods of communication among various components. Facebook API, Google Maps API are the popular example of API.

About Android SDK and API

Android SDK and API provides following features:

  • App Components:
  • User Interface:
  • Views, Dialogs, and Widgets:
  • Material Design:
  • Graphics:
  • Accessibility:
  • Media Playback:
  • TV/Wear Apps:

C. Firebase

In the era of rapid prototyping, we can get bright ideas, but sometimes they are not applicable if they take too much work. Often, the back-end is the limiting factor - many considerations never apply to server-side coding due to lack of knowledge or time.

Firebase is a Backend-as-a-Service (BaaS) which started as a YC11 start-up. It grew up into a next-generation app-development platform on Google Cloud Platform. Firebase (a NoSQLjSON database) is a real-time database that allows storing a list of objects in the form of a tree. We can synchronize data between different devices.

Google Firebase is Google-backed application development software which allows developers to develop Android, IOS, and Web apps. For reporting and fixing app crashes, tracking analytics, creating marketing and product experiments, firebase provides several tools.

Firebase has three main services, i.e., a real-time database, user authentication, and hosting. We can use these services with the help of the Firebase iOS SDK to create apps without writing any server code.

  1. Features of Firebase

Firebase has several features that make this platform essential. These features include unlimited reporting, cloud messaging, authentication and hosting, etc. Let's take a look at these features to understand how these features make Firebase essential:

D. Algorithm

JSON parse algorithm

JSON — short for JavaScript Object Notation — is a format for sharing data. As its name suggests, JSON is derived from the JavaScript programming language, but it’s available for use by many languages including Python, Ruby, PHP, and Java. JSON is usually pronounced like the name “Jason.” JSON uses the. json extension when it stands alone. When it’s defined in another file format (as in .html), it can appear inside of quotes as a JSON string, or it can be an object assigned to a variable. This format is easy to transmit between web server and client or browser. Very readable and lightweight, JSON offers a good alternative to XML and requires much less formatting. This informational guide will get you up to speed with the data you can use in JSON files, and the general structure and syntax of this format.

STEPS

1.Take a string representing JSON text.

2. Create a Json Token class. I call my JToken.

3. Go over the entire text from step#1 and parse out the JToken(s).

4. Recursively group and nest your JToken(s).

5. Attempt To keep it simple and uniform. All JToken nodes have a child array that can have 0 or more children. If node is array, flag as array. Child array is used for the children of the node if it is an OBJECT or ARRAY. The only thing that changes is what it is flagged as. Also keep all values as string type. That way you just need a single member on the node called "value" that can be interpreted as the correct data type after all the hard work is done.

6. Use defensive coding and unit tests. Write tests for all of the components of the parser. Better to spend an extra 3 hours writing code in a paranoid fashion where you assume you are making mistakes every second than to have to spend 3 hours hunting down bugs. Code paranoid enough, and you'll very rarely spend time being frustrated when debugging.

V. IOT

Internet of Things (IoT) is a network of physical objects or people called “things” that are embedded with software, electronics, network, and sensors that allows these objects to collect and exchange data. The goal of IoT is to extend to internet connectivity from standard devices like computer, mobile, tablet to relatively dumb devices like a toaster. IoT makes virtually everything “smart,” by improving aspects of our life with the power of data collection, AI algorithm, and networks. The thing in IoT can also be a person with a diabetes monitor implant, an animal with tracking devices, etc. This IoT tutorial for beginners covers all the Basics of IoT

A. How IOT works

The entire IoT process starts with the devices themselves like smartphones, smartwatches, electronic appliances like TV, Washing Machine which helps you to communicate with the IoT platform.

Now in this IoT tutorial, we will learn about four fundamental components of an IoT system:

  1. Sensors/Devices: Sensors or devices are a key component that helps you to collect live data from the surrounding environment. All this data may have various levels of complexities. It could be a simple temperature monitoring sensor, or it may be in the form of the video feed. A device may have various types of sensors which performs multiple tasks apart from sensing. Example, A mobile phone is a device which has multiple sensors like GPS, camera but your smartphone is not able to sense these things.
  2. Connectivity: All the collected data is sent to a cloud infrastructure. The sensors should be connected to the cloud using various mediums of communications. These communication mediums include mobile or satellite networks, Bluetooth, WI-FI, WAN, etc.
  3. Data Processing: Once that data is collected, and it gets to the cloud, the software performs processing on the gathered data. This process can be just checking the temperature, reading on devices like AC or heaters. However, it can sometimes also be very complex like identifying objects, using computer vision on video.
  4. User Interface: The information needs to be available to the end-user in some way which can be achieved by triggering alarms on their phones or sending them notification through email or text message. The user sometimes might need an interface which actively checks their IoT system. For example, the user has a camera installed in his home. He wants to access video recording and all the feeds with the help of a web server.

However, it’s not always one-way communication. Depending on the IoT application and complexity of the system, the user may also be able to perform an action which may create cascading effects.

For example, if a user detects any changes in the temperature of the refrigerator, with the help of IoT technology the user should able to adjust the temperature with the help of their mobile phone.

VI. TESTING

Software Testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free. It involves execution of software/system components using manual or automated tools to evaluate one or more properties of interest. The purpose of software testing is to identify errors, gaps or missing requirements in contrast to actual requirements. Some prefer saying Software testing definition as a White Box and Black Box Testing. In simple terms, Software Testing means the Verification of Application Under Test (AUT). This Software Testing course introduces testing software to the audience and justifies the importance of software

A. Testing Methodologies

The following are the Testing Methodologies:

  • Unit Testing
  • Integration Testing
  • User Acceptance Testing
  • Output Testing
  • Validation Testing
  1. Unit Testing

UNIT TESTING is a type of software testing where individual units or components of a software are tested. The purpose is to validate that each unit of the software code performs as expected. Unit Testing is done during the development (coding phase) of an application by the developers. Unit Tests isolate a section of code and verify its correctness. A unit may be an individual function, method, procedure, module, or object.

In SDLC, STLC, V Model, Unit testing is first level of testing done before integration testing. Unit testing is a Whitebox testing technique that is usually performed by the developer. Though, in a practical world due to time crunch or reluctance of developers to tests, QA engineers also do unit testing.

2. Integration Testing

Integration testing is the second level of the software testing process comes after unit testing. In this testing, units or individual components of the software are tested in a group. The focus of the integration testing level is to expose defects at the time of interaction between integrated components or units.

Unit testing uses modules for testing purpose, and these modules are combined and tested in integration testing. The Software is developed with a number of software modules that are coded by different coders or programmers. The goal of integration testing is to check the correctness of communication among all the modules Once all the components or modules are working independently, then we need to check the data flow between the dependent modules is known as integration testing.

3. User Acceptance Testing

User Acceptance Testing (UAT) is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing are done.

4. Output Testing

After performing the validation testing, the next step is output testing of the proposed systems, since no system could be useful if it does not produce the required output in the specified format. Asking the users about the format required by them tests the outputs generated or displayed by the system under consideration. Hence the output format is considered in 2 ways – one is on screen and another in printed format.

B. User Training

Whenever a new system is developed, user training is required to educate them about the working of the them so that it can be put to efficient use by those for whom the system has been primarily designed. For purpose the normal working of the project was demonstrated to the prospective users. Its working is tally understandable and since the expected users are people who have good knowledge of computers

C. Maintenance

This covers wide range of activities including correcting code and design errors. To reduce the need for maintenance in the long run, we have more accurately defined the user's requirements during the process A development. Depending on the requirements, this system has been developed to satisfy the largest possible extent. With development in technology, it may be possible to add many features based on the requirements in future. The coding and designing is simple and easy to which will make maintenance easier.

D. Testing Strategy

A strategy for system testing integrates system test cases and design techniques into a well-planned series of steps that results in the successful construction of software. The testing strategy must cooperate test planning test case design, test execution, and the resultant data collection and evaluation. A strategy for is testing must accommodate low-level tests that are necessary to verify that a small source segment has been correctly implemented as well as high level tests that validate major system functions against user requirements.

Software testing is a critical element of software quality assurance and represents the ultimate review of cation design and coding. Testing represents an interesting anomaly for the software. Thus, a series testing is performed for the proposed system before the system is ready for user acceptance testing

E. Test Cases              

IX.  FUTURE SCOPE

Future work would be focused more on increasing sensors on this system to fetch more data especially with regard to Pest Control and by also integrating GPS module in this system to enhance this Agriculture IoT Technology to full-fledged Agriculture Precision ready product.

Conclusion

IoT based SMART FARMING SYSTEM for Live Monitoring of Temperature and Soil Moisture has been proposed using Arduino and Cloud Computing. The System has high efficiency and accuracy in fetching the live data of temperature and soil moisture. The IoT based smart farming System being proposed via this report will assist farmers in increasing the agriculture yield and take efficient care of food production as the System will always provide helping hand to farmers for getting accurate live feed of environmental temperature and soil moisture with more than 99% accurate results.

References

[1] https//:www.researchgate.net [2] https//:www.wikipedia.org [3] https//:www.rapidonline.com [4] https//:www.schematics.com [5] https//:www.batteryuniversity.com [6] https//:www.thingspeak.com [7] https//:www.youtube.com

Copyright

Copyright © 2022 Onkar J. Jagtap, Revati R. Mathapati, Aditi S. Bhadule, Snehal S. Kangude, Asst. Prof. Sushma Mule . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

IJRASET13691

Download Paper

Authors : Onkar J Jagtap

Paper Id : IJRASET43691

Publish Date : 2022-06-01

ISSN : 2321-9653

Publisher Name : IJRASET

DOI Link : Click Here

About Us

International Journal for Research in Applied Science and Engineering Technology (IJRASET) is an international peer reviewed, online journal published for the enhancement of research in various disciplines of Applied Science & Engineering Technologies.

Quick links
  • Privacy Policy
  • Refund & Cancellation Policy
  • Shipping Policy
  • Terms & Conditions
Quick links
  • Home
  • About us
  • Editorial Board
  • Impact Factor
  • Submit Paper
  • Current Issue
  • Special Issue
  • Pay Fee
  • Topics
Journals for publication of research paper | Research paper publishers | Paper publication sites | Best journal to publish research paper | Research paper publication sites | Journals for paper publication | Best international journal for paper publication | Best journals to publish papers in India | Journal paper publishing sites | International journal to publish research paper | Online paper publishing journal

© 2022, International Journal for Research in Applied Science and Engineering Technology All rights reserved. | Designed by EVG Software Solutions