You are on page 1of 19

UNIVERSITY OF DAR ES SALAAM

COLLEGE OF INFORMATION AND COMMUNICATION TECHNOLOGIES

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

IS335 / CS498: Final Year Project Report – Mid of Semester One

Project Title: ENIRONMENTAL MONITORING AND


CONTROL FOR A SERVER ROOM

Student Name: Mndeme, Salmini S 2020-04-07477 BSc. In CEIT

Msigwa, Joshua B 2020-04-08045 BSc. In CEIT

Mkwe, Crasiana A 2021-04-07332 BSc. In CS

Supervisor Name: Dr. Daudi Charles

Supervisor Signature …………………..


TABLE OF CONTENTS

1.0 CHAPTER ONE: INTRODUCTION


1.1 General Introduction.
1.2 Statement of the Problem.
1.3 Objective
1.3.0 Main Objectives
1.3.1 Specific Objectives
1.4 Significance of the Project.
1.5 Project Scope.
1.6 Organization of the report

2.0 CHAPTER TWO: LITERATURE REVIEW


2.1 Introduction.
2.2
2.3 xxxxxxxxxxxxxxx
2.4 xxxxxxxxxxxxxxx
2.5 Related Works.
2.6 Gap

3.0 CHAPTER THREE: METHODOLOY


3.1 xxxxxxxxxxxxxxx.
3.1.0 xxxxxxxxxxxxxxx
3.1.1 xxxxxxxxxxxxxxx
3.1.2 xxxxxxxxxxxxxxx
3.1.3 xxxxxxxxxxxxxxx
3.2 xxxxxxxxxxxxxxx …
3.3 xxxxxxxxxxxxxxx …
3.4 xxxxxxxxxxxxxxx …

i
LIST OF ABBREVIATION

ENVIROMUX
AVITECH
DHTT

i
CHAPTER ONE

INTRODUCTION

1.1. General Introduction

In today's tech world, the importance of strong and dependable server rooms cannot be
emphasized enough. With data becoming the backbone of organizations, the smooth and
uninterrupted operation of servers is crucial. The environment in which server infrastructure
functions plays a key role in determining its performance and lifespan. Keeping an eye on
factors like temperature, humidity, and the potential for water leaks is essential for
maintaining server rooms. (www.burk.com, 2012).

1.2. Statement of the Problem

This project takes on the challenge of handling environmental conditions in server rooms by
creating an “Environmental Monitoring and Control System." The project solves that issue by
developing microcontroller-based system for notifying, monitoring and controlling various
parameters in the server room environment using sensors and SMS so as to maintain optimal
environment in the server room. The goal is to give administrators the tools they need to spot
and tackle issues before they become serious, ensuring the continuous functioning of critical
server infrastructure.

1.3. Objective

1.3.1. Main Objectives

The main objective is to develop an environmental monitoring and control system for server
room.

1.3.2. Specific Objectives

i) Gathering requirements.

ii) Circuit design and hardware components integration.

iii) Developing logic control algorithm

iv) Web app design

v) Testing and Validation

2
1.4. Significance of the Project

The project significantly improves the reliability of server room infrastructure by actively
monitoring and controlling critical environmental factors. This directly contributes to
minimizing downtime, reducing the risk of equipment failures, and ensuring the continuous
operation of essential services. By promptly alerting administrators about deviations in
temperature, humidity or water leaks, the system helps mitigate risks associated with
environmental fluctuations. This approach reduces the potential for data loss, service
interruptions, and damage to critical server hardware.

1.5. Project Scope

The project scope involves creating an Environmental Monitoring and Control System
specifically designed for server rooms. This system will use Arduino microcontrollers,
sensors, and a web application. The project includes various tasks like planning the system
design, choosing and setting up sensors, installing hardware, and integrating Arduino
microcontrollers to collect data. On the software side, tasks include programming the
microcontrollers, creating alerts, and developing a user-friendly web interface for monitoring.

The deliverables include a functional system architecture with calibrated sensors, Arduino-
based data acquisition mechanisms, and a programmed threshold alert system capable of
sending SMS notifications upon breach. Additionally, the project involves the creation of a
user-friendly web application interface enabling remote data visualization, and historical
analysis of environmental conditions.

1.6. Organization of the report

Report will comprise three chapters.

Chapter one: General introduction to the problem and explain the problem statement,
objective, significance and finalize with the scope of the project.

Chapter two: Highlight the literature review which provides an overview of existing
approaches, methodologies, and findings, and identify gaps that this project seeks to address.

Chapter three: Exploring the methodologies that will be used to implement the system.

3
CHAPTER TWO

LITERATURE REVIEW

1.7. Introduction

A server room is a controlled environment designed to house servers and other networking
equipment. Its primary purpose is to provide a secure and optimized space for the reliable
operation of information technology (IT) infrastructure.

A critical environment like server room needs to be monitored and controlled in order to
ensure smooth operation of networking equipment. Thus, there are several systems designed
to monitor and control server room environment. Parameters that can be monitored and
controlled in a server room include temperature, humidity, air flow, water leakage, smoke and
fire detection, lighting.

The evolution of Environmental Monitoring and Control Systems has been crucial in
maintaining optimal functionality in various environments, especially in critical spaces like
server rooms. This literature review section aims to look into existing systems that share
similarities with the proposed Environmental Monitoring and Control System developed in
this project.

1.8. Environmux-16 D

This is the Server Environmental Monitoring System which monitors environmental


conditions such as temperature, humidity, water leakage, power, intrusion and smoke. When a
sensor goes out of range, the system will notify the user via email, LEDs, alarm beacon, siren,
web page, network management (SNMP), voice phone call and SMS messages. The system
includes three internal sensors. Which is temperature, humidity and power. It also supports
other external configurable sensors. (Network Technologies Incorporated 2016).

1.9. AVTECH room alert series

Is the device which includes environmental monitoring devices capable of monitoring and
alerting users about changes in temperature, humidity, power, and other environmental
factors. These devices typically connect to a network and can be accessed and controlled
through a web interface. It offers built-in sensors like temperature, humidity and it also allow
external sensors to be added. (AVTECH.com, 2021)

4
1.10. Server room environment management using Fuzzy Logic Microcontroller.

This system control temperature and humidity in a server room by using a fuzzy logic-based
microcontroller. In this research, the optimized system is able to control the temperature from
26.2C to 22.1C in 23 minutes and able to control the humidity from 67.6% to 55.3% in 6
minutes. The system is also able to keep the server room temperature in the range of normal
values required with the highest temperature is 23C, the lowest temperature 21C and the
average temperature is 21.7905C. While on the humidity test, system is enough to control the
server room humidity in the range of normal values required. (F H Purwanto et al, 2018 J.)

1.11. Environmental Monitoring and Control System For a server a room using
Arduino Uno Microcontroller.

Txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

1.12. Project Gap

The Environmental Monitoring and Control System for a server room using Arduino
microcontroller is cost effective yet it offers high performance solution. By utilizing cost-
efficient components and employing an Arduino based set up our system will efficiently
manage temperature, humidity and water leaks in the server room. By integrating alert
mechanisms, along with a user-friendly interface for remote monitoring, control and historical
analysis, this proposed system fills the gap by offering a solution specifically designed for the
unique requirements of server room environments. The emphasis on real-time data
visualization, responsiveness to critical environmental changes, and alerting capabilities
signifies the potential of this system to ensure optimal functionality, safeguard equipment, and
mitigate risks associated with temperature and humidity fluctuations in server room settings.

5
CHAPTER THREE

METHODOLOGY

3.1 Introduction

The methodology section involves the systematic approach undertaken to design, develop and
implement the Environmental Monitoring and Control System designed for server rooms.
This section covers the detailed steps, tools and strategies that will be employed to achieve the
project objectives.

3.1.1 Agile Methodology

In the development of our environmental monitoring and control system for the server room,
our chosen methodology is Agile. Agile methodology has been selected due to its flexibility,
iterative approach, and adaptability to changing project requirements. By adopting Agile, we
aim to break down the project into manageable increments, known as sprints, allowing us to
continuously deliver functional features within short development cycles. Moreover, Agile's
iterative nature enables us to gather early feedback, incorporate changes swiftly, and prioritize
critical functionalities. These advantages not only facilitate quicker response to evolving
needs but also enhance overall project transparency, team productivity, and the ability to
deliver a high-quality environmental monitoring and control system for a server room.

3.2 Project Division

In order to efficiently manage the workload, we have divided the scope of the project among
three members. The suggested breakdown of responsibilities is as follows:

i. Hardware and Sensor Integration.


ii. Control logic and Alerting System Implementation
iii. Web App Development and Data Visualization

3.2.1 Team Member 1: Hardware and Sensor Integration

In this module we shall focus on incorporating various sensors into hardware system to gather
data and enable system to respond to its environments The process includes of several
activities to achieve the goal of integration and the some of the activities are as given below.

6
Requirements Gathering Analysis

In this phase we identified the crucial environmental parameters affecting server room. The
parameters identified were temperature, humidity and other factors like water leaks. For
proper operation of sever room devices the following were the recommended ranges.

i. Temperature: The ideal temperature range for a server room should be between 18
to 23 degrees Celsius. It is crucial to maintain a consistent temperature to prevent
overheating of equipment.
ii. Humidity: The recommended humidity level in a server room is usually between
40% to 60%. High humidity can cause condensation and corrosion, while low
humidity can lead to static electricity and potential damage to hardware.
iii. Water Leak Prevention: Water can completely ruin servers and other equipment.
This damage is often severe and irreversible, leading too data loss, malfunction
and significant financial losses for a company or organization. Therefore, having a
water leak detection system in the server room is important.

Sensor and other Components Selection for Prototyping

In order to capture relevant environmental data in a server room we need sensors that are
capable and accurate. Given that the project prototype will not be installed in an actual server
room, the selection and setup of sensors will be simulated to demonstrate functionality and
data acquisition capabilities. In this project we will use the following sensors with the
Arduino microcontroller.

i. DS18B20 digital temperature sensor: This will be measuring temperature in


the server room environment; we have chosen this as it is known for its
accuracy and ease of use.
ii. DHT22 sensor: This will be used in this project for measuring humidity levels
as well as temperature in the server room. The sensor used because the
accuracy is adequate for temperatures between -40 ℃ to 80 ℃ with an
accuracy of approximately 2 ℃. For air humidity range that can be measured
is ranged from 0% to 100% with an accuracy of 4% [9]. DHT22 has better
accuracy than DHT 11 with a relative temperature measurement of 4% and air
humidity of 18% [10].

7
iii. Water leak detector: This sensor will be used to detect any water leaks or
excessive moisture that can lead to equipment damages, electrical failure or
any other issue which can affect the operation of equipment in the server room.
iv. Arduino Uno Microcontroller: Here we chosen Arduino Uno because is a
popular and efficient microcontroller widely used in prototyping and
development of several electronics projects. It based on the ATmega328P
microcontroller with an 8bit AVR architecture, flash memory, EEPROM, and
SRAM. The ATmega328P on the Arduino Uno operates at clock speed of 16
MHz which provide sufficient processing power for wide range of
applications.
Also, Arduino Uno featured with 14 digital input/output pins which are used to
interface the microcontroller with other peripheral components. Not only that
but also it made up of USB interface for serial communication between
Arduino Uno and computer.

v. LCD Display: This display is used to provide user interface for visual
feedback, display information, or interact with users. It is commonly used
because of its simplicity in integration with Arduino platform, low power
consumption, and sustainability for simple text-based displays. In our project
we are going to use a 16 X 2 LCD which can display 16 characters in each of
the two lines. To connect it to the Arduino Uno wires are used to link LCD
pins to the corresponding pins on the Arduino.
vi. GSM Module: This is the hardware component which is used to enable
communication between the system and the mobile network by allowing
devices to send and receive data including text message (SMS), voice calls and
in some cases mobile internet connectivity but in project will be used for text
message communications.

The block diagram for these major hardware components which are used in
development of Environmental Monitoring and Control System is given below.

8
Integration Testing

Here, we will have to test and verify that all components work together as intended when
combined to form a complete system and, in this context, we focused on the following
aspects.

i. Test Environment Setup


Here we establish mechanism to check and ensure that all necessary hardware
components including Arduino Uno, GSM Module and LCD Display are properly
connected and powered.
ii. Integration Test Plan.
Now we develop a plan which outlines the specific scenarios and functionalities to be
tested and ensures interactions between all the components in the system.
iii. Communication Verification.
Test the communication interfaces between the Arduino Uno and the GSM module.
Ensure that UART communication is functioning correctly, and the Arduino Uno can
send AT commands to the GSM module and receive responses.
iv. LCD Display Functionality.

9
Here we verify interaction between Arduino Uno and the LCD Display to test the
ability display relevant information based on the data received from the GSM module.

Power Management

This is a crucial aspect to consider so as to ensure efficient and reliable operations of the
components by considering power requirements of the components as well as their
consumption.

Arduino Uno typically operate within voltage range of 7 -12 V which normally powered
though external power source such as battery and its power consumptions is influenced by
factors like connected peripherals, complexity of the running programs, but under normal
operations it consumes around 50-100mA.

In most cases the LCD display used consume small amount of power of about 1-2mA when
actively displaying information and for the case of the GSM module, it requires higher current
during transmission and reception of the data, therefore the power supply should be able to
provide sufficient current to meet the requirements. Therefore, in order to have efficient and
conservative power management we should implement low-power modes on both Arduino
Uno and GSM Module such as pitting components in sleep mode when are not actively
processing and transmitting data.

Communication Interface

In this system communication interface used to facilitating exchange of data between different
components in the system and the following are the some of the interfaces which are used in
our system for communications.

i. UART (Universal Asynchronous Receiver-Transmitter)


This is the serial communication protocol which used by both Arduino Uno and GSM
module to communicate to each other. The Arduino Uno has UART pins (TX and RX)
that enable to send and receive serial data. And establish communication with the
GSM Module.
ii. USB Interface
This is used for serial communication between the Arduino Uno and computer for
programming debugging and monitoring the system.
iii. I2C (Inter-Integrated Circuit) or SPI (Serial Peripheral Interface

10
Some LCD displays come with an I2C or SPI backpack, which reduces the number of
pins required for communication. If the LCD display communicates using I2C or SPI,
the Arduino Uno can interface with it using the corresponding pins (A4 and A5 for
I2C on the Arduino Uno, or dedicated SPI pins).
iv. SIM Card Interface
v. GSM Module interfaces with SIM card using its dedicated interface which enable
GSM module to communicate with SIM card to authenticate the device in the mobile
network.

3.2.2 Team member 2: Control Logic and Alerting System Implementation

dddddddddddd

Threshold Definition

Algorithm Design

Following the threshold definition, the next phase focuses on designing algorithms capable of
interpreting sensor data effectively. The threshold-based algorithm will be used. We will
define threshold value for parameters and compare the sensor readings against these
predefined values: if the reading exceeds the threshold the alerting mechanism will be
triggered. The algorithm is designed to comprehend sensor readings and respond decisively to
deviations from the established thresholds. Ensuring sensitivity and accuracy in the control
logic is paramount, allowing the system to maintain a proactive stance towards environmental
monitoring and management within the server room.

Microcontroller Programming

Utilizing the Arduino platform, the subsequent step involves the actual implementation of the
meticulously designed control logic. This phase entails integrating the control algorithms with
sensor readings to enable real-time monitoring and response mechanisms. Functionality is
programmed to activate appropriate actions upon detecting deviations, such as engaging
cooling systems or initiating alerts to mitigate potential risks.

Alerting System Integration

11
Collaboration with hardware and communication module experts is integral to seamlessly
integrating the alerting system with the established control logic. The developed code is
robust, ensuring timely SMS or email alerts are triggered upon breaching predefined
thresholds. This feature is instrumental in promptly notifying the administrator of critical
environmental changes, enabling swift and effective responses.

Testing and Validation

Thorough testing procedures validate the effectiveness and reliability of the implemented
control logic and alerting system. This phase involves iterative refinement of the codebase
based on testing feedback. The emphasis is on enhancing accuracy, responsiveness, and
system stability to ensure optimal functionality under varying conditions.

Documentation and Collaboration

Comprehensive documentation is generated, outlining the intricacies of the established


thresholds and their significance within the decision-making process of the control logic.
Active collaboration is maintained with the web app development team to ensure a seamless
integration between the control system and the remote monitoring interface.

3.2.3 Team member 3: Web development and Data Visualization

Web development is the process of creating and maintaining websites or web applications. It
involves a combination of front-end development, back-end development and database
management to ensure the functionality, interactivity, and responsive of a website. Data
visualization is the graphical representation of data to communicate complex information
effectively. Web development facilitates user interaction with the environmental monitoring
system. Here’s is a methodology for web development and data visualization in an
environmental monitoring and control system for a server room.

User Interface Design

User interface design involves user research, wireframing and prototyping, and UI design. In
this part unique needs of users in the context of a server room environment should be
considered by understand the challenges and priorities related to monitoring and controlling
temperature, humidity, power consumption.

i. User Research: here we should understand the needs of end-users in the server room
context through interviews and surveys.

12
ii. Wireframing and Prototyping: To create wireframes and interactive prototypes to
outline the layout and functionality of the monitoring interface.
iii. UI Design: To design a visually appealing and responsive interface that integrates
real-time data visualizations.

Front-End Development

This is the process of creating and implementing the user interface (UI) and user experience
(UX) of a website or web application. Front-end development for environmental monitoring
and control system for server room is instrumental in creating the visual interface that enables
users to monitor, analyze, and manage the server room environment. The system user
interface will be designed and implemented ensuring that it is intuitive, responsive and
capable of presenting real-time data visualizations. The system will involves crafting layouts,
styling elements and integrating interactive components that allow users to seamlessly interact
with the environmental metrics that is provided by our system. Through the use of React
framework, front-end development contributes to the user experience, making the system
accessible and efficient for users to navigate and control the server room conditions.

Back-End Development

Back-end development involves building the server-side of a web application or software,


focusing on functionalities that occur behind the scenes and are not directly visible to users.
The back-end that will be developed arranges the processing and storage of environmental
data collected from sensors, designing databases to efficiently store and retrieve
environmental data for temperature, humidity. API will be created enabling seamless
communication with the front-end, ensuring real-time updates and user interactions, this is
done by identifying the endpoints that is temperature and humidity corresponding to
functionalities of the environmental monitoring system. For our project we will use Node.js
back-end framework because is capable of handling real-time data processing and
communication with the front-end. With the focus on scalability and performance
optimization, back-end development will establish the robust infrastructure essential for
effective monitoring, control, and security of the server room environment.

13
Real-Time Data Streaming

Real-time data streaming involves the continuous and instantaneous transmission of data from
a source to a recipient, providing near instant updates as the information becomes available.
Real-Time Data streaming is essential in our project for promptly delivery insights into
dynamic conditions for temperature and humidity. By implementing server-sent events
technology the system transmits live sensor data seamlessly to the user interface. This
facilitates immediate awareness and enable quick response to the fluctuations in the server
room environment, ensuring optimal condition and allowing the users to efficiently control
and monitor the system in real time. Real-time data streaming enhances the system’s
responsiveness, making it a crucial component for maintaining the stability and security of
server room operations.

User Authentication and Authorization

User authentication and authorization are integral components of a system's security, ensuring
that only authorized individuals can access and interact with the system. user authentication
involves verifying the identity of users who attempt to access the system. This is will typically
achieved through the use of usernames and passwords. Authentication of our system will be
essential to prevent unauthorized access and to ensure that only legitimate users can interact
with the monitoring and control functionalities.

user authorization pertains to the permissions granted to authenticated users. It defines what
actions users are allowed to perform within the system. authorization in our system will be to
ensure that users can only monitor or control specific aspects of the environment for which
they have been granted permission.

These security measures will be crucial in preventing unauthorized access, maintaining the
integrity of the system, and safeguarding sensitive data related to the server room
environment.

Remote Control Functionality

Remote control functionality refers to the capability of managing and manipulating a system
or device from a location that is not physically adjacent to the system itself. Remote control
functionality in our system will allow users to monitor and adjust conditions within the server

14
room environment from a distance. This will involve the ability to remotely toggle and
regulate temperature and humidity.

Remote control functionality enhances the efficiency of managing the server room, providing
users with the flexibility to address issues promptly without being physically present. This
capability will be particularly valuable for ensuring continuous operation and preventing
potential risks to server room.

User-friendly controls will be integrated within the interface for remote management of
environmental systems. visual feedback will be provided on the success or failure of remote-
control actions.

Data Visualization

Data visualization involves the representation of information or data in a graphical or visual


format. By using data visualization techniques in our system, users can quickly interpret and
analyze the server room conditions, identify trends, anomalies, or potential issues, and make
informed decisions. This enhances the user's ability to monitor and control the server room
environment effectively, optimizing conditions for equipment performance and ensuring a
proactive response to any changes or emergencies.

The web system will contain customizable dashboards allowing users to arrange and
configure visualizations based on their preferences. Implementation of charts that dynamically
update to reflect real-time changes in environmental data.

Testing and Debugging

Testing and debugging are essential processes in software development, ensuring the
functionality, reliability, and performance of a system. These processes will be crucial for
maintaining the accuracy and effectiveness of the system's operations.

Testing involves systematically assessing different aspects of the system, from individual
components to the entire integrated solution. For the server room monitoring system, testing
will encompass evaluating the accuracy of data collection from environmental sensors,
verifying the responsiveness of the user interface, and ensuring the proper functioning of
control mechanisms.

Debugging is the process of locating and resolving issues identified during testing. In the
server room monitoring, debugging will involve tracing errors in the code that affect data
15
processing, addressing issues related to real-time data streaming, or resolving any
malfunctions in the control mechanisms. Debugging will be crucial for maintaining the
system's reliability, correcting unexpected behaviors, and enhancing the overall performance
of the environmental monitoring and control system.

The components, features of the web system for environmental monitoring and control system
for server room should be tested continuously to ensure they function as intended. Seamless
interaction between front-end and back-end components of the web system for environmental
monitoring and control system for server room should be verified. End-users will be engaged
in testing to validate the system against their expectations.

Documentation

In environmental monitoring and control system for a server room, documentation plays a
critical role in ensuring the effective development, deployment, and maintenance of the
system:

i. System Architecture: Documentation of the architecture of the monitoring system,


including the relationships between components, the flow of data, and the integration
of sensors and control mechanisms, provides a clear understanding of the system's
structure.
ii. Installation and Configuration: Step-by-step documentation on how to install,
configure, and deploy the environmental monitoring system will aid administrators in
setting up the system correctly. This documentation includes details about
dependencies, environmental requirements, and configuration parameters.
iii. Usage Guidelines: User manuals and guides will help end-users understand how to
interact with the system's user interface, interpret data visualizations, and utilize
control functionalities effectively. This enhances user adoption and ensures that the
system is used optimally.
iv. API Documentation: Since our system includes API for data access or control,
thorough documentation is necessary to guide developers on how to interact with the
API, including the available endpoints, request and response formats, authentication
mechanisms, and usage examples.

16
v. Code Documentation: Providing comments and documentation within the codebase
will help developers understand the logic, functions, and modules of the system. This
promotes code maintainability and facilitates collaboration among development teams.
vi. Troubleshooting and Support: Documentation on common issues, error messages, and
troubleshooting steps will help support teams address problems efficiently. It serves as
a knowledge base for diagnosing and resolving issues that may arise in the
environmental monitoring system.
vii. Updates and Changes: Documentation will be regularly updated to reflect changes in
the system, including new features, enhancements, and bug fixes. This ensures that all
stakeholders have access to accurate and up-to-date information.

REFERENCES

17

You might also like