Automated Sprinkler Management System: 1. Goals

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Automated Sprinkler Management System

1. Goals
a. The purpose of this project is to create a Frontend Sprinkler management
System(Panel) and a backend to support the control of the system as well
as read the data from the system.

2. Components
a. The management system consists of
i. sensors
ii. ESP32 chipsets for control of the sprinkler
iii. Sprinkler(s)
iv. Frontend management panel

3. Setup
a. The setup consists of one sensor being connected to one ESP32 chipsets
which inturn is connected to wifi and is controlled via WiFi from remote
devices as well as devices operated on the same WiFi locally(without an
active internet connection).
b. The sensors detect the temperature and in response turn on/off sprinklers
automatically.
c. The sensors transmit data to the ESP32 chipset which inturn is sent to us
via WiFi.

4. Scope of work
a. The hardware setup of the sensors and the chipsets have already reached
completion. This document entails a scope of work on the backend
framework/infrastructure.
b. The scope of work includes
i. Successfully achieving an active duplex communication using
MQTT protocol or any other preferable one, which would ensure
the data transfer/transaction under 1 second. A successful
transaction would include data transfer from sensors as well as the
remote operation of devices.
ii. We would need to receive data from the respective sensors using
the ESP 32 chipsets and provide a brief analytics of the system
including but not limited to average room temperature, last actions
performed, last usage, state.
iii. The system is divided in two parts including an admin panel and a
supervisor panel, where the admin panel would consist of analytics,
data and perform actions over all the devices spread across various
organisations. Whereas the supervisor panel would be limited to
devices, actions, data and analytics from one organisation.
iv. The admin panel should be able to create/disable logins for
supervisors.
v. The supervisor panel should be able to look at an overview of
actions committed by any user and any noteworthy action like
turning on/off a sprinkler under the notifications section.
vi. The admin should be able to create rooms and assign sprinklers
inside the room
vii. The aggregate data from the sensors in a room should be used to
calculate data like the average temperature and so on.
viii. The management system(customer panel) should be capable of
turning on/off the device locally via the WiFi when there is no
stable/active internet connection available on the same WiFi.
ix. We should be able to log scenarios like switching on of a sprinkler,
Error/failure of devices, malfunction, disconnection.
x. All actions sent to devices via WiFi from devices not on the same
network should be executed and in times when WiFi is not available
to the IOT devices, the actions should be stored and executed back
when the connection is back.

5. Deliverables
a. Customer Panel(Desktop App or Web App)
b. Admin Panel
c. Backend
6. Features
a. Customer Panel
i. Statistics
1. Line graph, table data, live operation status
window,Incremental Pie chart temperature & temperature vs
time. IO Switch for sprinkler operation,text block for
displaying 30 minutes system check for system status.
2. The average temperature of a room will be shown as a high
level reference, but if a user goes inside a room he can see
the detailed logs of temperature readings sent to the
backend.
3. Some images have been attached for a loose reference.
4.
5.

ii. User Hierarchy/Login


1. At this point only admin can create users and one
organization can have 5 login IDs, out of which 1 will be for
us as admin to check plant details.
2. Admin can create a user by name, email and contact
number at which point the user will be notified by
Email/SMS.
3. The user will be also sent a unique access code along with
the welcome message on creation. This access code will be
unique and needs to be used while turning on a sprinkler
which will help us in tracing actions as to which user
performed that.

iii. Event Logging


1. Any login credentials used for operation of sprinklers should
be stored in historical data and in live data window and at
the same time the alert msg will be notified to all 5 users and
admin by either SMS or Email notifying the name of USER
ID who executed the operation of respective sprinkler
(Please prefer the best and cheap method from your end).
2. In cases where the device does not communicate with the
backend after a while(send stats data), we should log that
something is wrong with that device.
3. Automatic sprinkler operation should also be recorded.
iv. Sprinkler Operation
1. Using AWS IOT Gateway we need to connect our ESP8266
to the internet. We will use the MQTT protocol to operate the
ESP8266 to turn on and off which will in turn operate our
sprinklers when there is an active internet connection.

2. When there is no active internet connection, we must be


able to control the sprinklers offline through the router using
it as an APN for the ESP 8266 connected to it via a local
laptop/computer connected to the same WiFi.(If you have
any better suggestions for this operation please let me
know).

3. Edge Cases
a. When the sprinklers are operated through an active
internet connection we will communicate to the
devices using AWS IOT Core via MQTT protocol
where we subscribe on both ends for topics(Sprinkler
subscribes to operation topic and backend will
subscribe to stats, operation topic(if it has been
turned on automatically)).
b. When sprinklers are operated by someone not at the
venue using the web app/app and there is no internet
connection for that device/devices, the actions should
be stored somewhere on the backend and executed
as soon as there is an active connection.
c. When there is no internet but sprinklers are
connected to wifi, they should be operable by a
device on the same WiFi using the router as an APN
d. When there is no internet or wifi connection the
devices will function on their own using the hardware
code we have placed.
v. Calculations
1. The average of the temperatures sent by sprinklers inside
one room should be calculated and updated via sockets to
keep it a live connection.

2. All sensor data will be collected for every last minute value
and will be compared with the current value if the
temperature change is greater than 7 Degree/minute for
consecutive 1 minute than the corresponding dependent
sprinkler output module will operate.
(Example: RoR operation for Particular sensor
Cut Off Temperature - 57 deg C
Sensor1 00:00 (hh:mm) - 40 deg C
Sensor1 00:01 (hh:mm) - 47 deg C
RoR (Rate of Rise Method) - 7 deg C/ Minute
rise
Sprinkler Module 1 - ON

3. Also, if
(Example: RoR corresponding Sensor
Consider Sensor1 operated ON at temperature
57 deg C (ie. Cut Off Temperature)

Sensor1 at 00:00 - 57 deg C


Sprinkler Module 1 - ON

Sensor2 at 00:00 - 40 deg C


Sensor2 at 00:01 - 47 deg C
Sprinkler Module 2 - ON

Sensor3 at 00:00 - 40 deg C


Sensor3 at 00:01 - 44 deg C
Sprinkler Module 3 - OFF

Sensor4 at 00:00 - 40 deg C


Sensor4 at 00:01 - 47 deg C
Sprinkler Module 4 - ON

This occurred due to Temperature rise in


corresponding sensors as fire was in that
direction of sensor.
Sensor 3 did not operate as the fire was
towards Sensor4 and Sensor2 but not Sensor3

4. Fixed Temperature operation at 57 deg C


As soon as any of the Sensor reaches this
temperature the Sprinkler should be operated.
In any of the above cases whenever there are
more than 9 sprinklers in a room and any
sprinkler is operated due to fire, other
corresponding top, bottom, sides sprinklers will
be operated in a particular room. ( Algorithm
for operation will be,
Take “x” as operated sprinkler where fire has
occurred
“c” as number of columns of sprinkler heads

Sprinkler Arrangement of floor example:

1----------2----------3----------4----------5----------6

7----------8----------9----------10--------11---------12
(fire)
13--------14--------15---------16--------17---------18

19--------20--------21---------22--------23---------24

Fire has occurred near sprinkler 10 and 16. As


soon as any of the both sprinkler sensor
senses fire, their corresponding sensors for
operation case of sensor 10 ( Sensor 4 (Top),
Sensor 16 (Bottom), Sensor 9(Side), Sensor
11(Side)) will operate.

Algorithm:
Fire caused temperature increased operation
sensor 10
X = 10
C=6
(x - 1) = ON ie. Sprinkler 9
(x + 1) = ON ie. Sprinkler 11
(x - c) = ON ie. Sprinkler 4
(x - c) = ON ie. Sprinkler 16

This can be applied to any sensor which has


been operated based on the increase in
temperature feedback but this should not give
rise to cascading ON of all surrounding
sprinklers. Thus, temperature dependent
sensor operation will cause operation
correspondingly situated top, bottom and sides
sensors, but not dependent on current ON
state of sensor.

And also show in the Live status window of the


dashboard that system decided to activate
Sensor 4, 9, 11, 16 for sprinkler operation. This
will create historical data that this step was
taken by the system.

5. Temperature of nearby surrounding sensors to the sensor


which gets operated due to rise in temperature will also get
operated if there is a rise of 7 deg C in 1 minute.
vi. Performance Constraints
1. The turnaround time for sprinkler operation on software end
should be 10-20ms, in order to achieve the completion of
hardware + software sprinkler operation in under a minute.
vii. Hardware Software integration
1. After getting the IDs from creating a device inside a room we
get ID for each sprinkler, using that we will code hardware to
receive data and check connections while installing them on
site.(Explained later)
b. Admin Panel
i. Statistics
1. All event logging events, alerts, organisations/customer
sites created, their overall status(sprinkler on/off and
temp) should be shown.
ii. Room Creation
1. CRUD organisations/customer sites.
2. CRUD users for the organisations/customer sites(with
SMS or Email alerts).
3. CRUD rooms inside the same site.
4. CRUD Sprinklers inside the same room. Imagine the
room as a nXn array, we will provide an image which
needs to be used as background of the div showing
room. The room will be treated as an array and each
column will have rows with/without sprinklers and thus
should be shown like that. Check image as reference

5.
iii. Access Logging
1. The admin can create other users as described but we
will need 4-5 admin logins as well which will have all the
alerts and features described.
iv. Event Logging
1. New user/room creation events should be logged here.
2. Alerts regarding a fire, malfunction, device not working,
device out of connection, manual operation of sprinkler
from customer panel/app, should be sent to all admins
via mail and logged as well on admin panel.

You might also like