Unit-I: Introduction to IoT
IoT Definition
The Internet is a vast global network of connected servers, computers, tablets and mobiles that is
governed by standard protocols for connected systems. It enables sending, receiving, or communication
of information, connectivity with remote servers, cloud and analytics platforms.
Internet of Things means a network of physical things (objects) sending, receiving, or communicating
information using the Internet or other communication technologies and network just as the computers,
tablets and mobiles do, and thus enabling the monitoring, coordinating or controlling process across the
Internet or another data network.
IoT Characteristics
1. Connectivity:
Connectivity is an important requirement of the IoT infrastructure.
Things of IoT should be connected to the IoT infrastructure. Anyone, anywhere,
anytime can connect, this should be guaranteed at all times. For example, the
connection between people through Internet devices like mobile phones, and other
gadgets, also a connection between Internet devices such as routers, gateways, sensors,
etc.
2. Intelligence and Identity:
The extraction of knowledge from the generated data is very important.
For example, a sensor generates data, but that data will only be useful if it is interpreted
properly. Each IoT device has a unique identity. This identification is helpful in
tracking the equipment and at times for querying its status.
3. Scalability:
The number of elements connected to the IoT zone is increasing day
by day. Hence, an IoT setup should be capable of handling the massive expansion. The
data generated as an outcome is enormous, and it should be handled appropriately.
4. Dynamic and Self-Adapting (Complexity):
IoT devices should dynamically adapt themselves to changing
contexts and scenarios. Assume a camera meant for surveillance. It should be adaptable
to work in different conditions and different light situations (morning, afternoon, and
night).
5. Architecture:
IoT Architecture cannot be homogeneous in nature. It should be hybrid,
supporting different manufacturers ‘ products to function in the IoT network. IoT is not
owned by anyone engineering branch. IoT is a reality when multiple domains come
together.
6. Safety:
There is a danger of the sensitive personal details of the users getting
compromised when all his/her devices are connected to the internet. This can cause a
loss to the user. Hence, data security is the major challenge. Besides, the equipment
involved is huge. IoT networks may also be at risk. Therefore, equipment safety is also
critical.
7. Self Configuring:
This is one of the most important characteristics of IoT. IoT devices are
able to upgrade their software in accordance with requirements with a minimum of user
participation. Additionally, they can set up the network, allowing for the addition of
new devices to an already-existing network.
8. Interoperability:
IoT devices use standardized protocols and technologies to ensure they
can communicate with each other and other systems. Interoperability is one of the key
characteristics of the Internet of Things (IoT). It refers to the ability of different IoT
devices and systems to communicate and exchange data with each other, regardless of
the underlying technology or manufacturer.
IoT Applications
Key Components of IoT System
Things/Device
Internet of things (IoT) devices are nonstandard computing
hardware -- such as sensors, actuators or appliances -- that connect wirelessly to a
network and can transmit data. IoT extends internet connectivity beyond typical
computing devices -- such as desktops, laptops, smart phones and tablets -- to any
range of traditionally dumb or non-internet-enabled physical devices and everyday
objects. Embedded with technology, these devices can communicate and interact
over the internet, and can be remotely monitored and controlled.
IoT devices have both industrial and consumer uses and are typically integrated
into other tools such as mobile devices, industrial equipment and medical devices.
Over a broad range, they can also be used in smart cities. They're then used to send
data or interact with other IoT devices over a network.
IoT and IoT devices aid in making daily activities faster, easier or
more convenient for consumers while also providing real-time data for industrial or
enterprise use cases.
Gateway
It is a network node used in telecommunications that connects two
networks with different transmission protocols together. Gateways serve as an
entry and exit point for a network as all data must pass through or communicate
with the gateway prior to being routed. In most IP-based networks, the only traffic
that does not go through at least one gateway is traffic flowing among nodes on the
same local area network (LAN) segment. The term default gateway or network
gateway may also be used to describe the same concept.
Cloud server
A simple cloud server definition is cloud servers are virtual (not
physical) servers running in a cloud computing environment that can be accessed
on demand by unlimited users. Cloud servers work just like physical servers and
they perform similar functions like storing data and running applications. Because
cloud services are hosted by third-party providers, they deliver computing
resources over a network, most often through the internet.
Cloud servers are created by using virtualization software (known as
a hypervisor) to divide physical servers into multiple virtual servers. A hypervisor
abstracts the server's processing power and pools them together, creating virtual
servers.
Analytics
Analytics is the systematic computational analysis of data or statistics.
[1]
It is used for the discovery, interpretation, and communication of meaningful
patterns in data. It also entails applying data patterns toward effective decision-
making. It can be valuable in areas rich with recorded information; analytics relies
on the simultaneous application of statistics, computer programming,
and operations research to quantify performance.
User Interface
A user interface (UI) is the space where interactions between humans and machines occur. The
goal of this interaction is to allow effective operation and control of the machine from the human end, while
the machine simultaneously feeds back information that aids the operators' decision-making process.
Examples of this broad concept of user interfaces include the interactive aspects of computer operating
systems, hand tools, heavy machinery operator controls and process controls. The design considerations
applicable when creating user interfaces are related to, or involve such disciplines
as, ergonomics and psychology.
Architecture of IoT
IOT technology has a wide variety of applications and use of Internet of Things
is growing so faster. Depending upon different application areas of Internet of Things, it works
accordingly as per it has been designed/developed. But it has not a standard defined architecture of
working which is strictly followed universally. The architecture of IoT depends upon its functionality
and implementation in different sectors. Still, there is a basic process flow based on which IoT is
built. So. here in this article we will discuss basic fundamental architecture of IoT i.e., 4 Stage IoT
architecture.
1. Sensing Layer –
The sensing layer is the first layer of the IoT 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. These devices are connected to the network layer through wired or
wireless communication protocols.
2. 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. 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.
3. 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.
4. 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.
IoT Challenges
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.
2. Insufficient testing and updating –
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.
3. Brute forcing and the risk of default passwords –
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.
4. IoT Malware and ransomware –
Increases with increase in devices.
Ransomware uses encryption to effectively lock out users from various devices and
platforms and still use a user’s valuable data and info.
Example –
A hacker can hijack a computer camera and take pictures.
By using malware access points, the hackers can demand ransom to unlock the
device and return the data.
5. IoT botnet aiming at cryptocurrency –
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.
Design Challenges
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:
Interoperability:
Interoperability refers to the ability of different systems, devices, or
components to work together seamlessly and exchange data effectively. In the
context of the Internet of Things (IoT), interoperability is a critical challenge, as a
large number of diverse devices are being connected to the internet. The lack of
standardization in the IoT can lead to difficulties in communication and data
exchange between devices, resulting in an fragmented and inefficient system. To
overcome this challenge, organizations and industry groups are working to establish
standards and protocols to ensure interoperability between IoT devices. This
includes the development of common communication protocols, data formats, and
security standards. Interoperability is important for enabling the full potential of the
IoT and allowing connected devices to work together effectively and efficiently.
Ensuring that different IoT devices can work together seamlessly and exchange data
effectively.
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.
Scalability:
Scalability refers to the ability of a system to handle increasing workloads
or numbers of users without a significant decline in performance. In the context of
the Internet of Things (IoT), scalability is a major challenge as the number of
connected devices is rapidly growing, leading to an increased volume of data and
communication. 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:
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.
3. Power management: Implementing effective power management techniques, such as
sleep modes, to reduce the power consumption of IoT devices when they are not in
use.
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.
Arduino
Arduino The Arduino platform was created back in 2005 by the Arduino company
and allows for open source prototyping and flexible software development and back-end
deployment while providing significant ease of use to developers, even those with very little
experience building IoT solutions. Arduino is sensible to literally every environment by
receiving source data from different external sensors and is capable to interact with other control
elements over various devices, engines and drives.
Arduino has a built-in micro controller that operates on the Arduino software.
Projects based on this platform can be both standalone and collaborative, i.e. realized with use of
external tools and plugins. The integrated development environment (IDE) is composed of the
open source code and works equally good with Мac, Linux and Windows OS. Based on a
processing programming language, the Arduino platform seems to be created for new users and
for experiments. The processing language is dedicated to visualizing and building interactive
apps using animation and Java Virtual Machine (JVM) platform. Let's note that this
programming language was developed for the purpose of learning basic computer programming
in a visual context.
It is an absolutely free project available to every interested person. Normally, all
the apps are programmed in C/C++, and are wrapped with avr-gcc (WinAVR in OS Windows).
Arduino offers analogue-to-digital input with a possibility of connecting light, temperature or
sound sensor modules. Such sensors as SPI or I2C may also be used to cover up to 99% of these
apps’ market. Arduino is a microcontroller (generally it is the 8-bit ATmega microcontroller),
but not a mini-computer, which makes Arduino somehow limited in its features for advanced
users. Arduino provides an excellent interactivity with external devices and offers a wide range
of user manuals, project samples as well as a large community of users to learn from / share
knowledge with.