IoT Exam
IoT Exam
• Dynamic & Self-Adapting: IoT devices and systems may have the capability to dynamically adapt with the
changing contexts and take actions based on their operating conditions, user’s context, or sensed
environment.
• Self-Configuring: IoT devices may have self-configuring capability, allowing a large number of devices to
work together to provide certain functionality (such as weather monitoring).
• Interoperable Communication Protocols: IoT devices may support a number of interoperable
communication protocols and can communicate with other devices and also with the infrastructure.
• Unique Identity: Each IoT device has a unique identity and a unique identifier.
• Integrated into Information Network: IoT devices are usually integrated into the information network that
allows them to communicate and exchange data with other devices and systems. IoT devices can be
dynamically discovered in the network by other devices and/or the network, and have the capability to
describe themselves (and their characteristics) to other devices or user applications.
• Device: An IoT system comprises of devices that provide sensing, actuation, monitoring, and control
functions.
• Communication: The communication block handles the communication for the IoT system.
• Services: An IoT system uses various types of IoT services such as services for device monitoring, device
control services, data publishing services, and services for device discovery.
• Management: Management functional block provides various functions to govern the IoT system.
• Security: Security functional block secures the IoT system by providing functions such as authentication,
authorization, message and content integrity, and data security.
• Application: IoT applications provide an interface that the users can use to control and monitor various
aspects of the IoT system. Applications also allow users to view the system status and view or analyze the
processed data.
3. IoT Levels & Deployment Templates
An IoT system comprises of the following components:
• Device: An IoT device allows identification, remote sensing, actuating, and remote monitoring capabilities.
• Resource: Resources are software components on the IoT device for accessing, processing, and storing
sensor information or controlling actuators connected to the device.
• Controller Service: Controller service sends data from the device to the web service and receives
commands from the application (via web services) for controlling the device.
• Database: Database can be either local or in the cloud and stores the data generated by the IoT device.
• Web Service: Web services serve as a link between the IoT device, application, database, and analysis
components. Web service can be either implemented using HTTP and REST principles (REST service) or
using WebSocket protocol (WebSocket service).
❖ Stateless/Stateful: REST services are stateless in nature. Each request contains all the
information needed to process it.
❖ Uni-directional/Bi-directional: REST services operate over HTTP and are uni-directional. A
request is always sent by a client, and the server responds to the request.
❖ Request-Response/Full Duplex: WebSocket allows full-duplex communication between the
client and server, i.e., both client and server can send messages to each other independently.
❖ TCP Connections: WebSocket involves a single TCP connection over which the client and server
communicate in a full-duplex manner.
❖ Header Overhead: WebSocket does not involve the overhead of headers. After the initial
handshake, the client and server exchange messages with minimal overhead. Thus, WebSocket is
suitable for real-time applications.
❖ Scalability: Scalability is easier in the case of REST services as requests are independent, and no
state information needs to be maintained by the server.
• Analysis Component: The Analysis Component is responsible for analyzing the IoT data and generating
results in a form that is easy to understand.
• Application: IoT applications provide an interface that users can use to control and monitor various
aspects of the IoT system.
❖ Communication Protocols: M2M and IoT can differ in how the communication between the machines or
devices happens. M2M uses either proprietary or non-IP based communication protocols for
communication within the M2M area networks. Commonly used M2M protocols include ZigBee, Bluetooth
and etc.,. The focus of communication in IoT is usually on the protocols above the network layer such as
HTTP,WebSockets and etc.,
❖ Machines in M2M vs Things in IoT: The "Things" in IoT refers to physical objects that have unique
identifiers and can sense and communicate with their external environment or their internal physical
states. The unique identifiers for the things in IoT are the IP addresses (or MAC). Things have software
components for accessing, processing, and storing sensor information or controlling actuators connected.
IoT systems can have heterogeneous things. M2M systems typically have homogeneous machine types
within an M2M area network.
❖ Hardware vs Software Emphasis: While the emphasis of M2M is more on hardware with embedded
modules, the emphasis of IoT is more on software. IoT devices run specialized software for sensor data
collection, data analysis and interfacing with the cloud through IP-based communication.
❖ Data Collection & Analysis: M2M data is collected in point solutions and often in on-premises storage
infrastructure. The data in IoT is collected in the cloud. The analytics component analyzes the data and
stores the results in the cloud database. The IoT data and analysis results are visualized via the cloud-
based applications.
❖ Applications: M2M data is collected in point solutions and can be accessed by on-premises applications
such as diagnosis applications, service management applications, and on-premises enterprise
applications.IoT data is collected in the cloud and can be accessed by cloud applications such as analytics
enterprise applications, remote diagnosis and management applications, etc.,.
• Centralized Network Controller: With decoupled control and data planes and a centralized network
controller, the network administrators can rapidly configure the network. SDN applications can be
deployed through programmable open APIs. This speeds up innovation as the network administrators no
longer need to wait for the device vendors to embed new features in their proprietary hardware.
• Programmable Open APIs: SDN architecture supports programmable open APIs for interface between
the SDN application and control layers (Northbound interface). With these open APIs, various network
services can be implemented, such as routing, quality of service, access control, etc.,.
• Standard Communication Interface (OpenFlow): OpenFlow uses the concept of flows to identify
network traffic based on pre-defined match rules. Flows can be programmed statically or dynamically by
the SDN control software.
Network Function Virtualization is a technology that leverages virtualization to consolidate the heterogeneous
network devices onto industry standard high volume servers, switches and storage. Network functions can be
virtualized without SDN, similarly, SDN can run without NFV. Key elements of the NFV architecture are as follows:
• Virtualized Network Function (VNF): VNF is a software implementation of a network function which is
capable of running over the NFV Infrastructure (NFVI).
• NFV Infrastructure (NFVI): NFVI includes compute, network, and storage resources that are virtualized.
• NFV Management and Orchestration: NFV Management and Orchestration focuses on all virtualization-
specific management tasks and covers the orchestration and life-cycle management of physical and/or
software resources that support the infrastructure virtualization, and the life-cycle management of VNFs.
6. Virtualized Network Function (VNF):
A Virtualized Network Function (VNF) is a software implementation of a network function which is capable of
running over the NFV Infrastructure (NFVI). VNFs replace traditional network devices like firewalls, load
balancers, routers, and intrusion detection systems by operating as virtual instances on cloud or data center
servers. They are a key component of Network Functions Virtualization (NFV), enabling scalability, flexibility,
and cost efficiency in modern networks. VNFs help telecom providers and enterprises reduce hardware
dependency, improve network agility, and deploy services faster.
• Physical Entity: A Physical Entity is a discrete and identifiable entity in the physical environment.
• Virtual Entity: A Virtual Entity is a representation of the Physical Entity in the digital world.
• Device: A Device provides a medium for interactions between Physical Entities and Virtual Entities.
• Resource: Resources are software components which can be either "on-device" or "network-resources”.
• Service: Services provide an interface for interacting with the Physical Entity.
• MISO (Master In Slave Out): Master line for sending data to the peripherals.
• MOSI (Master Out Slave In): Slave line for sending data to the master.
• SCK (Serial Clock): Clock generated by master to synchronize data transmission.
• CE0 (Chip Enable 0): To enable or disable devices.
• CE1 (Chip Enable 1): To enable or disable devices.
I2C: The I2C interface pins on Raspberry Pi allow you to connect hardware modules. I2C interface allows
synchronous data transfer with just two pins - SDA (data line) and SCL (clock line).