Disaster Management
Disaster Management
Floods are among the most devastating natural disasters that cause massive damage to
life and property. Early detection and timely alerts are crucial in disaster management.
This project proposes an IoT-based flood/bridge-level monitoring system using ESP32, a
waterproof ultrasonic sensor, and a Blynk IoT platform. The ultrasonic sensor
continuously monitors the water level under a bridge. The ESP32 processes the data and
displays it on an LCD screen. If the water level crosses a predefined threshold, the system
triggers a real-time alert via Blynk notifications to local authorities or users. This low-
cost, real-time monitoring system helps in proactive disaster management and timely
evacuation.
CHAPTER 1
INTRODUCTION TO EMBEDDED SYSTEM
Consumer appliances:
At home we use a number of embedded systems which include digital camera, digital
diary, DVD player, electronic toys, microwave oven, remote controls for TV and air-
conditioner, VCO player, video game consoles, video recorders etc. Today’s high-tech
car has about 20 embedded systems for transmission control, engine spark control, air-
conditioning, navigation etc. Even wristwatches are now becoming embedded systems.
The palmtops are powerful embedded systems using which we can carry out many
general-purpose tasks such as playing games and word processing.
Office Automation:
The office automation products using embedded systems are copying machine, fax
machine, key telephone, modem, printer, scanner etc.
Industrial Automation:
Today a lot of industries use embedded systems for process control. These include
pharmaceutical, cement, sugar, oil exploration, nuclear energy, electricity generation and
transmission. The embedded systems for industrial use are designed to carry out specific
tasks such as monitoring the temperature, pressure, humidity, voltage, current etc., and
then take appropriate action based on the monitored levels to control other devices or to
send information to a centralized monitoring station. In hazardous industrial environment,
where human presence has to be avoided, robots are used, which are programmed to do
specific jobs. The robots are now becoming very powerful and carry out many interesting
and complicated tasks such as hardware assembly.
Medical Electronics:
Computer Networking:
Telecommunications:
Wireless Technologies:
Advances in mobile communications are paving way for many interesting applications
using embedded systems. The mobile phone is one of the marvels of the last decade of
the 20’h century. It is a very powerful embedded system that provides voice
communication while we are on the move. The Personal Digital Assistants and the
palmtops can now be used to access multimedia service over the Internet. Mobile
communication infrastructure such as base station controllers, mobile switching centers
are also powerful embedded systems.
Insemination:
Testing and measurement are the fundamental requirements in all scientific and
engineering activities. The measuring equipment we use in laboratories to measure
parameters such as weight, temperature, pressure, humidity, voltage, current etc. are all
embedded systems. Test equipment such as oscilloscope, spectrum analyzer, logic
analyzer, protocol analyzer, radio communication test set etc. are embedded systems built
around powerful processors. Thank to miniaturization, the test and measuring equipment
are now becoming portable facilitating easy testing and measurement in the field by field-
personnel.
Security:
Security of persons and information has always been a major issue. We need to protect
our homes and offices; and also the information we transmit and store. Developing
embedded systems for security applications is one of the most lucrative businesses
nowadays. Security devices at homes, offices, airports etc. for authentication and
verification are embedded systems. Encryption devices are nearly 99 per cent of the
processors that are manufactured end up in~ embedded systems. Embedded systems find
applications in every industrial segment- consumer electronics, transportation, avionics,
biomedical engineering, manufacturing, process control and industrial automation, data
communication, telecommunication, defense, security etc. Used to encrypt the data/voice
being transmitted on communication links such as telephone lines. Biometric systems
using fingerprint and face recognition are now being extensively used for user
authentication in banking applications as well as for access control in high security
buildings.
Finance:
Financial dealing through cash and cheques are now slowly paving way for transactions
using smart cards and ATM (Automatic Teller Machine, also expanded as Any Time
Money) machines. Smart card, of the size of a credit card, has a small micro-controller
and memory; and it interacts with the smart card reader! ATM machine and acts as an
electronic wallet. Smart card technology has the capability of ushering in a cashless
society. Well, the list goes on. It is no exaggeration to say that eyes wherever you go, you
can see, or at least feel, the work of an embedded system.
The Central Processing Unit (processor, in short) can be any of the following:
microcontroller, microprocessor or Digital Signal Processor (DSP). A micro-controller is
a low-cost processor. Its main attraction is that on the chip itself, there will be many other
components such as memory, serial communication interface, analog-to digital converter
etc. So, for small applications, a micro-controller is the best choice as the number of
external components required will be very less. On the other hand, microprocessors are
more powerful, but you need to use many external components with them. D5P is used
mainly for applications in which signal processing is involved such as audio and video
processing.
Memory:
The memory is categorized as Random Access 11emory (RAM) and Read Only Memory
(ROM). The contents of the RAM will be erased if power is switched off to the chip,
whereas ROM retains the contents even if the power is switched off. So, the firmware is
stored in the ROM. When power is switched on, the processor reads the ROM; the
program is program is executed.
Input Devices:
Unlike the desktops, the input devices to an embedded system have very limited
capability. There will be no keyboard or a mouse, and hence interacting with the
embedded system is no easy task. Many embedded systems will have a small keypad-you
press one key to give a specific command. A keypad may be used to input only the digits.
Many embedded systems used in process control do not have any input device for user
interaction; they take inputs from sensors or transducers 1’fnd produce electrical signals
that are in turn fed to other systems.
Output Devices:
The output devices of the embedded systems also have very limited capability. Some
embedded systems will have a few Light Emitting Diodes (LEDs) to indicate the health
status of the system modules, or for visual indication of alarms. A small Liquid Crystal
Display (LCD) may also be used to display some important parameters.
Communication Interfaces:
The embedded systems may need to, interact with other embedded systems at they may
have to transmit data to a desktop. To facilitate this, the embedded systems are provided
with one or a few communication interfaces such as RS232, RS422, RS485, Universal
Serial Bus (USB), IEEE 1394, Ethernet etc.
Application-Specific Circuitry:
Sensors, transducers, special processing and control circuitry may be required fat an
embedded system, depending on its application. This circuitry interacts with the
processor to carry out the necessary work. The entire hardware has to be given power
supply either through the 230 volts main supply or through a battery. The hardware has to
design in such a way that the power consumption is minimized.
1.4 Microprocessor
1.5 Microcontroller
A microcontroller is a compact, integrated circuit that amalgamates a central processing
unit (CPU), memory (RAM and ROM/Flash), input/output peripherals, and various
essential components like timers, counters, and often communication interfaces, all on a
single chip. This highly integrated design aims to provide a versatile and self-contained
computing platform tailored for embedded systems. Unlike general-purpose
microprocessors, microcontrollers are purpose-built for specific applications, facilitating
the control and operation of devices and systems in diverse domains such as automation,
robotics, consumer electronics, and more.
The CPU within a microcontroller executes program instructions stored in its memory,
manipulating data and interacting with peripherals to perform predefined tasks. The
memory is utilized for both storing the program code and temporarily holding data during
runtime. Input/output peripherals enable communication with the external environment,
including sensors, actuators, displays, and communication modules.Moreover,
microcontrollers often incorporate specialized features such as analog-to-digital
converters (ADCs) for interfacing with analog sensors, pulse-width modulation (PWM)
for precise control of outputs like motors or LEDs, and interrupt controllers to handle
external events efficiently. Real-time clock modules and watchdog timers enhance the
time-aware and fault-tolerant aspects of embedded systems.
1.6 CONCLUSION
Arduino is a great platform for beginners into the World of Microcontrollers and
Embedded Systems. With a lot of cheap sensors and modules, you can make several
projects either as a hobby or even commercial. As technology advanced, new project
ideas and implementations came into play and one particular concept is the Internet of
Things or IoT. It is a connected platform, where several “things” or devices are connected
over internet for exchange of information. In DIY community, the IOT projects are
mainly focused on Home Automation and Smart Home applications but commercial and
industrial IoT projects have far complex implementations like Machine Learning,
Artificial Intelligence, Wireless Sensor Networks etc.
The important thing in this brief intro is whether it is a small DIY project by a hobbyist or
a complex industrial project, any IoT project must have connectivity to Internet. This is
where the likes of ESP8266 and ESP32 come into picture. If you want to add Wi-Fi
connectivity to your projects, then ESP8266 is a great option. But if you want build a
complete system with Wi-Fi connectivity, Bluetooth connectivity, high resolution ADCs,
DAC, Serial Connectivity and many other features, then ESP32 is the ultimate choice.
What is ESP32?
ESP32 is a low-cost System on Chip (SoC) Microcontroller from Espressif Systems, the
developers of the famous ESP8266 SoC. It is a successor to ESP8266 SoC and comes in
both single-core and dual-core variations of the Tensilica’s 32-bit Xtensa LX6
Microprocessor with integrated Wi-Fi and Bluetooth. The good thing about ESP32, like
ESP8266 is its integrated RF components like Power Amplifier, Low-Noise Receive
Amplifier, Antenna Switch, Filters and RF Balun. This makes designing hardware around
ESP32 very easy as you require very few external components.
Another important thing to know about ESP32 is that it is manufactured using TSMC’s
ultra-low-power 40 nm technology. So, designing battery operated applications like
wearables, audio equipment, baby monitors, smart watches, etc., using ESP32 should be
very easy.
Specifications of ESP32
ESP32 has a lot more features than ESP8266 and it is difficult to include all the
specifications in this Getting Started with ESP32 guide. So, I made a list of some of the
important specifications of ESP32 here. But for complete set of specifications, I strongly
suggest you to refer to the Datasheet.
Espressif Systems released several modules based on ESP32 and one of the popular
options is the ESP-WROOM-32 Module. It consists of ESP32 SoC, a 40 MHz crystal
oscillator, 4 MB Flash IC and some passive components. The good thing about ESP-
WROOM-32 Module is the PCB has edge castellations. So, what third-part
manufacturers do is take the ESP-WROOM-32 Module and design a break-out board for
this module. One such board is the ESP32 DevKit Board. It contains the ESP-WROOM-
32 as the main module and also some additional hardware to easily program ESP32 and
make connections with the GPIO Pins.
The following image shows the layout of an ESP32 Development Board.
The board which I have has 30 Pins (15 pins on each side). There are some board with 36
Pins and some with slightly less Pins. So, double check the pins before making
connections or even powering up the board.
As you can see from the image, the ESP32 Board consists of the following:
ESP-WROOM-32 Module
Two rows of IO Pins (with 15 pins on each side)
CP2012 USB – UART Bridge IC
micro–USB Connector (for power and programming)
AMS1117 3.3V Regulator IC
Enable Button (for Reset)
Boot Button (for flashing)
Power LED (Red)
User LED (Blue – connected to GPIO2)
Some passive components
An interesting point about the USB-to-UART IC is that its DTR and RTS pins are used to
automatically set the ESP32 in to programming mode (whenever required) and also rest
The Arduino environment can be extended through the use of libraries, just like
most programming platforms. Libraries provide extra functionality for use in
sketches, e.g. working with hardware or manipulating data. To use a library
in a sketch, select it from Sketch > Import Library. A number of
libraries come installed with the IDE, but you can also download or create your
own.
SPI - for communicating with devices using the Serial Peripheral Interface
(SPI) Bus.
Wire - Two Wire Interface (TWI/I2C) for sending and receiving data over
a net of devices or sensors.
SoftwareSerial - for serial communication on any digital pins.
TFT - for drawing text , images, and shapes on the Arduino TFT screen.
Audio - allows playing audio files from an SD card. For Arduino DUE only.
I2S - library for using the I2S protocol on SAMD21 (included in SAMD
platform).
1. Digital Input. This may be received in digital LOW or HIGH from other
devices. These will be TTL logic levels or voltages converted to TTL logic levels
before being applied to the GPIO.
2. Digital Output. This may be output that’s digital LOW or HIGH compared to other
devices.
Again, the output will be TTL logic levels.
3. Analog Input. It may “sense” analog voltage from other devices. The sensed
voltage is
converted to a digital value using a built-in, analog-to-digital converter.
4. Analog Output. It may output analog voltage to other devices. This analog
output is not analog voltage but a PWM signal that approximates analog voltage
levels.
5. Serial Communication. It may transmit, receive, or transceive data with other
devices in serial, according to a standard serial data protocol such as UART,
USART, I2C, SPI, microwire, 1-wire, and CAN, etc. The serial communication
with other devices can be peer-to-peer (UART/USART), half- duplex (I2C), or
full-duplex (SPI).
An Arduino program or any microcontroller program must first have code for
initialization. This may include:
Setting up pinModes
Setting up ADC/PWM channels
The program includes code to handle failures when possible. So, any Arduino
program can be visualized as a four-step program as follows:
Initialization
Input
Processing
Output
Arduino C data types
It’s worth noting that “string” and “string objects” are different. The string data
type defines a
simple character array while the string data type defines a string object.
Keywords
For example, in Arduino C, each variable must be explicitly defined with a specified
data type before
it’s used in the code.
If, in a code statement, a variable has been instantiated by a data type but
there’s no value
assigned to it, the variable is said to be defined but not declared.
If it’s also assigned a value in the same statement or another statement, it’s said to
be declared.
The memory location where the value of a variable is stored at runtime is called
its “lvalue” or location value. The value stored in the memory location of the
variable is called its “rvalue” or register value.
A defined variable has a lvalue but no rvalue. A declared variable has a lvalue and
rvalue.
Constants
Constants are references in a program with a value that does not change during the
execution of the program. The integer and floating-point constants can be
declared in Arduino C using const keyword or #define directive.
Operators
1. Arithmetic – addition (+), multiplication (*), subtraction (-), division (/), and
modular division (%)
2. Assignment (=)
3. Comparison – equal to (==), not equal to (!=), less than (<), greater than (>),
less than or equal to (<=), and greater than or equal to (>=)
4. Bitwise – bitwise and (&), bitwise or (|), bitwise xor (^), bitwise not (~),
left bitshift (<<), and right bitshift (>>)
For example:
i = (int) f
8. sizeof – The sizeof operator returns the size of an array in the number of bytes.
9. Ternary (:?)
10. Pointer – dereference operator (*) and reference operator (&)
Operator precedence
if
if …else…
for
switch case
while
do… while…
break
continue
goto
User-defined functions
Functions are callable blocks of statements. Programmers can also write their own
functions. Functions are an ideal way to organize code according to the
functionality of statement blocks in the program.
The type of a function can be any data type including void. The function is
expected to return a value of the same type via a return statement. This
statement should be the last one in a function body (any statements made
after a return statement will fail to execute).
The function exits after the return statement. If the type of a function is
void, it should not return any value. The function name can be any
identifier, and may or may not need arguments. The arguments are
variables that are bound to the function.
int
add_inputs(int a,
int b, int c) {
return a+b+c;
return
Build in functions
3. digitalRead(pin): Reads the value (HIGH or LOW) from the specified digital
pin.
4. analogRead(pin): Reads the analog value from the specified analog pin (0 to
1023).
7. millis(): Returns the number of milliseconds since the Arduino board started
running.
8. Serial.begin(speed): Sets the data rate in bits per second (baud rate) for
serial communication.
To interface sensors with an Arduino board, you will typically follow these steps:
1. Select the appropriate sensor: Identify the sensor you want to interface
with your Arduino. This could be a temperature sensor, humidity sensor,
light sensor, motion sensor, etc.
7. Monitor the sensor output: Open the serial monitor in the Arduino IDE to
view the sensor readings. Depending on the sensor, you may need to
perform some additional calculations or conversions to interpret the raw
data correctly.
IoT stands for Internet of Things. It refers to the interconnectedness of physical devices, such as
appliances and vehicles, that are embedded with software, sensors, and connectivity which
enables these objects to connect and exchange data. This technology allows for the collection and
sharing of data from a vast network of devices, creating opportunities for more efficient and
automated systems.
Internet of Things (IoT) is the networking of physical objects that contain electronics embedded
within their architecture in order to communicate and sense interactions amongst each other or
with respect to the external environment. In the upcoming years, IoT-based technology will offer
advanced levels of services and practically change the way people lead their daily lives.
Advancements in medicine, power, gene therapies, agriculture, smart cities, and smart homes are
just a few of the categorical examples where IoT is strongly established.
IOT is a system of interrelated things, computing devices, mechanical and digital machines,
objects, animals, or people that are provided with unique identifiers. And the ability to transfer
the data over a network requiring human-to-human or human-to-computer interaction.
History of IOT
Here you will get to know about how IOT is involved and also from the explanation of each will
let you know how IOT plays a role in this innovations !
1982 – Vending machine: The first glimpse of IoT emerged as a vending machine at
Carnegie Mellon University was connected to the internet to report its inventory and
status, paving the way for remote monitoring.
1990 – Toaster: Early IoT innovation saw a toaster connected to the internet, allowing
users to control it remotely, foreshadowing the convenience of smart home devices.
1999 – IoT Coined (Kevin Ashton): Kevin Ashton coined the term “Internet of Things”
to describe the interconnected network of devices communicating and sharing data,
laying the foundation for a new era of connectivity.
2000 – LG Smart Fridge: The LG Smart Fridge marked a breakthrough, enabling users to
check and manage refrigerator contents remotely, showcasing the potential of IoT in
daily life.
2004 – Smart Watch: The advent of smartwatches introduced IoT to the wearable tech
realm, offering fitness tracking and notifications on-the-go.
2009 – Car Testing: IoT entered the automotive industry, enhancing vehicles with sensors
for real-time diagnostics, performance monitoring, and remote testing.
2011 – Smart TV: The introduction of Smart TVs brought IoT to the living room,
enabling internet connectivity for streaming, app usage, and interactive content.
2013 – Google Lens: Google Lens showcased IoT’s potential in image recognition,
allowing smartphones to provide information about objects in the physical world.
2014 – Echo: Amazon’s Echo, equipped with the virtual assistant Alexa, demonstrated
the power of voice-activated IoT, making smart homes more intuitive and responsive.
Device or sensor
Connectivity
Data processing
Interface
Over 9 billion ‘Things’ (physical objects) are currently connected to the Internet, as of now. In
the near future, this number is expected to rise to a whopping 20 billion.
Low-power embedded systems: Less battery consumption, high performance are the
inverse factors that play a significant role during the design of electronic systems.
Sensors: Sensors are the major part of any IoT application. It is a physical device that
measures and detects certain physical quantities and converts it into signal which can be
provided as an input to processing or control unit for analysis purpose.
Temperature Sensors
Image Sensors
Gyro Sensors
Obstacle Sensors
RF Sensor
IR Sensor
LDR Sensor
Availability of big data: We know that IoT relies heavily on sensors, especially in real-
time. As these electronic devices spread throughout every field, their usage is going to
trigger a massive flux of big data.
Make the Internet ever more expansive, but this requires hard-core technologies such as
rigorous cloud computing and rapid big data storage (expensive).
In the near future, IoT will become broader and more complex in terms of scope.
IoT Enablers
RFIDs: uses radio waves in order to electronically track the tags attached to each
physical object.
Sensors: devices that are able to detect changes in an environment (ex: motion detectors).
Nanotechnology: as the name suggests, these are tiny devices with dimensions usually
less than a hundred nanometers.
Collect and Transmit Data : For this purpose sensors are widely used they are used as
per requirements in different application areas.
Actuate device based on triggers produced by sensors or processing devices: If
certain conditions are satisfied or according to user’s requirements if certain trigger is
activated then which action to perform that is shown by Actuator devices.
Receive Information: From network devices, users or devices can take certain
information also for their analysis and processing purposes.
Characteristics of IoT
Devices typically consume less power. When not in use, they should be automatically
programmed to sleep.
A device that is connected to another device right now may not be connected in another
instant of time.
Nowadays, Internet of Things (IoT) has become one of the most powerful technologies of modern
era having the internet as its backbone. Internet of Things or IoT is something that is used to
communicate with physical objects. In easy words, we can say that “Internet of Things is a
technology which is used to communicate between human and machine or a machine to machine
with the help of internet”.
Here the word ‘Things’ refers to these machines or physical objects so it becomes important to
understand what kind of objects can be connected via Internet. We can categories these objects
into categories –
Smart Objects :
As the name suggests smart objects are objects having some intelligence. Now the world has
changed enough to alter our everyday objects into smart objects which can communicate, react,
and identify other objects according to the environment. The key concept of IoT is to reduce
human interaction in any framework and smart objects fulfill this requirement to a great extent.
That is why Smart Objects are called building blocks of Internet of Things. Smart objects and IoT
are like two wheels of a vehicle which move together to speed up the vehicle of our modern
infrastructure.
“Smart objects are those physical and digital objects which can be identified, have
sensing/actuating capabilities, processing and calculating powers, also storing, and networking
capabilities.”
1. Physical Shape :
As the word object refers to something which has some physical shape or size, so any
Smart Object should have these physical features so that it can be deployed somewhere in
the infrastructure.
2. Unique Identifier :
Smart Objects should have a unique identity so they can be easily identified in the
infrastructure. It is something that differs a specific object from other objects. This type
of physical identity is used by humans for reasoning purposes.
3. Communication Capabilities :
It must have communication capabilities so that it can send or receive data over internet
or other networking technologies.
5. Processing Powers :
Smart Objects have some basic computational and processing abilities to take decisions
accordingly the environment.
6. Sensing Capabilities :
It should have some sensing capabilities to know about the surroundings (Pressure, toxic
gasses, temp. etc).
Features of Smart Objects
Examples :
We are surrounded by smart objects in our daily life. For example, we all have our smartphones
in our pockets. Smart fridge, Smart TV, Alexa voice assistant are some modern examples of
smart objects which we use in our daily life. Micro-controllers like Arduino can be easily seen.
Non-Smart Objects :
Non-smart objects are generally those objects which do not have intelligence and processing
capabilities. Sensors and actuators are non-smart devices.
1. Sensors :
Sensors are those electronic devices which are made of sensitive cells and have
capabilities to measure or sense some physical or scientific quantity like temperature,
pressure, the measure of any toxic gas, etc.
2. Actuators :
Actuators are those electronic devices which performs a specific task by collecting the
information by sensors or like sensors over the internet. We can divide actuator into two
parts –
Mechanic Actuators –
These are those actuators which perform a task over themselves or any other
object.
Actions –
By this analysis, we can easily classify the objects in the Internet of Things. Now, we can see that
smart objects and the Internet of Things together can make complex applications because with
their help we can communicate without human interaction. This becomes more important in those
applications where human presence is not available all the time.
Architecture of IoT
The architecture of IoT is divided into 4 different layers i.e. Sensing Layer, Network Layer, Data
processing Layer, and Application Layer.
Sensing Layer: The sensing layer is the first layer of the Internet of Things architecture
and is responsible for collecting data from different sources. This layer
includes sensors and actuators that are placed in the environment to gather information
about temperature, humidity, light, sound, and other physical parameters. Wired or
wireless communication protocols connect these devices to the network layer.
Network Layer: The network layer of an IoT architecture is responsible for providing
communication and connectivity between devices in the IoT system. It includes protocols
and technologies that enable devices to connect and communicate with each other and
with the wider internet. Examples of network technologies that are commonly used in IoT
include WiFi, Bluetooth, Zigbee, and cellular networks such as 4G and 5G technology.
Additionally, the network layer may include gateways and routers that act as
intermediaries between devices and the wider internet, and may also include security
features such as encryption and authentication to protect against unauthorized access.
Data processing Layer: The data processing layer of IoT architecture refers to the
software and hardware components that are responsible for collecting, analyzing, and
interpreting data from IoT devices. This layer is responsible for receiving raw data from
the devices, processing it, and making it available for further analysis or action. The data
processing layer includes a variety of technologies and tools, such as data management
systems, analytics platforms, and machine learning algorithms. These tools are used to
extract meaningful insights from the data and make decisions based on that data.
Example of a technology used in the data processing layer is a data lake, which is a
centralized repository for storing raw data from IoT devices.
Application Layer: The application layer of IoT architecture is the topmost layer that
interacts directly with the end-user. It is responsible for providing user-friendly interfaces
and functionalities that enable users to access and control IoT devices. This layer includes
various software and applications such as mobile apps, web portals, and other user
interfaces that are designed to interact with the underlying IoT infrastructure. It also
includes middleware services that allow different IoT devices and systems to
communicate and share data seamlessly. The application layer also includes analytics and
processing capabilities that allow data to be analyzed and transformed into meaningful
insights. This can include machine learning algorithms, data visualization tools, and other
advanced analytics capabilities.
Architecture of IoT
Interconnectivity
It is the basic first requirement in any IoT infrastructure. Connectivity should be guaranteed from
any devices on any network then only devices in a network can communicate with each other.
Heterogeneity
There can be diversity in IoT enabled devices like different hardware and software configuration
or different network topologies or connections, but they should connect and interact with each
other despite so much heterogeneity.
Dynamic in Nature
IoT devices should dynamically adapt themselves to the changing surroundings like different
situations and different prefaces.
Intelligence
Just data collection is not enough in IoT, extraction of knowledge from the generated data is very
important. For example, sensors generate data, but that data will only be useful if it is interpreted
properly. So intelligence is one of the key characteristics in IoT. Because data interpretation is the
major part in any IoT application because without data processing we can’t make any insights
from data. Hence, big data is also one of the most enabling technologies in IoT field.
Scalability
The number of elements (devices) connected to IoT zones is increasing day by day. Therefore, an
IoT setup should be capable of handling the expansion. It can be either expand capability in terms
of processing power, storage, etc. as vertical scaling or horizontal scaling by multiplying with
easy cloning.
Identity
Each IoT device has a unique identity (e.g., an IP address). This identity is helpful in
communication, tracking and to know status of the things. If there is no identification then it will
directly affect security and safety of any system because without discrimination we can’t identify
with whom one network is connected or with whom we have to communicate. So there should be
clear and appropriate discrimination technology available between IoT networks and devices.
Safety
Sensitive personal details of a user might be compromised when the devices are connected to the
Internet. So data security is a major challenge. This could cause a loss to the user. Equipment in
the huge IoT network may also be at risk. Therefore, equipment safety is also critical.
Architecture
It should be hybrid, supporting different manufacturer’s products to function in the IoT network.
As a quick note, IoT incorporates trillions of sensors, billions of smart systems, and millions of
applications.
Application Domains
IoT is currently found in four different popular domains:
Modern Applications
Smart cities
Healthcare
Earthquake detection
Smartphone detection
Traffic monitoring
Wearables
Security
Agriculture
Industry
Advantages of IoT
Improved decision-making.
Cost savings.
Disadvantages of IoT
Limited regulation and legal framework for IoT, which can lead to confusion and
uncertainty.
The Internet of Things (IoT) refers to the interconnectivity of physical devices, vehicles, home
appliances, and other items embedded with electronics, software, sensors, and connectivity which
enables these objects to connect and exchange data. The IoT concept involves extending Internet
connectivity beyond traditional devices like desktop and laptop computers, smartphones and
tablets to a diverse range of devices and everyday things. The ultimate goal of IoT is to offer
advanced connectivity of devices, systems, and services that goes beyond machine-to-machine
communications and covers a variety of protocols, domains, and applications.
The Internet of Things (IoT) has fast grown to be a large part of how human beings live,
communicate and do business. All across the world, web-enabled devices are turning our global
rights into a greater switched-on area to live in.
There are various types of challenges in front of IoT.
1. Lack of encryption –
Although encryption is a great way to prevent hackers from accessing data, it is also one
of the leading IoT security challenges.
These drives like the storage and processing capabilities that would be found on a
traditional computer.
The result is an increase in attacks where hackers can easily manipulate the algorithms
that were designed for protection.
With the increase in the number of IoT(internet of things) devices, IoT manufacturers are
more eager to produce and deliver their device as fast as they can without giving security
too much of although.
Most of these devices and IoT products do not get enough testing and updates and are
prone to hackers and other security issues.
Weak credentials and login details leave nearly all IoT devices vulnerable to password
hacking and brute force.
Any company that uses factory default credentials on their devices is placing both their
business and its assets and the customer and their valuable information at risk of being
susceptible to a brute force attack.
IoT botnet workers can manipulate data privacy, which could be massive risks for an
open Crypto market. The exact value and creation of cryptocurrencies code face danger
from mal-intentioned hackers.
The blockchain companies are trying to boost security. Blockchain technology itself is
not particularly vulnerable, but the app development process is.
6. Inadequate device security : Inadequate device security refers to the lack of proper
measures to protect electronic devices such as computers, smartphones, and IoT devices
from cyber attacks, hacking, data theft, and unauthorized access. This can happen due to
outdated software, weak passwords, unpatched vulnerabilities, lack of encryption, and
other security risks. It is important to regularly update the software and implement strong
security measures to ensure the security and privacy of sensitive information stored on
these devices. Many IoT devices have weak security features and can be easily hacked.
9. Unsecured data transmission: Unsecured data transmission refers to the transfer of data
over a network or the internet without adequate protection. This can leave the data
vulnerable to interception, tampering, or theft by malicious actors. Unsecured data
transmission can occur when data is transmitted over an unencrypted network connection
or when insecure protocols are used. To protect sensitive data during transmission, it is
important to use secure protocols such as SSL/TLS or VPN, and to encrypt the data
before sending it. This can help to ensure the confidentiality and integrity of the data,
even if it is intercepted during transmission. IoT devices often transmit sensitive data,
which may be vulnerable to eavesdropping or tampering if not properly secured.
10. Privacy concerns: Privacy concerns refer to issues related to the collection, storage, use,
and sharing of personal information. This can include concerns about who has access to
personal information, how it is being used, and whether it is being protected from
unauthorized access or misuse. In the digital age, privacy concerns have become
increasingly important as personal information is being collected and stored on an
unprecedented scale. To address privacy concerns, individuals and organizations need to
implement appropriate security measures to protect personal information, be transparent
about how it is being used, and respect individuals’ rights to control their own
information. Additionally, privacy laws and regulations have been established to provide
guidelines and protections for individuals’ personal information. The vast amount of data
generated by IoT devices raises privacy concerns, as personal information could be
collected and used without consent.
12. Insider threats: Insider threats refer to security risks that come from within an
organization, rather than from external sources such as hackers or cyber criminals. These
threats can take many forms, such as employees who intentionally or unintentionally
cause harm to the organization, contractors who misuse their access privileges, or insiders
who are coerced into compromising the security of the organization. Insider threats can
result in data breaches, theft of intellectual property, and damage to the reputation of the
organization. To mitigate the risk of insider threats, organizations should implement strict
access controls, monitor employee activity, and provide regular training on security and
privacy policies. Additionally, organizations should have a plan in place to detect,
respond to, and recover from security incidents involving insiders. Employees or
contractors with access to IoT systems can pose a security risk if they intentionally or
unintentionally cause harm.
Design challenges in IoT (Internet of Things) refer to the technical difficulties and trade-offs
involved in creating connected devices that are both functional and secure. Some of the key
design challenges in IoT include:
Security: Security is a critical concern in the Internet of Things (IoT) as it involves the
protection of sensitive data and systems from unauthorized access, theft, or damage. IoT
devices are often vulnerable to cyber attacks due to their increased exposure to the
internet and their limited computing resources. Some of the security challenges in IoT
include:
1. Device security: Ensuring that IoT devices are protected from malware and unauthorized
access.
2. Network security: Protecting the communication between IoT devices and the network
from cyber attacks.
3. Data security: Securing the data collected and transmitted by IoT devices from
unauthorized access or tampering.
1. Data management: Effectively managing and storing the large amounts of data generated
by IoT devices.
2. Network capacity: Ensuring that networks have sufficient capacity to handle the
increased volume of data and communication.
3. Device management: Efficiently managing the growing number of IoT devices and
ensuring that they can be easily configured and maintained.
Reliability: Reliability refers to the ability of a system to perform its intended function
consistently and without failure over time. In the context of the Internet of Things (IoT),
reliability is a critical concern, as the failure of even a single IoT device can have
significant consequences. Some of the reliability challenges in IoT include:
1. Device failure: Ensuring that IoT devices are designed and built to be reliable and
function correctly even in harsh environments.
2. Network connectivity: Maintaining stable and reliable connections between IoT devices
and the network, even in the face of hardware or software failures.
3. Data accuracy: Ensuring that the data collected and transmitted by IoT devices is accurate
and reliable.
To address these reliability challenges, organizations should implement robust and reliable
hardware and software designs for IoT devices, and conduct regular testing and
maintenance to identify and resolve any issues. They should also implement redundant systems
and failover mechanisms to ensure that the system continues to function in the event of a
failure. By prioritizing reliability, organizations can help ensure that their IoT systems perform
consistently and without failure, delivering the intended benefits and results. Ensuring
that IoT systems remain functional and accessible even in the face of hardware or software
failures.
Power consumption: Power consumption refers to the amount of energy that a system or
device uses. In the context of the Internet of Things (IoT), power consumption is a
critical challenge, as many IoT devices are designed to be small, low-power, and operate
using batteries. Some of the power consumption challenges in IoT include:
1. Battery life: Ensuring that IoT devices have sufficient battery life to operate without
frequent recharging or replacement.
2. Energy efficiency: Making sure that IoT devices are designed to use energy efficiently
and reduce the overall power consumption of the system.
Privacy: Privacy is a critical concern in the Internet of Things (IoT), as IoT devices
collect, store, and transmit large amounts of personal and sensitive information. Some of
the privacy challenges in IoT include:
1. Data collection: Ensuring that only the necessary data is collected and that it is collected
in a way that respects individuals’ privacy rights.
2. Data storage: Ensuring that the data collected by IoT devices is stored securely and that
access to it is strictly controlled.
3. Data sharing: Controlling who has access to the data collected by IoT devices and
ensuring that it is not shared without proper authorization.
Issues in packaging and integration of small-sized chip with low weight and less power
consumption. If you’ve been following the mobile space, you’ve likely see how every yr
it looks like there’s no restriction in terms of display screen size. Take the upward thrust
of ‘phablets’, for instance, which can be telephones nearly as huge as tablets. Although
helpful, the bigger monitors aren’t always only for convenience, rather, instead, display
screen sizes are growing to accommodate larger batteries. Computers have getting
slimmer, but battery energy stays the same.
Systems have to be designed and implemented to be robust and reliable and have to be
secure with cryptographic algorithms and security procedures.
It involves different approaches to secure all the components of embedded systems from
prototype to deployment.
Designers and engineers must carefully balance these design challenges to create IoT systems that
are functional, secure, and scalable.
The deployment of Internet of Things (IoT) systems can present several challenges, including:
1. Connectivity –
It is the foremost concern while connecting devices, applications and cloud platforms.
Connected devices that provide useful front and information are extremely valuable. But
poor connectivity becomes a challenge where IoT sensors are required to monitor process
data and supply information.
IoT applications must be developed, keeping in mind the technological changes of the
future.
Its development requires a balance of hardware and software functions.
It is a challenge for IoT application developers to ensure that the device and IoT platform
drivers the best performance despite heavy device rates and fixings.
All of the development challenges above can only be handled if there is a proper skilled
resource working on the IoT application development.
The right talent will always get you past the major challenges and will be an important
IoT application development asset.
5. Integration: Ensuring that IoT devices and systems integrate seamlessly with existing
technology and infrastructure.
7. Device management: Efficiently managing and maintaining the large number of IoT
devices in a deployment.
8. Data management: Managing and analyzing the large amounts of data generated by IoT
devices, and integrating it with existing data systems.
9. Security: Ensuring that the IoT deployment is secure from threats such as cyber attacks,
data breaches, and unauthorized access.
10. Cost: Balancing the cost of deploying and maintaining an IoT system with the benefits it
delivers.
To address these deployment challenges, organizations should adopt a structured and well-
planned deployment approach, involving the careful selection of hardware and software
components, careful planning of the network infrastructure, and the development of a robust
security strategy. They should also implement efficient device and data
management systems and seek to maximize the return on investment by choosing cost-effective
solutions. By approaching deployment in a structured and well-planned manner,
organizations can help ensure that their IoT systems deliver the intended benefits and results.
CHAPTER 4
BLYNK APPLICATION
Blynk is a complete IoT software platform where you can prototype, deploy, and
remotely manage connected electronic devices at any scale.
Whether it's personal IoT projects or commercial connected products in the millions we
empower developers and businesses to connect their hardware to the cloud and create
iOS, Android, and web applications, analyze real-time and historical data from devices,
remotely control them from anywhere, receive important notifications, and much more.
Blynk.Console
Blynk.Console is a feature-rich web application catering to different types of users. Its key
functionalities include:
Blynk.Apps
Blynk.Apps
Blynk.Apps is a versatile native iOS and Android mobile application that serves these major
functions:
1. Remote monitoring and control of connected devices that work with Blynk platform.
Applications made with Blynk are ready for the end-users. Whether they are family members,
employees, or product purchasers, they can easily download the app, connect their devices, and
start using them.
Blynk also offers a white-label solution as part of the Business Plan, allowing you to customize
the app with your company logo, app icon, theme, colors, and publish it on App Store and Google
Play under your company's name. These customized apps will work seamlessly with your
devices.
1. Device claiming and Wi-Fi provisioning (bringing device online and authenticating them
with a certain user).
Blynk Library is a user-friendly and portable C++ library, that comes pre-configured to work
with hundreds of development boards. It implements a streaming connection protocol, allowing
for low-latency and bi-directional communication.
Blynk.Cloud
Blynk.Cloud is a server infrastructure acting as the heart of Blynk IoT platform binding all the
components together.
Blynk also offers private servers. See the offerings and prices here.
Blynk is a multi-tenant solution that allows you to configure user access to devices and data by
defining roles and permissions.
Blynk Micro-Services
Blynk provides micro-services, which are software modules that work across products and
perform specific functionalities. These micro-services include:
Blynk.Inject
Blynk.Inject
Provisioning devices with WiFi credentials so they can connect to the end-user WiFi
networks.
UX flow to guide end-users through the process of claiming and provisioning with the
help of Blynk.Apps
For a better understanding of Blynk.Inject, you can refer to the documentation and provided
videos:
Blynk.R
Multi-tenancy
Blynk.Air
While Device Template has a lot of settings, in this tutorial, we focus only on the most important
settings to get your devices up and running quickly. By the end of this tutorial, you should have a
working device that will:
Send random values to the web and mobile dashboard in given intervals
Before moving further, make sure that you have Developer Mode enabled:
2. Navigate to My Profile in the left menu of the app or the top right corner of
Blynk.Console
2. Edit/Create Template
Open the Templates section (Developer Zone -> My Templates) in the left menu and click + New
Template button. If you already have a template - click to open it and press Edit button.
3. Basic Settings
Give your new template a name, specify the hardware and connectivity you will be using.
4. Find Template ID
A new Template is now created. On the screen below notice Template ID and Firmware
Configuration sections. You will need these details later in your sketch.
5. Set Up Mobile Dashboard
1. Open Blynk.Apps
4. Find a template you just created on the web and tap on it.
With Blynk you can send raw or processed data from any sensor or actuator connected to the
MCU.
When you send data to Blynk it flows through a Datastream using Blynk protocol. Then every
value is automatically timestamped and stored in the Blynk.Cloud database (you can also send
batches of timestamped data if needed).
Datastream is a channel that tells Blynk what type of data is flowing through it.
With Blynk you can send any raw or processed data from any sensor or actuator.
First, make sure you can read your sensor data without Blynk.
There are thousands of different sensors in the world. Some of them can be read simply from
Analog Pins, others require special libraries to interpret the data correctly.
Before you try to send data to Blynk you should be able to print the sensor reading to Serial
Monitor.
You should be already familiar with Digital and Analog pins which are used on your hardware to
transfer data from connected sensors.
Virtual Pins are a Blynk abstraction designed to exchange any data between your hardware and
Blynk. Anything you connect to your hardware will be able to talk to Blynk. With Virtual Pins
you can send something from the App, process it on the microcontroller, and then send it back to
the smartphone. You can trigger functions, read I2C devices, convert values, control servo and
DC motors, etc.
Virtual Pins can be used to interface with external libraries (Servo, LCD, and others) and
implement custom functionality.
Virtual pins are hardware-independent. This means that it’s far easier to port your code
from one hardware platform to another in the future (when you realize that the
NodeMCU is far better than the Arduino Uno + ESP-01 that you started with, for
example).
You have far more control over what your widgets do when using Virtual Pins. For
example, if you want a single app button to switch multiple relays on or off at the same
time then that’s simple with virtual pins, but almost impossible using digital pins.
Virtual pins are more predictable (stable if you like) than manipulating digital pins.
Virtual Pins are really just a way of sending a message from the app to the code that’s running on
your board (via the Blynk server). There is no correlation between Virtual Pins and any of the
physical GPIO pins on your hardware. If you want a Virtual Pin to change the state of one of your
physical pins then you have to write the code to make this happen.
Depending on the plan you choose, the data can be stored as-is (Raw data) or will be averaged to
a one-minute average. Averaging means that if you send 60 values per minute, Blynk will only
store one value. You can still see the data flowing in in real-time.
Before you start sending data, we need to prepare some place to store it and visualize it. Let's use
Chart Widget in Blynk.Console for that and plot the noise coming in from Analog Pin A0 on the
hardware.
1. Go to Blynk.Console -> Developer Zone -> Templates -> Create New Template
2. Go to Web Dashboard Tab -> Add Chart Widget, then open Widget Settings
3. Press Create New Datastream -> Virtual Pin
Click Save and Apply to save the template and apply changes.
If you don't have devices yet or need more information on templates, check these articles:
Now you are ready to send the data from your device. Depending on the chosen hardware and
connectivity method you can choose between two main methods of sending data:
Blynk Library Firmware API: for devices that can be constantly connected to the internet.
For example: Wi-Fi or Ethernet
HTTPS API: for cellular devices or any other cases when you need to use standard HTTP
protocol
Send Data With Blynk Library Firmware API
This method utilizes Blynk Protocol and it's the most common and easy-to-use method when you
need to send data in real-time.
First, you need to set up a template with a datastream to configure what type of data your
hardware will be sending.
When you have the datastream set, use its Virtual Pin number further.
Copy
Blynk.virtualWrite(V5, sensorData);
Hardware may send data to the Widgets over the Virtual Pin like this:
Copy
Blynk.virtualWrite(Vpin, "abc");
To avoid spamming the server, send data only when it's needed (event-based) or use timers to
send data in controlled intervals. Blynk Library offers a built-in timer for your convenience.
This is an example code on how to send data every second with a timer:
Copy
int sensorVal;
// This function creates the timer object. It's part of Blynk library
BlynkTimer timer;
void myTimer()
// This function describes what will happen with each timer tick
void setup()
timer.setInterval(1000L, myTimer);
void loop()
sensorVal = analogRead(A0);
Blynk.run();
// runs BlynkTimer
timer.run();
If you prefer or need to use HTTP protocol, use it with any device that supports HTTP client
functionality.
With HTTP API you can send individual values, multiple values, and even upload batches of
already timestamped data
Events
Events are used to track, log, and work with important events that happen on the device.
Events are also used for notifications which can be sent over email, delivered as push
notifications to the user's smartphone, or sent as an SMS.
Events are pre-configured in Blynk.Console and can be triggered with a Events Firmware API
from the device or using Events HTTP API.
Examples of an Event:
Log a moment when a temperature reaches a certain threshold and send a notification to
selected users
Track the total working hours of the device. If it approaches or goes beyond a maximum
value, you would need to notify technical support so that they can replace the device or
provide warranty service
Custom Events: Events you can create and configure for your needs
Content Events: Informative events that are shown separately in the app
System Events
Custom Events
These are Events you can configure based on what your device does. Read these articles to start
logging events and sending notifications:
Event Settings
How to send custom events from hardware using Firmware API and HTTPS API
Content Events
Go to Developer Zone -> My Templates -> Select a template -> Open the "Events &
Notifications" tab.
4. Click Create (the event will appear in the Events tab list)
5. Repeat the previous step for the second event with the name Error
6. Click Save to save and apply the changes made (select Update active device this time)
Note that each event hasEVENT_CODE. This event code will be used in firmware API or
HTTPS API
Copy
Blynk.logEvent("high_temp");
When this code works, an Event will be logged and the system will act accordingly to the Event
setup (render on the timeline, send notifications, etc.)
Don't log an event too many times to avoid hitting daily limits. You can use timers or flags to
mark the already-sent events. Check this article on how to avoid spamming the server with events
The current limit is 100 events per device per day. This limit could be increased for business
clients to fit their needs.
You can change the description of the event when it's rendered on the timeline in Blynk.Console
and in Blynk.Apps. For example, you can include the current data
Copy
Make sure you enabled Timeline recording in the Event Settings to see the result in the apps
Copy
`/external/api/logEvent?token={AuthToken}&code={event_code}
Copy
`/external/api/logEvent?
token={AuthToken}&code={event_code}&description={event_description}
Example:
Copy
https://blynk.cloud/external/api/logEvent?
token=GVki9IC70vb3IqvsV0YD3el4y0OpneL1&code=firmware_update&description=test
3. Sending Events
You can test the Event creation by sending it from Device using Blynk.Edgent firmware API, or
with REST API.
For this tutorial, you would need to use hello as a name. Here is a pseudo-code:
Copy
if (some_condition){
Blynk.logEvent("hello");
Optionally, you can send a custom description of the event. This description will be rendered on
Device Timeline.
Copy
if (some_condition){
4. Find Auth Token there and click on the icon to copy it to the clipboard
Device Info tab with Auth Token
Now make an HTTP request with the tools you use for that. Make sure to change the AuthToken
to the one you copied in the previous step.
You can even use your browser for that. Just put it in the URL field and press Enter.
Copy
https://blynk.cloud/external/api/logEvent?token=AuthToken&code=hello
Repeat the same with code=error
Copy
https://blynk.cloud/external/api/logEvent?token=AuthToken&code=error
First of all, check Device Timeline by going to Device -> Timeline tab
You should see 2 events on the timeline! If you set up notifications, they should have been
delivered as well.
Limitations
You can send only 100 events per device per day (Adjustable in Business Plan)
When the limit is reached you'll see the notification on the UI in the Device Timeline
section
ESP32
Cloud
ESP32 Board: Main controller with Wi-Fi capability for IoT communication.
Blynk App (IoT Dashboard): For remote monitoring and sending alerts.
Power Supply: 5V/12V battery or USB.
Working Principle:
Emits an ultrasonic pulse and measures time taken for the echo to return.
Formula used:
2. ESP32:
3. Blynk App:
Displays:
o Alert messages.
Optionally sends email or push notifications.
System Flow:
5. Loop continues.
CHAPTER 6
SOFTWARE IMPLEMENTATION
4.1 Introduction:
In this chapter we are going to study the software used in this project in
detail. The software used in this project is
1. Arduino IDE
The Arduino IDE supports the languages C and C++ using special rules to
organize code. The Arduino IDE supplies a software library called Wiring from the
Wiring project, which provides many common input and output procedures. A typical
Arduino C/C++ sketch consist of two functions that are compiled and linked with a
program stub main() into an executable cyclic executive program:
• setup(): a function that runs once at the start of a program and that can
initialize settings.
After compiling and linking with the GNU toolchain, also included with the IDE
distribution, the Arduino IDE employs the programavrdude to convert the executable
code into a text file in hexadecimal coding that is loaded into the Arduino board by a
loader program in the board's firmware.
Sample program:
Most Arduino boards contain an LED and a load resistor connected between pin
13 and ground which is a convenient feature for many tests.[20]
#define LED_PIN 13
void setup() {
void loop() {
4.3 Structure :
After creating a setup() function, which initializes and sets the initial
values, the loop() function does precisely what its name suggests, and loops
consecutively, allowing your program to change and respond. Use it to actively control
the Arduino board.
4.3.1 Functions:
Digital I/O:
digitalWrite(): If the pin has been configured as an OUTPUT with pinMode(), its
voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH,
0V (ground) for LOW.
Syntax: analogRead(pin)
millis(): Returns the number of milliseconds since the Arduino board began
running the current program. This number will overflow (go back to zero), after
approximately 50 days.
micros(): Returns the number of microseconds since the Arduino board began
running the current program. This number will overflow (go back to zero), after
approximately 70 minutes. On 16 MHz Arduino boards (e.g. Duemilanove and Nano),
this function has a resolution of four microseconds (i.e. the value returned is always a
multiple of four). On 8 MHzArduino boards (e.g. the LilyPad), this function has a
resolution of eight microseconds.
4.3.2 Utilities:
sizeof: The sizeof operator returns the number of bytes in a variable type, or the
number of bytes occupied by an array.
Syntax: sizeof(variable)
Pointers are one of the more complicated subjects for beginners in learning C, and
it is possible to write the vast majority of Arduino sketches without ever encountering
pointers. However for manipulating certain data structures, the use of pointers can
simplify the code, and knowledge of manipulating pointers is handy to have in one's
toolkit.
attachInterrupt():
If you wanted to insure that a program always caught the pulses from a rotary
encoder, so that it never misses a pulse, it would make it very tricky to write a program to
do anything else, because the program would need to constantly poll the sensor lines for
the encoder, in order to catch pulses when they occurred. Other sensors have a similar
interface dynamic too, such as trying to read a sound sensor that is trying to catch a click,
or an infrared slot sensor (photo-interrupter) trying to catch a coin drop. In all of these
situations, using an interrupt can free the microcontroller to get some other work done
while not missing the input.
ISRs are special kinds of functions that have some unique limitations most other
functions do not have. An ISR cannot have any parameters, and they shouldn't return
anything.
detachInterrupt(): Turns off the given interrupt.
CHAPTER 7
ADVANTAGES & APPLICATIONS
Advantages:
Applications:
CHAPTER 8
CONCLUSION & FUTURE SCOPE
Conclusion:
This IoT-based disaster alert system ensures timely detection and reporting of rising
water levels. With real-time data monitoring and alert transmission via the Blynk
platform, the system improves response time in emergencies and potentially saves lives.
The use of waterproof sensors and ESP32 enables reliable operation in outdoor
environments.
Future Scope:
BIBILOGRAPHY