You are on page 1of 52

PROJECT ABSTRACT

Research Project for the Bachelor Degree in Information Technology

Emphasis in Network and Communication Systems

Adventist University of Central Africa

TITLE: GREENHOUSE MONITORING AND CONTROL SYSTEM

Name of this researcher: NZAMWITA JORDAN

Name of the faculty advisor: LAURENT MANIRAHO

Date completed: July, 2022

This research project is about a farm monitoring system that uses the Internet of Things (IoT)
system that enables real time monitoring of farm irrigation by using smart sensors. This
system also allows the users in this case farmers or other relevant stakeholders to have access
to real time data on soil moisture, soil temperature and soil humidity provided by the soil
mosture sensor and DHT11 sensor which are critical parameters for the growth of the crops.
As we all know that the agricultural sector is the backbone of Rwanda’s economy and
contributes over 33 percent of GDP with 45 per cent export earnings, while 73 per cent work
in the agricultural sector, which makes the sector the biggest employer in Rwanda. . However
challenges remain to transform agriculture from subsistence to a productive high value,
market oriented farming. These challenges include inadequate access to markets, low human
capacity, small existing base of agro processing, lack of access to agriculture finance and long
term credit, inadequate access to advanced technologies, limited rural infrastructure, and high
production and transport costs. ICTs can play a role in addressing some of these challenges by
offering access to information and solutions embedded in broader stakeholder systems by
automating agriculture systems such as irrigation system throuth a remote controlled water
pump . The strategic application of ICT to the agriculture sector then offers the best
opportunity for economic growth and poverty alleviation when utilized as a holistic tool and
used appropriately and effectively within the agricultural sector. Hence, this system has been
implemented in some parts of Rwanda to allow the optimum use of resources such as water
and other important resources. The summarizations of activities which have been done and
testing results are presented; some recommendations and orientation for those who will be
carrying out further research about this project are presented in this report. At the end of the
presentation we mentioned the bibliography both electronic and books

i
DECLARATION

I hereby declare that this project report is based on my original work except for citations and
quotations which have been duly acknowledged. I also declare that it has not been previously
and concurrently submitted anywhere.

Student : NZAMWITA JORDAN

Signature: …………………………………………..

ii
APPROVAL

I, Mr. MANIRAHO Laurent hereby certify that this project report has been done under my
supervision and submitted with my approval.

Signature………………………………..

Date……………………………………..

iii
DEDICATION

To the Almighty God,


To my lovely family especially my parents,

To BCC AUCA Family,

To my lovely sisters and brothers in Christ

For their support during all the time of my studies.

To all my friends and relatives, without also not

Forgetting my supervisor for his guidance.


This work is dedicated.

iv
DEFINITION OF TERMINOLOGIES

● IoT (Internet of Things): A development of the Internet in which everyday objects


have network connectivity, allowing them to send and receive data. A state in which
physical objects (things) having embedded technology to sense and communicate,
being connected via an identifier such as a micro-chip/SIM. This will serve the
communication among those things, closing the gap between the real and the virtual
world and creating smarter processes and structures that can support us without
needing our attention. It can be compared with the digital connection on the internet.
(Belimo_IoT_Glossary_EN-US.pdf) (Youngblood, 2004) (Cook, 2017)
● IoT Service: Software component enabling interaction with resources through a well-
defined interface. Can be orchestrated together with non-IoT services (e.g. enterprise
services). Interaction with the service is done via the network.
(Belimo_IoT_Glossary_EN-US.pdf)
● Microcontroller: A small computer on a single integrated circuit containing a
processor core, memory, and programmable input/output peripherals. Program
memory in the form of NOR flash or OTP ROM is also often included on chip, as well
as a typically small amount of RAM. Microcontrollers are designed for embedded
applications, in contrast to the microprocessors used in personal computers or other
general-purpose applications. Microcontrollers are used in automatically controlled
products and devices, such as automobile engine control systems, implantable medical
devices, remote controls, office machines, appliances, power tools, and toys. By
reducing the size and cost compared with a design that uses a separate microprocessor,
memory, and input/output devices, microcontrollers make it economical to control
digitally even more devices and processes. Mixed signal microcontrollers are
common, integrating analogue components needed to control non-digital electronic
systems. (2)
● Sensor: To determine certain physical or chemical characteristics and transform them
into an electrical signal to make them digitally process able. Sensors form the
backbone of the IoT, helping to bridge the gap between digital and physical.
(Belimo_IoT_Glossary_EN-US.pdf)

v
Contents
PROJECT ABSTRACT..................................................................................................................................................... i
DECLARATION............................................................................................................................................................... iii
APPROVAL........................................................................................................................................................................ iv
DEDICATION..................................................................................................................................................................... v
DEFINITION OF TERMINOLOGIES...................................................................................................................... vi
CHAPTER 1......................................................................................................................................................................... 1
GENERAL INTRODUCTION...................................................................................................................................... 1
Background of the study.............................................................................................................................................. 2
Problem statement......................................................................................................................................................... 3
Objectives of the study................................................................................................................................................. 4
General Objective..................................................................................................................................................... 4
Specific Objectives................................................................................................................................................... 4
Scope of the Study......................................................................................................................................................... 4
Methodology and Techniques used in the Study.................................................................................................. 5
Observation................................................................................................................................................................. 5
Documentation........................................................................................................................................................... 5
Expected Results............................................................................................................................................................ 5
Organization of Report................................................................................................................................................. 6
CHAPTER 2......................................................................................................................................................................... 7
ANALYSIS OF CURRENT SYSTEM....................................................................................................................... 7
Introduction..................................................................................................................................................................... 7
Description of Current System Environment........................................................................................................ 7
Problems of the current system.................................................................................................................................. 8
Proposed Solutions........................................................................................................................................................ 8
Functional Requirements........................................................................................................................................ 9
Non-Functional Requirements............................................................................................................................ 10
CHAPTER 3...................................................................................................................................................................... 11
REQUIREMENTS ANALYSIS AND DESIGN OF THE NEW SYSTEM.................................................11
Introduction................................................................................................................................................................... 11
.......................................................................................................................................................................................... 11
Analysis and Design Methodology........................................................................................................................ 12
Objects oriented methodology............................................................................................................................ 12
Unified Modelling Language (UML)............................................................................................................... 12
Design of the new system......................................................................................................................................... 13
Use Case Diagram.................................................................................................................................................. 13
Use-case description.............................................................................................................................................. 17
Class diagram.......................................................................................................................................................... 20

vi
............................................................................................................................................................................................... 21
Sequence diagram................................................................................................................................................... 21
Database design...................................................................................................................................................... 25
Database Schema diagram................................................................................................................................... 25
System Architecture Design................................................................................................................................ 26
CHAPTER 4...................................................................................................................................................................... 28
IMPLEMENTATION OF THE NEW SYSTEM................................................................................................... 28
Technologies used....................................................................................................................................................... 28
Software tools.......................................................................................................................................................... 28
Hardware Tools....................................................................................................................................................... 30
Graphical interface of Home Automation System............................................................................................ 32
Login page................................................................................................................................................................ 32
Register account page........................................................................................................................................... 33
Dashboard of temperature and Humidity and Soil Moisture page..........................................................34
Irrigation control page........................................................................................................................................... 35
Software Testing.......................................................................................................................................................... 36
Hardware functionality Testing.......................................................................................................................... 38
Software and Hardware compatibility requirements........................................................................................ 38
CHAPTER 5...................................................................................................................................................................... 39
CONCLUSION AND RECOMMENDATIONS................................................................................................... 39
Conclusion..................................................................................................................................................................... 39
Recommendations....................................................................................................................................................... 39
References.......................................................................................................................................................................... 40

vii
List of figures

Figure 1: Overview of the Current System....................................................................................7


Figure 2: Use Case of Greenhouse monitoring & Control system..................................................16
Figure 3: Class Diagram........................................................................................................... 21
Figure 4: Sequence diagram for Admin creating farmers..............................................................23
Figure 5: Sequence diagram for Login.......................................................................................23
Figure 6: Sequence diagram for temperature and humidity monitor...............................................24
Figure 7: Sequence diagram for greenhouse appliance control......................................................25
Figure 8: Database Schema Diagram..........................................................................................26
Figure 9: System Architectural Design.......................................................................................27
Figure 10: NODEMCU............................................................................................................ 30
Figure 11: Current Sensor.........................................................................................................31
Figure 12: DHT11 sensor.........................................................................................................31
Figure 13: Login Page.............................................................................................................. 32
Figure 14: Register Account Page..............................................................................................33
Figure 15: Humidity and temperature page.................................................................................34
Figure 16: Irrigation control page..............................................................................................35
Figure 17: Report page............................................................................................................ 36

LIST OF TABLES

Table 1: Use case Elements.......................................................................................................15


Table 2: User Account Registration Use Case.............................................................................17
Table 3: Login Use Case.......................................................................................................... 18
Table 4: Use Case of monitoring temperature and humidity and soil moisture................................19
Table 5: Use Case of control temperature and humidity and other actuators....................................19
Table 6: Sequence Diagram Elements........................................................................................22

viii
CHAPTER 1

GENERAL INTRODUCTION

There are challenges that hinder the transformation of Rwandan agriculture from subsistence
to a productive high value, market oriented. To address some of the challenges of agri-food
systems in Rwanda and rural transformation, new development approaches are needed, that
combine innovative policies, technologies and organizational processes and practices, and
use of digital and other types of innovation for the improvement of agriculture and food
systems, into agriculture 4.0 (the fourth agricultural revolution).

Agriculture has been one of the primary occupations of man since early civilization and even
today manual interventions in farming are inevitable. Greenhouse form an important part of
the agriculture and horticulture sectors in our country as they can be used to grow plants
under controlled climatic conditions for optimal growth . Greenhouse technology is the
technique of providing favourable environmental conditions for plants. It replaces the direct
supervision. Now a day, due to urbanization and lack of land availability there is a great need
to construct the greenhouse, which will be revered mainly for growing crops. Greenhouse
monitoring and controlling projects is used to measure the various parameters like
temperature, humidity, light, water level, moisture, etc. and to display them on LED.
Continuous monitoring of these environmental factors gives relevant information pertaining
to the individual effects of the various factors towards obtaining effects of the various factors
towards obtaining maximum crop production. Unlike open farming where natures control
takes the upper hand, green house prevents a closed environment that can be strictly
controlled by humans in order to provide optimal conditions for the growth of plants.

This project presents the systems that collects and automatically controls condition of
greenhouse environment and crops by using different sensors. The existing control system
monitors temperature, humidity, light intensity, soil moisture. To make up for this project
proposes and collects the information regarding these parameters so that the change of
condition of crops depending on internal environment factors of greenhouse can be estimated.

1
Background of the study

A green house is where plants such as flowers and vegetables are grown. Green houses
warmup during the day when sun-rays penetrates through it, which heats the plant, soil and
structure. Green houses help to protect crops from many diseases, particularly those that are
soil borne and splash onto plants in the rain. Greenhouse effect is a natural phenomenon and
beneficial to human being. Numerous farmers fail to get good profits from the greenhouse
crops for the reason that they can’t manage two essential factors, which determines plant
growth as well as productivity. Green house temperature should not go below a certain
degree, High humidity can result to crop transpiration, condensation of water vapour on
various greenhouse surfaces, and water evaporation from the humid soil. To overcome such
challenges, this greenhouse monitoring and control system comes to rescue. This project
demonstrates the design and implementation of a various sensors for greenhouse environment
monitoring and controlling. This greenhouse control system is powered by Atmega328
microcontroller it consists of temperature sensor, light sensor, soil moisture sensor, LDR
sensor, LCD display module, 12v DC fan, Bulb and pump (microcontroller, n.d.).
Temperature sensor, senses the level of temperature. If it goes high DC fans gets on and when
the temperature goes low the fan gets off. Soil moisture sensor, senses the water level as the
level decreases the pumps gets on. In the absence of light, the LDR sensor senses and the bulb
starts glowing. By this way it will become easy to monitor and control the system.  The data
collected and processed are sent from the sensor nodes to the main node, where the received
data are analysed and processed to execute the output orders for the engine contract. In the
design of the main node algorithm, the optimal variation of the temperature and humidity
parameters during the day and night must be considered within the default configuration
values for each type of culture. Managed to build a system with a fairly reliable data
collection every 30 seconds using the wireless network, where the success rate of data
transfers up to 70%.

2
Problem statement

In Rwanda, farmers harvest less than half of expected yield due to crop cultivation in
unsuitable environment, which is also a result of lack of information on their soil environment
namely, soil moisture, temperature and humidity.

The main problem being addressed by this project is:


● The lack of tools and technologies: Measuring and having information on essential
parameters in the farm like temperature, humidity and soil moisture content requires
tools and advanced technologies yet farmers don’t access them in order to create a
conducive environment for plant growth which results to a desired production.
● Late decision-making: Good production depends on timely decision making of the
farmer, this means knowing the proper time for fertigation (Application of irrigation
and fertilizer). Proper decision making depend on proper information about the farm.
● Bad Measurement of monitoring soil moisture: Moisture status should be essential
parts of an efficient irrigation system. By having the appropriate technology, we can
avoid the economic losses in water and energy as well as effects that under-irrigation
and over-irrigation can have on crop yield and quality.

Choice and Motivation


I am an IoT enthusiast and I have gained relevant practical experience in developing
innovative solutions to existing challenges. This project is of personal interest to me as it
brings up an innovative solution that will address some of the current challenges in the
Agriculture sector in Rwanda. Furthermore, I strongly believe that Rwandans are also capable
of developing local solutions to their own challenges.

This project will show the vast opportunities presented by the Internet of Things, which will
spark the interest of lecturers and other students to also come up with solutions that leverage
the capabilities of the Internet of Things. Internet of Things is relatively a new technology in
Rwanda and by presenting this project, it will be a learning experience to other students that
might be interested in acquiring knowledge on the Internet of Things.

This project is currently being implemented in MULINDI Horticulture of excellence, and it is


a project that has huge potential to disrupt the way large scale farming is done in Rwanda

3
especially keeping in mind that it strongly aligns with the government of Rwanda's ICT4RAg
strategy to leverage on ICT in agriculture in Rwanda.

Objectives of the study

General Objective

Our main objectives of this project are build greenhouse with automatic monitoring and
controlling system. Constantly monitor and control environmental conditions in greenhouse.
It focuses on saving water, increasing efficiency and reducing the environmental impacts on
plants production. The user can see the atmospheric conditions of the greenhouse plants on
website and control the greenhouse from faraway places. It is to increase the production of
food stuff. To save water, power etc.

Specific Objectives

● Develop a monitoring solution that captures soil moisture, soil temperature


and soil humidity data and is transmitted in real time using the Internet.
● ii. Develop an online dashboard to visualize data in real time from the

smart sensing devices.

Scope of the Study

This project consists of 2 parts i.e. the hardware and software. Part which consists of a low
cost sensing unit (DHT11 sensor for temperature and humidity data as well as a soil moisture
sensor)

Which can be deployed in the farm as well as an online dashboard to allow real time
monitoring for the farmer or other relevant stakeholders. The proposed project will be
designed based on the research that was conducted in in The horticulture center of excellence,
established at Mulindi in the City of Kigali This project will be done within a period of 1
month.

4
Methodology and Techniques used in the Study

Observation

An observation is a data collection method, by which you gather knowledge of the researched
phenomenon through making observations of the phenomena, as and when it occurs. You
should aim to focus your observations on human behaviour, the use of the phenomenon and
human interactions related to the phenomenon. You can also make observations on verbal and
nonverbal expressions. In making and documenting observations, you need to clearly
differentiate your own observations from the observations provided to you by other people.
The range of data storage genre found in Archives and Collections, is suitable for
documenting observations e.g. audio, visual, textual and digital including sub-genres of note
taking, audio recording and video recording.

Focus Group Discussions

Focus group discussions take the interactive benefits of an interview to the next level by
bringing a carefully chosen group together for a moderated discussion on the subject of the
survey.

Documentation

Document review involves systematic data collection from existing records. This technique
helped us to go through all the data in several works relating to our topic in order to put the
necessary information. Several books, dissertation and newspapers were consulted as well as
web graphic, which helped us to make the research on the internet and to consult different
sites related to this dissertation

5
Expected Results

The expected outcome of the system can be discussed in few different ways. It is mandatory
for the system to have an authentication process to enter the greenhouse system, to avoid any
kind of unauthorized access. When an invalid password is entered a message will come at the
display saying, ‘wrong password'. If the password is correct a message comes out notifying
'login success' then it proceeds to display the home page of the app where controls option is
given. The control dashboard will provide information of all connected appliances or and their
status where an individual will be able to control and monitor all connected appliances
(devices) via a personal computer. The dashboard will provide indoor temperature and
humidity information monitoring.

Organization of Report

This study contains five chapters.

Chapter One entitled General Introduction gives the general description of the work, it
includes introduction, background of the study, Statement of problem, the motivation in the
study, methodology and techniques used in the study, the objective of the work, challenges,
expected results, scope of the study and organization of the report.

Chapter Two discusses about the analysis of the existing system where we will describe the
operation and the environment of the existing system, deeply discover their issues, and
suggested solutions proposed on those problems. This chapter will describe the organizational
environment in which the new system will be implemented.

Chapter Three entitled Requirements Analysis and Design of the new System is normally the
logical conception of the new system by designing professional diagrams as provided by
UML methodology. It will portray the conceptual process of the solutions proposed to solve
the problems of the existing system.

Chapter Four will focus on the technical realization of the application where we will explain
and design the new system by showing how the application has been conceived, what are the
technologies have been used, as well as the different types of testing used to validate the
software.

6
Finally, chapter five will conclude our project as well as recommendations for future
development.

CHAPTER 2

ANALYSIS OF CURRENT SYSTEM

Introduction

Considering the pressing challenge of climate-related risks in Rwanda and in the region, the
need for more accurate agricultural data and the commitment of the Government of Rwanda
to ICTs in general and particularly IoT; this project’s main objective is to prototype and
develop a technology that can sustainably address issues related to irrigation water wastage
through “real time” soil data collection in different areas.

Description of Current System Environment

The lack of tools to know how much water in the soil is available to the crop, and how much
water the crop needs. We found that the irrigation that is done whenever crops or plants needs
water in a uniform way.

Figure 1: Overview of the Current System

7
Problems of the current system

After analysing the workflow and implementation of existing automated and non-automated
greenhouse monitoring systems below are problems found:

⮚ High cost of implementation and maintenance: the implementation of smart


house require replace the existing devices with smart appliances which are
expensive and also require to order them as import deliveries in our country which
increase the cost of these smart appliances.
⮚ Cannot be managed by end users: most of the smart devices are complicated to
be managed because they are embedded systems, which have hardcoded
instructions with this it is impossible to the end user to instruct the smart devices
according to his/her will.
⮚ Lack of security: smart devices can be used as a cyber-attack vector. Where
some network security threats can take place in your system network such as
password exploitation, location tracking, greenhouse intrusions and greenhouse
appliance damage.

Proposed Solutions

Real time farm level data is critical for efficient irrigation water management. Farm level data
is very difficult to collect only with the use of the human eye. Considering the pressing
challenge of climate-related risks to the agriculture sector in Rwanda, there is need for more
accurate agricultural data; this project’s main objective is to prototype and develop a
technology that can sustainably address issues related to irrigation water wastage through
“real time” soil data collection namely soil temperature, soil moisture and soil humidity.

With the farm monitoring system using Internet of Things, the farmer/user can remotely
monitor the critical parameters from his farm i.e. soil temperature, soil moisture and soil
humidity. From the online dashboard, there is also possibility to be notified when there is any
set threshold value that has been reached. Furthermore, a custom CSV data set will be
downloaded from the dashboard and by using Power BI, we will be able to generate
interactive and insightful reports that can be shared with relevant project stakeholders. To be

8
able to report online, it is required to have an account in the Power BI Service

Requirement specifications:
Functional and Non-functional requirements

The requirement specification activity includes asset of features that the system must have to
be used. A functional requirement is a specification of a function that the system must
support, while non-functional requirement is a constraint on the operation of the system that is
not related directly to a function of the system.

Functional Requirements.

Functional requirements specify what the system should do.

❖ Measure soil temperature and humidity


❖ Measure soil moisture
❖ The system should be able to visualize sensor readings on the
online dashboard
❖ The system should be able to provide high accuracy data
❖ The system should be allowing remote farm monitoring
❖ The system should be using wireless data transmission(Internet)
❖ It would be desired for the data transmission to be (near-) real time
❖ The system should generate BI reports

9
Non-Functional Requirements

Non-functional requirements, which are needed, are:

Availability: The system should always be available for access at 24 hours, 7 days a week.
Also in the occurrence of any major system malfunctioning, the system should be available in
1 to 2 working days, so that business process is not severely affected.

User Friendly: The system must be easy to use and should be easy to be learnt to be used by
a user

Performance : The system should have high performance rate when executing users input
and should be able to provide response within a short time span usually 50seconds for highly
complicated tasks and 25 seconds for less complicated tasks

Security: The system should only allow users with valid email and password to login, no
duplicate email is allowed, it must authenticate the email and password to have access to
user’s page thereby blocking unauthorized personnel.

Error handling: Error should be considerably minimized and an appropriate error


message that guides the user to recover from the error should be provided.

Usability: Considered the level of knowledge possessed by the users of this system,
a simple but quality user interface should be developed to make it easy to
understand and require less training.

10
CHAPTER 3

REQUIREMENTS ANALYSIS AND DESIGN OF THE NEW SYSTEM

Introduction

The development of a new system is a work does by spending much time on innovating the
previous one; it focuses on satisfying the user by providing functionalities that were not
included in the old system. Making a deep analysis the old system leads to figure out that
there is some missing contents that can be useful to a user no matter what energy you have
spent on developing it you will always need to improve it.

Generally, System development involves two major components:

⮚ System Analysis: It is a process of collecting and interpreting facts, identifying the


problems, and decomposition of a system into its components. It is conducted for
studying a system or its parts in order to identify its objectives. It is a problem
solving technique that improves the system and ensures that all the components of the
system work efficiently to accomplish their purpose.

Analysis specifies what the system should do.

⮚ System Design: It is a process of planning a new business system or replacing an


existing system by defining its components or modules to satisfy the specific
requirements. Before planning, you need to understand the old system thoroughly and
determine how computers can best be used in order to operate efficiently.

System Design focuses on how to accomplish the objective of the system.

11
Analysis and Design Methodology

Objects oriented methodology

Object Oriented Methodology (OOM) is a system development approach encouraging and


facilitating re-use of software components. With this methodology, a computer system can be
developed on a component basis, which enables the effective re-use of existing components
and facilitates the sharing of its components by other systems.

They are two main basic building blocks that are useful in development of the system by
using Object Oriented Methodology those are: Classes and Objects.

An Object is an instance of a class; it is defined as a discrete entity with a well-defined


boundary that encapsulates states and behaviour expressed as a software representation. An
Object can be a thing, a concept, or an event. By knowing what an object means, simply a
class is a description of a collection of objects with common attributes and behaviours (alan,
2005)

Object-oriented modelling is typically done via use cases and abstract definitions of the most
important objects. The most common language used to do object-oriented modelling is the
Unified Modelling Language (UML).

Unified Modelling Language (UML)

The Unified Modelling Language (UML) is a general-purpose modelling language in the field
of software engineering, which is designed to provide a standard way to visualize the design
of a system. It is a standard notation for modelling the Object-oriented systems.

It was developed by Grady Booch, Ivar Jacobson and James Rumbaugh at Rational Software
in the 1990s. It was adopted by the Object Management Group (OMG) in 1997, and has been
managed by this organization ever since. In 2000 the Unified Modeling Language was
accepted by the International Organization for Standardization (ISO) as a standard for
modeling software-intensive systems.

12
Unified Modelling Language (UML) combines techniques from data modelling (entity
relationship diagrams), business modelling (work flows), object modelling, and component
modelling. It can be used with all processes, throughout the software development life cycle,
and across different implementation technologies (Rivest, 2002).

The Unified Modelling Language (UML) offers a standard way to visualize a system's
architectural blueprints, including elements such as:

● activities
● actors
● business processes
● database schemas
● (logical) components
● programming language statements
● Reusable software components.

UML has synthesized the notations of the Booch method, the Object-modelling technique
(OMT) and Object-oriented software engineering (OOSE) by fusing them into a single,
common and widely usable modelling language. UML aims to be a standard modelling
language, which can model concurrent and distributed systems (alan, 2005).

Design of the new system

System design is the first phase of the system development life cycle in which you and the
user develop a concrete understanding of how the system will operate.

Systems design is the process of defining the architecture, components, modules, interfaces,
and data for a system to satisfy specified requirements.

Use Case Diagram

Use case diagram is UML diagram which shows some business or software system,
its external users (called actors), and a set of actions (called use cases) that users of the system
should or can perform while using the system. Use case diagrams are used to describe
functionality of a system from the point of view of external users (L, 2007).

13
Use case diagrams consist of actors, use cases and their relationships. The diagram is used to
model the system/subsystem of an application. A single use case diagram captures a particular
functionality of a system. Use case diagrams are used to gather the requirements of a system
including internal and external influences. These requirements are mostly design
requirements. Hence, when a system is analysed to gather its functionalities, use cases are
prepared and actors are identified.

Description Shape
An actor:
● Is a Person or system that derives benefit from and
is external to the subject.
● Is depicted as either a stick figure (default) or if a
nonhuman Acton is involved, as a rectangle with
« actor » in it (alternative).
● Can be associated with other actors using a
specialization/super class Field, denoted by an
Arrow with a hollow arrowhead.

A use case:
● Represents a major piece of system functionality
● Can extend another use case
● Can include another use case.
● Is placed inside the system boundary

● Is labelled with a descriptive verb–noun phrase.

14
A boundary:
● It is a box drawn around the use case to denote the
edge or boundary of the system being modelled.
● Includes the name of the subject inside or on top.
● Represents the scope of the subject, e.g. a system
or an individual business process.

An Field relationship:
● Links an actor with the use case(s) with which it
interacts.

Table 1: Use case Elements

15
The figure below describes the operations of new system and the stakeholders through the use
case diagram

Figure 2: Use Case of Greenhouse monitoring & Control system

16
Use-case description

Use Case description details what a use case do, and what it requests in order to be well
executed. Each use case looks like this:
⮚ Name : A name of a use case
⮚ Description: What a system intends to do
⮚ Actor: The actor involved in the use case
⮚ Pre-condition: The system state before the use case can begin
⮚ Post-condition: The system state when the use case is over
⮚ Normal flow: The actual steps of the use case
⮚ Alternative flow: Steps which may happen in case a normal flow fails.

Use case description for user account registration

Name: User account registration


Actor: Greenhouse coordinator(admin) and farmer
Description: This allows the admin coordinator to create Farmers accounts
Pre-condition:

● The farmer should first ask for the credentials.


● the Greenhouse coordinator should first interact with the system
Post-condition: the system shows the message “the user is successfully created or The system fails ”
Normal flow:
The creation of a user account
1. farmer is given the request for credentials by the Greenhouse coordinator(admin)
2. The system displays the form for Greenhouse coordinator(admin) to fill the user’s details
information
3. Then fills the information into the form and submit it
4. The system validate the information
5. The system stores information
6. The system displays messages on the screen “the user account is successfully created”.

Alternative flow:
4. If the information is not valid, the system provides the message indicating the error.

5. If the system fails to store information display message “The system fails”
Table 2: User Account Registration Use Case
17
Use case description for login

Name: Login
Actor: Farmer and Greenhouse coordinator(admin)
Description: This allows the users to access the system content
Pre-condition: the user should first have credentials
Post-condition: the system shows the user if he/she successfully accessed his/her account
Normal flow:
User login on the system
1. The user has account if not he/she has to request for credentials
2. The system checks the corresponding given information
3. If given information is true then the system display the page corresponding to the type of
user or it display the error message

Alternative flow:
2. A. If the request was not found is the system provides the message indicating the error.

2. A. If the system fails to retrieve information display message “The system fails”
Table 3: Login Use Case

Use case description for monitoring temperature and humidity and soil moisture

Actor: farmer
Description: This allows the user to view real time information of the greenhouse and also
measures the temperature and humidity via the web
Pre-condition: the user should first login
Post-condition:
Normal flow:

● The user must have system credentials


● And then he/she will be able to login into the system using these credentials
● After logging into the system, he/she will be able to access the Temperature and
humidity page that will display real time information of the Greenhouse
temperature.

18
● The user will be able to compare and analyse the temperature and humidity data
and take an action
Alternative flow:
1. If the request is not found the system provides the message indicating the error.

Table 4: Use Case of monitoring temperature and humidity and soil moisture

Use case description for control temperature and humidity and other actuators

Name: Control Temperature and humidity & soil moisture


Actor: farmer
Description: This allows the user to for the first time switch on/off temperature & humidity devices
(sensor devices) via the web
Pre-condition: the user should first login
Post-condition: the system shows the user the status of the temperature or humidity and soil
moisture
Normal flow:

1. The user must have system credentials


2. And then he/she will be able to login into the system using these credentials
3. After logging into the system, he/she will be able to access the control page that will
display controllable devices and their real time status.
4. The user will be able to control different actuators such as Water pump, and tank water
using control buttons found on the system dashboard

Alternative flow:
1. If the request is not found the system provides the message indicating the error.

Table 5: Use Case of control temperature and humidity and other actuators
Class diagram

A class diagram is the structure diagram that describes the structure of a system by showing
the system's classes, their attributes, operations (or methods), and the relationships among the

19
classes. The figure below shows the class diagram of the national budget preparation
information system.

Benefits of class diagrams

Class diagrams offer a number of benefits for any organization. Use UML class diagrams to:

⮚ Illustrate data models for information systems, no matter how simple or complex.
⮚ Better, understand the general overview of the schematics of an application.
⮚ Visually express any specific needs of a system and disseminate that information
throughout the business.
⮚ Create detailed charts that highlight any specific code needed to be programmed and
implemented to the described structure.
⮚ Provide an implementation-independent description of types used in a system that are
later passed between its components.

Figure 3: Class Diagram

20
Sequence diagram

A sequence diagram is a form of interaction diagram, which shows objects as lifelines running
down the page, with their interactions over time represented as messages drawn as arrows
from the source lifeline to the target lifeline. A sequence diagram shows object interactions
arranged in time sequence.

The notations and their definitions that are used in sequence diagram:

Term and definition Symbol


An actor:
✔ It can be a person or system that derives benefit from
and is external to the system.
✔ It participates in a sequence by sending and/or
receiving messages.
✔ It is placed across the top of the diagram.

An object lifeline:
✔ It participates in a sequence by sending and/or
receiving messages.
✔ It is placed across the top of the diagram.

An activation:
✔ It is a long narrow rectangle placed on top of a
lifeline.
✔ It denotes when an object is sending or receiving
messages

A message:
✔ It conveys information from one object to another one.
✔ An operation call is labelled with the message being
sent and a solid arrow, whereas a return is labelled
with the value being returned and shown as a dashed
arrow.

Table 6: Sequence Diagram Elements

21
Sequence diagram for creating a layer of the organization structure

As the sequence diagram graphically displays the interaction between actors and the system,
the diagram below clearly describes how the user interacts with the system.

Sequence diagram for account creation

22
Figure 4: Sequence diagram for Admin creating farmers

Sequence diagram for Login

Figure 5: Sequence diagram for Login

23
Sequence diagram for Temperature and Humidity monitoring

Figure 6: Sequence diagram for temperature and humidity monitor.

Sequence diagram for appliances control

24
Figure 7: Sequence diagram for greenhouse appliance control.

Database design
It is the process of producing a detailed data model of database. This data model contains all
the needed logical and physical design choices and physical storage parameters needed to
generate a design in a data definition language, which can then be used to create a database.

Database Schema diagram

A database schema of a database system is its structure described in a formal language


supported by the database management system (DBMS). And refers to the organization of
data to create a blueprint of how a database will be constructed (divided into database
tables).The formal definition of database schema is a set of formulas (sentences called
integrity constraints imposed on a database. These integrity constraints ensure compatibility
between parts of the schema (Ramez & et al, 2004).

25
DATABASE SCHEMA DIAGRAM

Figure 8: Database Schema Diagram


System Architecture Design

System architecture is a representation of a system in which there is a mapping of


functionalities into hardware and software components, a mapping of the software
architecture onto the hardware architecture, and human interaction with these components.
The following figure displays sample system architecture of the new application. It is a
diagram of a system, in which the principal parts or functions are represented by blocks
connected by lines that show the relationships of the blocks.

26
Figure 9: System Architectural Design

27
CHAPTER 4

IMPLEMENTATION OF THE NEW SYSTEM

Introduction
This chapter describes the development of a “GREENHOUSE MONITORING AND
CONTROL SYSTEM”. It includes a brief overview of the technologies used to make the
application, operational, the presentation of screenshots for the new system, tests that have
been applied. Last but not least, software and hardware compatibility requirements.

Technologies used

To develop this application, I have used different technologies and tools namely

Software tools

MySQL: is a software development tool used to develop a database as collection of data. The
purpose of a database is to store and retrieve related information. (Vaughan-Nichols, 2013)

XAMPP: Cross-Platform (X), Apache (A), MySQL (M), PHP (P) and Perl (P) is a free and
open source cross-platform web server solution stack package developed by Apache
Friends, consisting mainly of the Apache HTTP Server, Maria DB database, and
interpreters for scripts written in the PHP and Perl programming languages.

HTML: HTML (Hyper Text Markup Language) is written in the form of HTML elements
consisting of tags enclosed in angle brackets (like <html>), within the web page content.
HTML tags most commonly come in pairs like <h1> and </h1>, although some tags, known
as empty elements, are unpaired, for example <img/>. The first tag in a pair is the start tag,
the second tag is the end tag (they are also called opening tags and closing tags).HTML
allows images and objects to be embedded and can be used to create interactive forms.

28
JavaScript: JavaScript (JS) is an interpreted computer programming language. It was
originally implemented as part of web browsers so that client-side scripts could interact
with the user, control the browser, communicate asynchronously, and alter the document
content that was displayed.

CSS: Cascading style sheets are used to format the layout of web pages. They can be used
to define text styles, table sizes, and other aspects of Web pages that previously could only
be defined in a page's HTML.CSS makes it easy to change styles across several pages at
once. (Petrie, et al, 2010).

PHP (Stands for Hypertext Pre-processor): is a server-side scripting language created in


1995 and designed for web development but also used as a general purpose programming
language. PHP code can be simply mixed with HTML code, or it can be used in
combination with various templating engines and web frameworks. PHP code is usually
processed by a PHP interpreter,
which is usually implemented as a web server’s native module or a Common Gateway
Interface executable. After the PHP code is interpreted and executed, the web server sends
resulting output to it client, usually in form of a part of the generated web page; for
example, PHP code can generate a web page’s HTML code, an image, or other data. And it
can be built in Apache as server. (Nixon, 2009).

Arduino: For making the project (Smart home system) must be needed an arduino board.
Arduino is an open source computer hardware and software company, project, and user
community that designs and manufactures single-board microcontrollers and
microcontroller kits for building digital devices and interactive objects that can sense and
control objects in the physical world.

29
Hardware Tools

NODEMCU
It is an open-source firmware and development kit that plays a vital role in designing your
own IoT product using a few Lua script lines. The module is mainly based on ESP8266 that is
a low-cost Wi-Fi microchip incorporating both a full TCP/IP
stack and microcontroller capability. Manufacturer Express if Systems introduces it. A
manufacturer based in Shanghai, China. Arduino Modules and Microcontrollers have always
been a great choice to incorporate automation into the relevant project. But these modules
come with a little drawback as they don't feature a built-in Wi-Fi capability, subsequently, we
need to add external Wi-Fi protocol into these devices to make them compatible with the
internet channel. This is where NodeMCU V3 comes handy that incorporates a built-in Wi-Fi
support, giving an easy pathway to design IoT applications as per your technical
requirements. In this post, I'll try to cover brief details related to this Wi-Fi Development Kit,
its main features, pinout and everything you need to know about this module. (ESP8266,
2018)

Figure 10: NODEMCU

RELAY SWITCH: used to control the forward or reverse direction of motors.  Use Relay
Logic to control lights using relays in standard applications as well as 3-way switching
application.  Our relay logic guide helps demonstrate the best ways to connect NCD relay
controllers in real-world control applications. The COM (Common) connection of a relay is
the part of the relay that moves. When a relay is off, the COMMON is connected to the NC
(Normally Closed). The NO (Normally Open) connection of the relay is not connected until
the relay turns on. When the relay turns on, the COMMON move from NC to NO.
Mechanical relays create a Clicking sound that indicates movement of the COMMON
terminal.

30
Not all relays have a Normally Closed Connection. For instance, 30A relays (as offered on
our web site) do not have a Normally Closed connection. We do not currently offer Solid
State relays with a Normally Closed connection. It is possible to use Two relays to create a
normally

Closed condition. (yuvayana.org, 2016)

Figure 11: Current Sensor

DHT11 is a commonly used Temperature and humidity sensor. The sensor comes with a


dedicated NTC to measure temperature and an 8-bit microcontroller to output the values of
temperature and humidity as serial data. The sensor is also factory calibrated and hence easy
to interface with other microcontrollers.

The sensor can measure temperature from 0°C to 50°C and humidity from 20% to 90% with
an accuracy of ±1°C and ±1%. So if you are looking to measure in this range then this sensor
might be the right choice for you. (Cook, 2017)

Figure 12: DHT11 sensor

31
Graphical interface of Home Automation System

Login page

Figure 13: Login Page

32
Register account page

Figure 14: Register Account Page

33
Dashboard of temperature and Humidity and Soil Moisture page

Figure 15: Humidity and temperature page

34
Irrigation control page

Figure 16: Irrigation control page

35
Report

Figure 17: Report page

Software Testing
Software tests play an important role in the software designing. They help to verify the
effectiveness of the software to see if it actually does what it was supposed to solve.

Listed are key aspects to take into consideration in software testing

✔ Does the application meet the requirements that guided its design and development?
✔ Does the application works as expected?
✔ Can the application be implemented with the same characteristics and satisfies the
needs of the stakeholders?

36
The following are some software testing

The Unit Test: Unit testing is a process to ensure the proper functioning of particular
software or a portion of a program. It is a method by which individual units of source code,
sets of one or more computer program modules together with associated control data, usage
procedures, and operating procedures, are tested to determine if they are fit for use. In other
words every small component that can be compiled with the goal to know that every unit
matches to its specifications, and to know if there are logical mistakes. Indeed, the unit test is
an efficient means that permits to detect the maximum possible mistakes. The application has
been checked with the unit test at each piece of the code written. (Testing, n.d.)
The Integration test: is the phase in software testing in which individual software modules
are combined and tested as a group. This test is useful to check the assembly of the different
part of the software. It is also a progression of tests, in which the software and hardware
components are collected and tested until the entire system is tested. The application modules
have been successively tested until completion to ensure that the whole constituted by the
assembled software components answers to the required functional and technical
specifications.
The Validation test: The last test phase has the role of validating the software in its external
environment. The product has been put in final situation in order to verify if it perfectly
answers to the needs expressed in the first phase. The validation test is important, since it is
necessary to verify if the setting up of the application corresponds to the expressed needs. For
example the national Id should be 16 digits and the email address should contain @ and ends
with Gmail, yahoo.com. The application has been tested in its entirety, and it is in this way
that we noticed that the progress of operations done corresponds to the functional
specifications. (Testing, n.d.)

37
Hardware functionality Testing

Hardware functionality testing is performed on hardware products to verify that your product
functions exactly as designed. The general purpose of hardware functionality testing is to
verify if the product performs as expected and documented, typically in technical or
functional specifications. Developers creating a new product start from a functional
specification, which describes the product’s capabilities and limitations. Test Engineers utilize
this specification, if available, as a guideline for expected product response. Tasks are
exercised to test specific features or functions, and the results of these tasks are verified by
Developers to be in compliance with the expected response. This type of testing is beneficial
to product developers who are creating a new product or an existing product, which has
undergone significant enhancements or changes in capabilities (Testing, n.d.).

Software and Hardware compatibility requirements

Client side requirements:

✔ A web browser (Mozilla Firefox, Google Chrome, Torch, etc.)

✔ Operating system (Windows xp, vista, 7, 8 and 10; Linux, iOS).


✔ Microprocessor Intel Celeron (minimum)
✔ A RAM of 512 Megabyte(minimum)
✔ A hard disk of at least 1Gigabyte of free space
✔ Intel Pentium II processor (minimum)

Server side requirements:


✔ A Web server which support Apache Tomcat;

✔ MYSQL SERVER 5.5;

✔ Network cark: 1GB/Second;

✔ RAM: 1GB minimum;

✔ 2GB or freer hard disk space.

✔ 1 node mcu (ESP2866) module

✔ 1 triple ways relay switch

38
✔ 1 DHT 11 sensor

CHAPTER 5

CONCLUSION AND RECOMMENDATIONS

Conclusion

Hence, the idea to create a fully working greenhouse system with facility to control and
monitor appliances has been finally realized. The output of this project is an array of
agriculture devices that are controlled over a web application with connection to Wi-Fi
module.

This project is a successful outcome of continuous and tireless effort from all the project
members’ supervisors, college faculty, colleagues and other helping hands. This project has
been a great experience and opportunity to learn and to experiment. Moreover, the author got
the chance to closely experiment and learn about what goes into designing and developing
home automation systems. I am very much delighted that, I explored this topic as my major
project title and in a way created a version of smart home system of my own, and to be
closely related with the technology that is of a great interest of study and research today and is
sure to revolutionize the way of living of people in the days to come.

39
Recommendations

I would like to recommend future homeowners to start using this technology, as it is cheaper
than we always think that it is expensive.
I would like also to recommend the government of Rwanda as well as Adventist University
of Central Africa to start encouraging young technocrats to join this field of IoT by adding
Internet of Things courses in engineering curriculum as it is growing rapidly and providing
enough implementation components because most of the components are expensive. In
closing of this work, I would like to suggest any interested person who can add other
functionalities or who can give me some helpful ideas on what can be added to a system as a
way of improving the capacity of the system to serve whoever is willing to use it.

40
References
 alan. (2005). system analysis and design .

 ESP8266, L. b. (2018).

 L, J. (2007).

 microcontroller. (n.d.). www.utmel.com/productdetail. Retrieved from

www.utmel.com: https://www.utmel.com/productdetail/microchiptechnology-

atmega328ppn

Rivest. (2002).

 yuvayana.org. (2016). relay logic circuit relay contactor switch and timer. Retrieved

from http://er.yuvayana.org.

Bibliography
● Cook, S. D. (2017). Wireless Mobile and Sensor Networks.

● Youngblood, “. J. (2004). , Smart Agriculture, Encyclopedia of Human-Computer

Interaction.

● Aurum, A., Jeffery, R., Wohlin, C., & Handzic, M. (Eds) (2013). Managing software

engineering knowledge. Spring Science & Business Media.

● Bennett, S., McRobb, S., & Farmer, R. (2005). Object-oriented systems analysis and

design using UML. McGraw Hill Higher Education.

● Dennis, A., Wixom, B. H., & Tegarden, D. (2015). Systems Analysis and Design: An

Object-oriented approach with UML. John Wiley & Sons.

41
CURRICULUM VITAE

PERSONAL IDENTIFICATION
First name: NZAMWITA VUNINGOMA
Last name: JORDAN
Place of birth: NYARUGENGE

Place of residence: GASABO


Born on: 23/04/1997
Contacts: + (250)787801577
E-mail: nzasjordan1@gmail.com
Marital status: Single
Nationality: Rwandese
Father’s name: NZAMWITA R. GODEFROID
Mother’s name: MAMBUBAKI SYLVIE NGHA

EDUCATION BACK GROUND


Academic year Name of Institution Place of Issue Award
2017-now ADVENTIST UNIVERSITY OF KIGALI NOT YET
CENTRAL AFRICA(AUCA)

2013-2015 GROUPE SCOLAIRE DE KIGALI A level Diploma


NYANDUNGU GREAT
LAKES(kanombe)

SPOKEN LANGUAGES
Language Understanding Speaking Writing
Listening Reading
English 4 4 4 4
French 4 4 4 4
Swahili 1 1 1 1
5 5 5 5
Justification of 5:mother tongue 4: fluently 3: good 2: sufficient 1: basic
score
Mother tongue: Kinyarwanda

42
ORGANIZATION SKILLS AND COMPETENCES
• Ability to work under pressure through our campus(Auca department of IT),
• Focused,
• Organized and hardworking,
• Team player/lead in the group
• Quick learner

CORE VALUES
• Excellent,
• Ethics,
• Trust,
• Team work,
• Continuous Learning,
• Technology enthusiast,
• Carrier minded

PERSONAL SKILLS
• Ability to effectively work under minimum supervision and the spirit of teamwork;
• Strong interpersonal skills, problem solving and organization skills
• The spirit of punctuality and commitment to achieve better results while respecting
deadlines
• I am able to establish and maintain effective working relations with people in any
environment
Skills of computer software’s :

Network Administration
• Routing and Switching
• Windows Server Administration
• Linux Server Administration
• Computer Maintenance(Hardware and Software)
• Web design and Mobile App Development using JAVA
• Database System Design and Management
• Graphic Design (adobe Illustator , adobe photoshop, adobe animation)

WORKING EXPERIENCE
• IT Teachings Support at CANAL OLYMPIA REBERO (from 21st April to 10th may 2021)

43
CERTIFICATION
• IoT TRAINNING CERTIFICATION
• CISCO NETWORKING ACADEMY CERTIFICATION

Reference

• KABERA KEVIN

+250786027337

Partnership Manager at IREMBO

• PASCAL CYUZUZO

+250788800886

Network Administrator at Rwanda National Bank

• NDAGIJIMANA EMMANUEL

+250783245797

IT Supervisor at ERC MASORO

I declare that the information given here above is true and sincere.

NZAMWITA VUNINGOMA JORDAN

44

You might also like