BETCK105H-IOT Module-4
BETCK105H-IOT Module-4
Introduction
Sensor nodes are the key components of Internet of Things (IoT).
These nodes are resource-constrained in terms of storage, processing, and energy.
Moreover, in IoT, the devices are connected and communicate with one another by
sharing the sensed and processed data.
Handling the enormous data generated by this large number of heterogeneous devices
is a non-trivial task.
Consequently, cloud computing becomes an essential building block of the IoT
architecture.
This chapter aims at providing an extensive overview of cloud computing.
Additionally, Check yourself will help the learner to learn different concepts are
related to cloud computing.
Cloud computing is more than traditional network computing.
Unlike network computing, cloud computing comprises a pool of multiple resources
such as servers, storage, and network from single/multiple organizations.
These resources are allocated to the end users as per requirement, on a payment basis.
In cloud computing architecture, an end user can request for customized resources
such as storage space, RAM, operating systems, and other software to a cloud service
provider (CSP) as shown in Figure.
For example, a user can request for a Linux operating system for running an
application from a CSP; another end user can request for Windows 10 operating
system from the same CSP for executing some application.
The cloud services are accessible from anywhere and at any time by an authorized
user through Internet connectivity.
Virtualization
The key concept of cloud computing is virtualization.
The technique of sharing a single resource among multiple end user organizations or
end users is known as virtualization.
In the virtualization process, a physical resource is logically distributed among
multiple users.
However, a user perceives that the resource is unlimited and is dedicatedly provided to
him/her.
Figure (a) represents a traditional desktop, where an application (App) is running on
top of an OS, and resources are utilized only for that particular application.
On the other hand, multiple resources can be used by different end users through
virtualization software, as shown in Figure (b).
Virtualization software separates the resources logically so that there is no conflict
among the users during resource utilization.
Advantages of virtualization
With the increasing number of interconnected heterogeneous devices in IoT, the
importance of virtualization also increases.
In IoT, a user is least bothered about where the data from different heterogeneous
devices are stored or processed for a particular application.
Users are mainly concerned for their services.
Types of virtualization
Based on the requirements of the users, we categorized virtualization as shown in
Figure 10.3.
Cloud Models
As per the National Institute of Standards and Technology (NIST) [1] and Cloud
Computing Standards Roadmap Working Group, the cloud model can be divided into
two parts: (1) Service model and (2) Deployment model as shown in Figure.
Further the service model is categorized as: Software-as-a-Service (SaaS), Platform-
as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS).
On the other hand, the deployment model is further categorized as: Private cloud,
Community cloud, Public cloud, and Hybrid cloud.
Importance of SLA
An SLA is essential in cloud computing architecture for both CSP and customers.
It is important because of the following reasons:
Customer Point of View: Each CSP has its SLA, which contains a detailed
description of the services.
If a customer wants to use a cloud service, he/she can compare the SLAs of different
organizations.
Therefore, a customer can choose a preferred CSP based on the SLAs.
CSP Point of View: In many cases, certain performance issues may occur for a
particular service, because of which a CSP may not be able to provide the services
efficiently.
Thus, in such a situation, a CSP can explicitly mention in the SLA that they are not
responsible for inefficient service.
Cloud Implementation
(i) Cloud simulation
With the rapid deployment of IoT infrastructure for different applications, the
requirement for cloud computing is also increasing.
It is challenging to estimate the performance of an IoT system with the cloud before
real implementation.
On the other hand, real deployment of the cloud is a complex and costly procedure.
Thus, there is a requirement for simulating the system through a cloud simulator
before real implementation.
There are many cloud simulators that provide pre-deployment test services for
repeatable performance evaluation of a system.
Typically, a cloud simulator provides the following advantages to a customer:
Pre-deployment test before real implementation
System testing at no cost
Repeatable evaluation of the system
Pre-detection of issues that may affect the system performance
Flexibility to control the environment
Currently, different types of cloud simulators are available. A few cloud simulators are
listed here:
(i) CloudSim
(A) Description: CloudSim is a popular cloud simulator that was developed at the
University of Melbourne.
This simulator is written in a Java-based environment.
In CloudSim, a user is allowed to add or remove resources dynamically during the
simulation and evaluate the performance of the scenario.
(B) Features: CloudSim has different features, which are listed as follows:
(1) The CloudSim simulator provides various cloud computing data centers along with
different data center network topologies in a simulation environment.
(2) Using CloudSim, virtualization of server hosts can be done in a simulation.
(3) A user is able to allocate virtual machines (VMs) dynamically.
(4) It allows users to define their own policies for the allocation of host resources to
VMs.
(5) It provides flexibility to add or remove simulation components dynamically.
(6) A user can stop and resume the simulation at any instant of time.
(ii) CloudAnalyst
(a) Description: CloudAnalyst [4] is based on CloudSim.
This simulator provides a graphical user interface (GUI) for simulating a cloud
environment, easily.
The CloudAnalyst is used for simulating large-scale cloud applications.
Sandeep K.H Dept of CSE, PESITM-Shivamogga Page 8
(b) Features:
(1) The Cloud Analyst simulator is easy to use due to the presence of the GUI.
(2) It allows a user to add components and provides a flexible and high level of
configuration.
(3) A user can perform repeated experiments, considering different parameter values.
(4) It can provide a graphical output, including a chart and table.
For the real implementation of cloud, there are various open-source cloud platforms
available such as OpenStack, CloudStack, and Eucalyptus.
Here, we will discuss the OpenStack platform briefly.
The OpenStack [12] is free software, which provides a cloud IaaS to users.
A user can easily use this cloud with the help of a GUI-based web interface or through
the command line.
OpenStack supports a vastly scalable cloud system, in which different pre-configured
software suites are available.
The service components of OpenStack along with their functions are depicted in
Table.
Component Function
Nova Compute
Neutron Networking
Cinder Block storage
Keystone Identity
Glance Image
Swift Object storage
Horizon Dashboard
Trove Database
Sahara Elasticmap reduce
Manila Shared file system
Designate DNS
Searchlight Search
Barbican Key manager
Features of AWS
1) It provides flexibility to scale and manage the server capacity.
2) AWS provides control to OS and deployment software.
3) It follows the pay-per-use model.
4) The cloud allows a user to establish connectivity between the physical network and
private virtual network
5) The developer tools in this cloud infrastructure help a user for fast development and
deployment of the software.
6) AWS provides excellent management tools, which help a user to monitor and
automate different components of the cloud.
7) The cloud provides machine learning facilities, which are very useful for data
scientists and developers.
8) For extracting meaning from data, analytics play an important role. AWS also
provides a data analytics platform.
Sensor-Cloud: Sensors-as-a-Service
In this chapter, we have already discussed different services of cloud computing,
which include SaaS, PaaS, and IaaS.
Now, we will explore a new concept known as Sensors-as-a-Service (Se-aaS) in
sensor-cloud architecture.
Virtualization of resources is the backbone of cloud computing. Similarly, in a sensor-
cloud, virtualization of sensors plays an essential role in providing services to multiple
users.
Typically, in a sensor-cloud architecture, multiple users receive services from different
a sensor nodes, simultaneously.
Importance of sensor-cloud
The sensor-cloud infrastructure is based on the concept of cloud computing, in which
a user application is served by a set of homogeneous or heterogeneous sensor nodes.
These sensor nodes are selected from a common pool of sensor nodes, as per the
requirement of user applications.
Using the sensor-cloud infrastructure, a user receives data for an application from
multiple sensor nodes without owning them.
Unlike sensor-cloud, if a user wants to use traditional WSN for a certain application,
he/she has to go through different pre-deployment and post-deployment hurdles.
Figures depicts the usage of sensor nodes using traditional WSN and sensor cloud
infrastructure.
Case Study:
John is a farmer, and he has a significantly vast farmable area with him.
As manual supervision of the entire field is very difficult, he has planned to deploy a
WSN in his farming field. Before purchasing the WSN, he has to decide which sensors
should be used in his fields for sensing the different agricultural parameters.
Additionally, he has to decide the type and number of other components such as an
electronics circuit board and communication module required along with the sensors.
As there are numerous vendors, it is challenging for him to choose the correct (in
terms of quality and cost) vendor, as well as the sensor owner from whom the WSN
will be procured.
He finally decides the type of sensors along with the other components that are
required for monitoring his agricultural field.
Now, John faces the difficulty of optimally planning the sensor node deployment in
his fields.
After going through these hurdles, he decides on the number of sensor nodes that are
required for monitoring his field.
Finally, John procures the WSNs from a vendor.
After procurement, he deploys the sensor nodes and connects different components.
As WSN consists of different electronic components, he has to maintain the WSN
after its deployment.
After three months, as his requirement of agricultural field monitoring is completed,
he removes the WSN from the agricultural field.
Six months later, John plans to use the WSN that was deployed in the agricultural field
for home surveillance.
As the agriculture application is different from the home surveillance application, the
sensor required for the system also changes.
Thus, John has to go through all the steps again, including maintenance, deployment,
and hardware management, for the surveillance system.
Thus, we observe that the users face different responsibilities for using a WSN for an
application.
In such a situation, if sensor-cloud architecture is present, John can easily use WSNs
for his application on a rental basis.
Moreover, through the use of sensor-cloud, John can easily switch the application
without any manual intervention.
On the other end, service providers of the sensor-cloud infrastructure may serve
multiple users with the same sensors and earn profit.
Assignment Questions
1. What are the advantages of cloud computing?
2. With an example, explain how software-as-a-service is different from platform-as- a-
service?
3. What is an SLA? Why it is important in cloud computing?
4. Differentiate between scalability and elasticity.
5. What is an Amazon Machine Image?
6. What are the differences between modular and containerized data centers?
7. What is the relationship between IoT and cloud computing?
8. What is a sensor-cloud? Why do we use sensor-cloud?
9. Differentiate among different cloud deployment models.
Introduction
Currently, IoT-enabled technologies are widely used for increasing crop productivity,
generating significant revenue, and efficient farming.
The development of the IoT paradigm helps in precision farming. Agricultural loT
systems perform crop health monitoring, water management, crop security, farming
vehicle tracking, automatic seeding, and automatic pesticide spraying over the
agricultural fields.
In an IoT based agricultural system, different sensors necessarily have to be deployed
over agricultural fields, and the sensed data from these sensors need to be transmitted
to a centralized entity such as a server, cloud, or fog devices.
Further, these data have to be processed and analyzed to provide various agricultural
services.
Finally, a user should be able to access these services from handheld devices or
computers.
Figure depicts a basic architecture of an agricultural IoT.
Sensors: We have seen that the sensors are the major backbone of any IoT
application.
Similarly, for agricultural IoT applications, the sensors are an indispensable
component.
A few of the common sensors used in agriculture are sensors for soil moisture,
humidity, water level, and temperature.
Cameras: Imaging is one of the main components of agriculture. Therefore,
multispectral, thermal, and RGB cameras are commonly used for scientific
agricultural IoT.
These cameras are used for estimating the nitrogen status, thermal stress, water stress,
and crop damage due to inundation, as well as infestation.
Video cameras are used for crop security.
Satellites: In modern precision agriculture, satellites are extensively used to extract
information from field imagery.
The satellite images are used in agricultural applications to monitor different aspects
of the crops such as crop health monitoring and dry zone assessing over a large area.
Analytics: Analytics contribute to modern agriculture massively.
Currently, with the help of analytics, farmers can take different agricultural decisions,
such as estimating the required amount of fertilizer and water in an agricultural field
and estimating the type of crops that need to be cultivated during the upcoming
season.
Moreover, analytics is not only responsible for making decisions locally; it is used to
analyze data for the entire agricultural supply chain.
Data analytics can also be used for estimating the crop demand in the market.
Wireless connectivity: One of the main components of agricultural IoT is wireless
connectivity.
Wireless connectivity enables the transmission of the agricultural sensor data from the
field to the cloud/server.
It also enables farmers to access various application services over handheld devices,
which rely on wireless connectivity for communicating with the cloud/server.
Handheld devices: Over the last few years, e-agriculture has become very popular.
Sandeep K.H Dept of CSE, PESITM-Shivamogga Page 16
One of the fundamental components of e-agriculture is a handheld device such as a
smartphone.
Farmers can access different agricultural information, such as soil and crop conditions
of their fields and market tendency, over their smartphones.
Additionally, farmers can also control different field equipment, such as pumps, from
their phones.
Drones: Currently, the use of drones has become very attractive in different
applications such as surveillance, healthcare, product delivery, photography, and
agriculture.
Drone imaging is an alternative to satellite imaging in agriculture.
In continuation to providing better resolution land mapping visuals, drones are used in
agriculture for crop monitoring, pesticide spraying, and irrigation.
An agricultural food chain (agri-chain) represents the different stages that are involved
in agricultural activity right from the agricultural fields to the consumers.
Figure below depicts a typical agricultural food chain with the different operations that
are involved in it.
Additionally, the figure depicts the applications of different IoT components required
for performing these agricultural operations.
In the agrichain, we consider farming as the first stage. In farming, various operations,
such as seeding, irrigation, fertilizer spreading, and pesticide spraying, are involved.
For performing these operations, different IoT components are used.
As an example, for monitoring the soil health, soil moisture and temperature sensors
are used; drones are used for spraying pesticides; and through wireless connectivity, a
report on on-field soil conditions is sent directly to a users’ handheld device or cloud.
After farming, the next stage in the agri-chain is transport.
Transport indicates the transfer of crops from the field to the local storage, and after
that, to long-term storage locations.
Case Studies
In this section, we discuss a few case studies that will provide an overview of real
implementation of IoT infrastructure for agriculture.
In-situ assessment of leaf area index using IoT-based agricultural system
In this case study, we focus on an IoT-based agricultural system developed by Bauer
et al.
The authors focus on the in-situ assessment of the leaf area index (LAI), which is
considered as an essential parameter for the growth of most crops. LAI is a
dimensionless quantity which indicates the total leaf area per unit ground area.
For determining the canopy (the portion of the plant, which is above the ground) light,
LAI plays an essential role.
Architecture
The authors integrated the hardware and software components of their implementation
in order to develop the IoT-based agricultural system for LAI assessment.
One of the important components in this system is the wireless sensor network
(WSN), which is used as the LAI assessment unit.
The authors used two types of sensors: (i) ground-level sensor (G) and (ii) reference
sensor (R).
Hardware
For sensing and transmitting the data from the deployment fields to a centralized unit,
such as a server and a cloud, different hardware components are used in the system.
The commercial off-the-shelf (COTS) TelosB platform is used in the system.
The TelosB motes are equipped with three types of sensors: temperature, humidity,
and light sensors.
With the help of an optical filter and diffuser accessory on the light sensors, the PAR
is calculated to estimate the LAI.
The system is based on the cluster concept.
A Raspberry-Pi is used as a cluster head, which connects with four ground sensor
motes.
The Raspberry-Pi is a tiny single board, which works as a computer and is used to
perform different operations in IoT.
Humidity and wet plants intermittently cause attenuation to the system, which is
minimized with the help of forward error coding (FEC) technique.
Communication
The LAI system consists of multiple components, such as WSN, IoT gateway, and IoT
based network.
All of these components are connected through wired or wireless links.
The public land mobile network (PLMN) is used to establish connectivity between
external IoT networks and the gateway.
The data are analyzed and visualized with the help of a farm management information
system (FMIS), which resides in the IoT-based infrastructure.
Further, a prevalent data transport protocol: MQTT, is used in the system.
MQTT is a very light-weight, publish/subscribe messaging protocol, which is widely
used for different IoT applications.
The wireless LAN is used for connecting the cluster head with a gateway.
The TelosB motes are based on the IEEE 802.15.4 wireless protocol.
Software
Software is an essential part of the system by which different operations of the system
are executed.
In order to operate the TelosB motes, TinyOS, an open-source, low-power operating
system, is used.
This OS is widely used for different WSN applications.
Typically, in this system, the data acquired from the sensor node is stored with a
timestamp and sequence number (SN).
For wired deployments (the first generation deployment), the sampling rate used is 30
samples/hour.
However, in the wireless deployment (the second generation), the sampling rate is
significantly reduced to 6 samples/hour.
The TinyOS is capable of activating low-power listening modes of a mote, which is
used for switching a mote into low-power mode during its idle state.
In the ground sensor, TelosB motes broadcast the data frame, and the cluster head
(Raspberry-Pi) receives it.
This received data is transmitted to the gateway.
Besides acquiring ground sensor data, the Raspberry-Pi works as a cluster head.
IoT Architecture
The MQTT broker runs in the Internet server of the system.
This broker is responsible for receiving the data from the WSN.
In the system, the graphical user interface (GUI) is built using an Apache server.
The visualization of the data is performed at the server itself.
Further, when a sensor fails, the server informs the users.
The server can provide different system-related information to the smartphone of the
registered user.
Architecture
(iii) Application layer: The farmer can access the status of the pump, whether it is in
switch on/off, and the value of different soil parameters from his/her cell phone.
This information is accessible with the help of the integrated GSM facility of the
farmers’ cell phone.
Deployment
The system has been deployed and experimented in two agricultural fields: (i) an
agricultural field at the Indian Institute of Technology Kharagpur (IIT Kharagpur),
India, and (ii) Benapur, a village near IIT Kharagpur, India.
Both the agricultural fields were divided into 10 equal sub-fields of 3x3m 2. In order to
examine the performance, the system was deployed at over 4 sub-fields.
Each of these sub-fields consists of a solenoid valve, a water level sensor, and a soil
moisture sensor, along with a processing board.
On the other hand, the remaining six sub-fields were irrigated through a manual
conventional irrigation process.
The comparison analysis between these six and four fields summarily reports that the
designed system’s performance is superior to the conventional manual process of
irrigation.
Assignment Questions
1. List the type of sensors which can be used for agricultural IoT.
2. Explain two use cases where drones can be used for agricultural IoT.
3. Design a scenario where we can use fog computing in agriculture.
4. How can agricultural IoT help in the efficient distribution of water in agricultural
fields?
5. What are the roles of the various IoT components in an agri-chain?
6. What are the advantages of agricultural IoT?
7. List a few communication modules used for agricultural IoT?
8. Design a case study to develop an IoT-based agricultural planter. In the case study,
you should include the requirement analysis of different components and justify their
usability in the planter.
9. What is the importance of satellites in agricultural IoT?