EIOT - UNIT IV - 2024 New
EIOT - UNIT IV - 2024 New
EIOT - UNIT IV - 2024 New
Internet – of – Things – Physical Design, Logical Design – IoT Enabling Technologies – Domain Specific IoTs
– IoT and M2M – IoT System Management with NETCONF – YANG – IoT Platform Design – Methodology
– IoT Reference Model – Domain Model – Communication Model – IoT Reference Architecture – IoT Protocols
- MQTT, XMPP, Modbus, CANBUS and BACNet.
1. Define IoT.
A dynamic global network infrastructure with self – configuring based on standard and interoperable
communication protocols where physical and virtual “things” have identified, physical attributes, and virtual
personalities and use intelligent interfaces, often communicate data associated with users and their environment
1
4. What are the four layers of IOT protocol?
Four Layer of IoT Protocol
1. Link Layer
2. Network Layer
3. Transport Layer
4. Application Layer
9. What is MQTT?
Message Queue Telemetry Transport is a lightweight message protocol based on public-subscribe model
MQTT uses a client server Architecture by the clients such as an IoT device connect to the server also called
2
the MQTT broker and publishers message to topic on the server. The broker forward the message to the clients
subscribed to topic MQTT is well suited for constrained and environments.
4
It is used in different markets like Industrial,
Energy Management, Transportation, Building It is used in different markets like Lighting, Life Safety,
Automation, Regulatory, health & security. Access Controls, HVAC, transportation & maintenance.
5
PART – B
802.15.4 LR-WPAN:
IEEE 802.1 5.4 is a collections of standard for low rate wireless personal area network(LR-WPAN).These
standard form the basis of specifications for high level communication Zigbee. LR-WPAN standards provide
data rates from 40 kb/s. These standards provide low cost and low speed Communications for power constrained
devices.
2G / 3G / 4G mobile communications:
These are the different generations of mobile communication standards including second generation (2G
including GSM and CDMA). 3rd Generation (3G including UMTS and CDMA2000) and 4th generation 4G
including LTE.
2. Network / Internet layer:
The network layer is responsible for sending of IP datagrams from the source network to the destination
network. This layer Performs the host addressing and packet routing. The datagrams contain a source and
destination address which are used to route them from the source to the destination across multiple networks.
Host Identification is done using the hierarchy IP addressing schemes such as ipv4 or IPv6.
7
IPV4:
Used to identify the devices on a network using hierarchical addressing scheme
Uses 32-bit address scheme that allows total of 232 addresses.
As more and more devices got connected to the internet. The Ipv4 has succeeded by IPv6.
IPv6:
It is the newest versions of internet protocol and successor to IPv4. IPv6 uses 128-bit address schemes that are
lost total of 2 128 are 3.4* 10 38 address.
6LoWPAN:
IPv6 over low power wireless personal area networks brings IP protocol to the low power device which have
limited processing capability it operates in the 2.4 GHz frequency range and provide the data transfer rate off
to 50 kb/s.
Transport layer:
The Transport layer protocols provide end-to-end message transfer capability independent of the underlying
network. The message transfer capability can be set up on connections, either using handshake or without
handshake acknowledgements. Provides functions such as error control, segmentation, flow control and
congestion control.
TCP:
Transmission control protocol is the most widely used by the web browsers along with HTTP, HTTPS
application layer protocols email program (SMTP application layer protocol) and file transfer protocol. TCP
is a connection Oriented protocol while IP protocol deals with sending packets,
TCP ensures reliable transmissions of packets in order.
TCP also provide error deduction capability so that duplicate packets can be discarded and low packets are
retransmitted.
The flow control capability.
UDP:
UDP is a connection less protocol.
UDP is useful for time sensitive application they have very small data units to exchange and do not want the
overhead of connection setup.
UDP is a transactions oriented and stateless protocol.
UDP does not provide guaranteed delivery, ordering of messages and duplicate eliminations.
Application layer:
Application layer protocol define how the application interfaces with the lower layer protocols to send the
data over the network.
Data are in files, is encoded by the application layer protocol and encapsulated in the transport layer
protocol.
Application layer protocol enable process-to-process connection using ports.
Http:
Hypertext transfer protocol is the application layer protocol that forms the foundations of world wide web http
includes, commands such as GET, PUT, POST, DELETE, HEAD, TRACE, OPTIONS etc.
CoAP:
Constrained application protocol is an application layer protocol for machine to machine application M2M
meant for constrained environment with constrained devices and constrained networks.
It is designed to easily interface with http like http, CoAP supports method such as GET, PUT, DELETE.
Websocket:
Web socket protocol allows full duplex communication over a single socket connection for sending message
between client and server. Web socket is based on TCP and Allows streams of messages to be sent back and
forth betweenthe client and server while keeping the TCP connection open. The client can be a browser, a
mobile application and IoT device
MQTT: (Message Queue Telemetry Transport)
It is a lightweight message protocol based on public-subscribe model MQTT uses a client server Architecture
by the clients such as an IoT device connect to the server also called the MQTT broker and publishers message
to topic on the server. The broker forward the message to the clients subscribed to topic MQTT is well suited
for constrained and environments.
8
XMPP: (Extensible Messaging and Presence Protocol)
It is a protocol for real-time communication and streaming XML data between network entities XMPP powers
wide range of applications including messaging, presence, data syndication, gaming multiparty chat and voice
/ voice calls. XMPP Allows sending small chunks of XML data from one network entity to another in real
time. XMPP supports both client to server and server –client communication path.
AMQP:(Advanced Message Queuing protocols)
It is an open application layer protocol for business messaging. AMQP support point to point and publish-
subscribe model routing and queuing. AMQP broker receive message from publishers.
9
Fig 4.4- Request Response Communication model
10
Fig 4.6- Push pull communication model
11
Fig 4.8- Communication with Rest APIs
Uniform interface:
Uniform interface constraints requires that the method of communication between client and server must be
uniform. Resources are identified in the request and separate from the representation of the resource that are
returned to the client. When climbing holds a representation of your resource it has all the information required
to update or delete the resource.
Code on demand:
Service can provide executable code script for clients to execute in theircontext.
12
Difference between REST and WebSocket-based Communication APIs:
14
4) Communications protocol:
Communications protocols form the backbone of IoT system and enable network connectivity and coupling to
applications. Communications protocols allow device to exchange data over the network. These protocols
define the data exchange formats and data encoding schemes for devices and routing of packets from source to
destination. Otherfunction of the protocol includes sequence control flow control and transmissions of Lost
packet.
5) Embedded systems:
An Embedded system is computer system that has computer hardware and software embedded perform specific
task. In contrast to general purpose computers or personal computers which can perform various types of tasks,
embedded systems are designed to perform a specific set of tasks. Embedded system include Microprocessor
and Microcontroller memory Ram ROM cache networking units (Ethernet WI-FI adaptor) input/output unit
display keyboard, display and storage such as Flash Memory some embedded system have specialist processes
such as digital signal processor DSP graphic processor and application.
(3) Environment:
(a) Weather Monitoring: Systems collect data from a no. of sensors attached and send the data to cloud based
applications and storage back ends. The data collected in cloud can then be analyzed and visualized by cloud
based applications.
(b) Air Pollution Monitoring: System can monitor emission of harmful gases (CO2, CO, NO, NO2 etc.,) by
factories and automobiles using gaseous and meteorological sensors. The collected data can be analyzed to
make informed decisions on pollutions control approaches.
(c) Noise Pollution Monitoring: Due to growing urban development, noise levels in cities have increased and
even become alarmingly high in some cities. IoT based noise pollution monitoring systems use a no. of noise
monitoring systems that are deployed at different places in a city. The data on noise levels from the station is
collected on servers or in the cloud. The collected data is then aggregated to generate noise maps.
15
(d) Forest Fire Detection: Forest fire can cause damage to natural resources, property and human life. Early
detection of forest fire can help in minimizing damage.
(e) River Flood Detection: River floods can cause damage to natural and human resources and human life. Early
warnings of floods can be given by monitoring the water level and flow rate. IoT based river flood monitoring
system uses a no. of sensor nodes that monitor the water level and flow rate sensors.
(4) Energy:
(a) Smart Grids: is a data communication network integrated with the electrical grids that collects and analyze
data captured in near-real-time about power transmission, distribution and consumption. Smart grid technology
provides predictive information and recommendations to utilities, their suppliers, and their customers on how
best to manage power. By using IoT based sensing and measurement technologies, the health of equipment
and integrity of the grid can be evaluated.
(b) Renewable Energy Systems: IoT based systems integrated with the transformers at the point of
interconnection measure the electrical variables and how much power is fed into the grid. For wind energy
systems, closed-loop controls can be used to regulate the voltage at point of interconnection which coordinate
wind turbine outputs and provides power support.
(c) Prognostics: In systems such as power grids, real-time information is collected using specialized electrical
sensors called Phasor Measurement Units (PMUs) at the substations. The information received from PMUs
must be monitored in real-time for estimating the state of the system and for predicting failures.
(5) Retail:
(a) Inventory Management: IoT systems enable remote monitoring of inventory using data collected by RFID
readers.
(b) Smart Payments: Solutions such as contact-less payments powered by technologies such as Near Field
Communication (NFC) and Bluetooth.
(c) Smart Vending Machines: Sensors in smart vending machines monitors its operations and send the data to
cloud which can be used for predictive maintenance.
(6) Logistics:
(a) Route generation & scheduling: IoT based system backed by cloud can provide first response to the route
generation queries and can be scaled up to serve a large transportation network.
(b) Fleet Tracking: Use GPS to track locations of vehicles in real-time.
(c) Shipment Monitoring: IoT based shipment monitoring systems use sensors such as temp, humidity, to
monitor the conditions and send data to cloud, where it can be analyzed to detect food spoilage.
(d) Remote Vehicle Diagnostics: Systems use on-board IoT devices for collecting data on Vehicle operations
(speed, RPM etc.,) and status of various vehicle subsystems.
(7) Agriculture:
(a) Smart Irrigation: to determine moisture amount in soil.
(b) Green House Control: to improve productivity.
(8) Industry:
(a)Machine diagnosis and prognosis.
(b) Indoor Air Quality Monitoring.
(9) Health and Life Style:
(a) Health & Fitness Monitoring.
(b) Wearable Electro.
4. Explain in detail about IoT and M2M and give the difference between Iota and M2M.
Machine-to-Machine (M2M) refers to networking of machines (or devices) for the purpose of remote
monitoring and control and data exchange.
Term which is often synonymous with IoT is Machine-to-Machine (M2M).
IoT and M2M are often used interchangeably.
An M2M area network comprises of machines which have embedded network modules for sensing, actuation
and communicating various communication protocols can be used for M2M LAN such as ZigBee, Bluetooth,
16
M-bus, Wireless M-Bus etc., These protocols provide connectivity between M2M nodes within an M2M area
network.
Fig.4.13 shows the end-to-end architecture of M2M systems comprises of M2M area networks,
communication networks and application domain.
The communication between M2M nodes and the M2M gateway is based on the communication protocols
which are naive to the M2M are network. M2M gateway performs protocol translations to enable Ip-
connectivity for M2M are networks. M2M gateway acts as a proxy performing translations from/to native
protocols to/from Internet Protocol (IP). With an M2M gateway, each mode in an M2M area network appears
as a virtualized node for external M2M area networks.
17
Differences between IoT and M2M:
1) Communication Protocols:
Commonly uses M2M protocols include ZigBee, Bluetooth, Mod Bus, M-Bus, Wireless M-Bus etc.,
In IoT uses HTTP, CoAP, Web Socket
NETCONF:
Network Configuration Protocol (NETCONF) is a session-based network management protocol. NETCONF
allows retrieving state or configuration data and manipulating configuration data on network devices as shown
in fig.4.15.
NETCONF works on SSH transport protocol.
Transport layer provides end-to-end connectivity and ensure reliable delivery of messages.
NETCONF uses XML-encoded Remote Procedure Calls (RPCs) for framing request and response messages.
The RPC layer provides mechanism for encoding of RPC calls and notifications.
NETCONF provides various operations to retrieve and edit configuration data from network devices.
The Content Layer consists of configuration and state data which is XML-encoded.
The schema of the configuration and state data is defined in a data modeling language called YANG.
ETCONF provides a clear separation of the configuration and state data.
18
The configuration data resides within a NETCONF configuration data store on the server.
YANG:
YANG is a data modeling language used to model configuration and state data manipulated by the NETCONF
protocol
YANG modules contain the definitions of the configuration data, state data, RPC calls that can be issued and
the format of the notifications.
YANG modules defines the data exchanged between the NETCONF client and server.
A module comprises of a number of 'leaf' nodes which are organized into a hierarchical tree structure.
The 'leaf' nodes are specified using the 'leaf' or 'leaf-list' constructs.
Leaf nodes are organized using 'container' or 'list' constructs.
A YANG module can import definitions from other modules.
Constraints can be defined on the data nodes, e.g. allowed values.
YANG can model both configuration data and state data using the 'config' statement.
IoT Systems Management with NETCONF-YANG:
The generic approach of IoT device management with NETCONF-YANG as shown in fig.4.16.
Roles of various components are:
1) Management System
(2) Management API
(3) Transaction Manager
(4) Rollback Manager
(5) Data Model Manager
(6) Configuration Validator
(7) Configuration Database
(8) Configuration API
(9) Data Provider API
19
Fig.4.16- IoT device Management with NETCONF-YANG a generic approach
(1)Management System: The operator uses a management system to send NETCONF messages to configure
the IoT device and receives state information and notifications from the device as NETCONF messages.
2) Management API: allows management application to start NETCONF sessions.
3) Transaction Manager: executes all the NETCONF transactions and ensures that ACID properties hold
true for the transactions.
4) Rollback Manager: is responsible for generating all the transactions necessary to rollback a current
configuration to its original state.
5) Data Model Manager: Keeps track of all the YANG data models and the corresponding managed objects.
Also keeps track of the applications which provide data for each part of a data model.
6) Configuration Validator: checks if the resulting configuration after applying a transaction would be a valid
configuration.
7) Configuration Database: contains both configuration and operational data.
8) Configuration API: Using the configuration API the application on the IoT device can be read configuration
data from the configuration data store and write operational data to the operational data store.
9) Data Provider API: Applications on the IoT device can register for callbacks for various events using the
Data Provider API. Through the Data Provider API, the applications can report statistics and operational data.
20
configuration data, get operational data or execute an RPC on the IoT device.
6. Explain in detail about MQTT and XMPP Protocol.
MQTT
MQTT stands for Message Queuing Telemetry Transport. MQTT is a machine to machine internet of things
connectivity protocol. It is an extremely lightweight and publish-subscribe messaging transport protocol. This
protocol is useful for the connection with the remote location where the bandwidth is a premium.
Characteristics of MQTT
Some of the features of an MQTT are given below:
It is a machine to machine protocol, i.e., it provides communication between the devices.
It is designed as a simple and lightweight messaging protocol that uses a publish/subscribe system to
exchange the information between the client and the server.
It does not require that both the client and the server establish a connection at the same time.
It provides faster data transmission, like how WhatsApp/messenger provides a faster delivery. It's a real-
time messaging protocol.
It allows the clients to subscribe to the narrow selection of topics so that they can receive the information
they are looking for.
The selection of a client/server and publish/subscribe framework based on the TCP/IP architecture, as shown in
fig.4.17.
An MQTT client can act as a publisher to send data to an MQTT server acting as an MQTT message broker.
In the example illustrated in Figure 4.17, the MQTT client on the left side is a temperature (Temp) and
relative humidity (RH) sensor that publishes its Temp/RH data. The MQTT server (or message broker)
accepts the network connection along with application messages, such as Temp/RH data, from the
publishers.
It also handles the subscription and unsubscription process and pushes the application data to MQTT clients
acting as subscribers. The application on the right side of Figure 2.22 is an MQTT client that is a subscriber
to the Temp/RH data being generated by the publisher or sensor on the left. This model, where subscribers
express a desire to receive information from publishers, is well known.
In addition, the presence of a message broker in MQTT decouples the data transmission between clients
acting as publishers and subscribers. In fact, publishers and subscribers do not even know (or need to know)
about each other.
A benefit of having this decoupling is that the MQTT message broker ensures that information can be
buffered and cached in case of network failures.
MQTT is a lightweight protocol because each control packet consists of a 2-byte fixed header with optional
variable header fields and optional payload. A control packet can contain a payload up to 256 MB. Figure
21
4.18 provides an overview of the MQTT message format.
The first MQTT field in the header is Message Type, which identifies the kind of MQTT packet within a
message.
The next field in the MQTT header is DUP (Duplication Flag). This flag, allows the client to notate that the
packet has been sent previously, but an acknowledgement was not received.
The QoS header field allows for the selection of three different QoS levels.
The next field is the Retain flag. Only found in a PUBLISH message, the Retain flag notifies the server to
hold onto the message data. This allows new subscribers to instantly receive the last known value without
having to wait for the next update from the publisher.
The last mandatory field in the MQTT message header is Remaining Length. This field specifies the number
of bytes in the MQTT packet following this field.
XMPP
Extensible Messaging and Presence Protocol (XMPP) is a messaging protocol that was designed originally for
chatting and message exchange applications. It is well known and has proven to be highly efficient over the
internet. Recently, it has been reused for IoT applications as well as a protocol for SDN. This reusing of the
same standard is due to its use of XML which makes it easily extensible. XMPP supports both publish/ subscribe
and request/ response architecture and it is up to the application developer to choose which architecture to use.
It is designed for near real-time applications and, thus, efficiently supports low-latency small messages. It does
not provide any quality of service guarantees and, hence, is not practical for M2M communications. Moreover,
XML messages create additional overhead due to lots of headers and tag formats which increase the power
consumption that is critical for IoT application. Hence, XMPP is rarely used in IoT but has gained some interest
for enhancing its architecture in order to support IoT applications.
22
Types of Modbus Communication Protocol
a) Modbus serial protocol: It is a master/slave protocol, e.g. one master that controls the Modbus data
transactions with multiple slaves that respond to the master’s requests to read from or write data to the slaves.
Network architectures are shown Fig.4.19.
In a standard Modbus serial network, there is only one master and as many as 247 slaves, each with a unique
slave address. And there are two types of serial Modbus, Modbus RTU and ASCII.
There are just two basic transmission ways found in RTU, ASCII and MODBUS connections. These
transmission modes determine the way in which the MODBUS messages are coded. In ASCII format, the
messages are readable, whereas in RTU the messages are in binary coding and cannot be read while monitoring.
The tradeoff is the RTU messages are smaller-size, which allows for more data exchange in an identical time
period. One must be aware that all nodes within one MODBUS network should be of exactly the same
transmission style, meaning MODBUS ASCII cannot communicate with MODBUS RTU and vice versa.
b) Modbus TCP:
23
Fig.4.20 - Modbus TCP Architecture
Addressing and messaging
Modbus memory addressing is generally organized around 16-bit registers that contain 16 coils or on/off (0/1)
states or integer values in 16-bit registers. While some devices will use their own Modbus addressing, typical
Modbus addressing can be seen in fig.4.21.
The Modbus TCP data transactions are essentially the same except the server address is an IP address, there is
some Ethernet overhead, and the error checksum is different. Modbus data can include starting data addresses,
24
data quantity or count, and actual data that is read or is to be written. If the Modbus slave/server has a problem
with the master/client request, the slave/server will issue an error response back to the master/client.
In the Modbus TCP/IP message format, the Modbus PDU is typically wrapped into the Ethernet package and
consists of the Modbus function code and the Modbus data request. The slave address and error code (CRC) are
typically not needed as the Modbus TCP/IP packet is routed by the network to the desired IP address (unless
there is to be a connection into a serial network), and the error check is done as part of the Ethernet packet.
8. Explain in detail about the IoT Design Methodology Steps with neat diagram.
9. Explain in detail about the IoT Reference architecture with neat diagram.
The reference architecture shown in fig.4.23 consists of a set of components. Layers can be realized by means
of specific technologies, and we will discuss options for realizing each component. There are also some
crosscutting/vertical layers such as access/identity management.
COMMUNICATIONS LAYER
The communication layer supports the connectivity of the devices. There are multiple potential protocols for
communication between the devices and the cloud. The most well-known three potential protocols are
• HTTP/HTTPS
• MQTT 3.1/3.1.1
• Constrained application protocol (CoAP)
Http:
Hypertext transfer protocol is the application layer protocol that forms the foundations of world wide web http
includes, commands such as GET, PUT, POST, DELETE, HEAD, TRACE, OPTIONS etc.
CoAP:
Constrained application protocol is an application layer protocol for machine to machine application M2M
meant for constrained environment with constrained devices and constrained networks.
It is designed to easily interface with http like http, CoAP supports method such as GET, PUT, DELETE.
MQTT: (Message Queue Telemetry Transport)
It is a lightweight message protocol based on public-subscribe model MQTT uses a client server Architecture
by the clients such as an IoT device connect to the server also called the MQTT broker and publishers message
to topic on the server. The broker forward the message to the clients subscribed to topic MQTT is well suited
for constrained and environments.
The reasons to select MQTT and not CoAP are
• Better adoption and wider library support for MQTT
• Simplified bridging into existing event collection and event processing systems and
• Simpler connectivity over firewalls and NAT networks
AGGREGATION/BUS LAYER
An important layer of the architecture is the layer that aggregates and brokers communications. This is an
important layer for three reasons:
1. The ability to support an HTTP server and/or an MQTT broker to talk to the devices
2. The ability to aggregate and combine communications from different devices and to route communications
to a specific device (possibly via a gateway)
3. The ability to bridge and transform between different protocols, e.g. to offer HTTP based APIs that are
27
mediated into an MQTT message going to the device. The aggregation/bus layer provides these capabilities as
well as adapting into legacy protocols. The bus layer may also provide some simple correlation and mapping
from different correlation models (e.g. mapping a device ID into an owner‘s ID or vice-versa). Finally, the
aggregation/bus layer needs to perform two key security roles.
DEVICE MANAGEMENT
Device management (DM) is handled by two components. A server-side system (the device manager)
communicates with devices via various protocols and provides both individual and bulk control of devices. It
also remotely manages software and applications deployed on the device. It can lock and/or wipe the device if
necessary. The device manager works in conjunction with the device management agents. There are multiple
different agents for different platforms and device types. The device manager also needs to maintain the list of
device identities and map these into owners. It must also work with the identity and access management layer
to manage access controls over devices (e.g. who else can manage the device apart from the owner, how much
28
control does the owner have vs. the administrator, etc.) There are three levels of device: non-managed, semi
managed and fully managed (NM, SM, FM). Fully managed devices are those that run a full DM agent.
A full DM agent supports:
• Managing the software on the device
• Enabling/disabling features of the device (e.g. camera, hardware, etc.)
• Management of security controls and identifiers
• Monitoring the availability of the device
• Maintaining a record of the device location if available.
• Locking or wiping the device remotely if the device is compromised, etc.
Non-managed devices can communicate with the rest of the network, but have no agent involved. These may
include 8-bit devices where the constraints are too small to support the agent. The device manager may still
maintain information on the availability and location of the device if this is available. Semi-managed devices
are those that implement some parts of the DM (e.g. feature control, but not software management).
10. Explain in detail about the IoT Reference model with neat diagram.
IoT Reference Model in an IoT system, data is generated by multiple kinds of devices, processed in different
ways, transmitted to different locations, and acted upon by applications.
The proposed IoT reference model is comprised of seven levels. Each level is defined with terminology that can
be standardized to create a globally accepted frame of reference. The IoT Reference Model does not restrict the
locality of its components.
The IoT Reference Model also allows the processing occurring at each level to range from trivial to complex,
depending on the situation. The model describes how tasks at each level should be handled to maintain
simplicity, allow high scalability, and ensure supportability. Finally, the model defines the functions required
for an IoT system to be complete.
Figure 4.24 illustrates the IoT Reference model and its levels. It is important to note that in the IoT, data flows
in both directions. In a control pattern, control information flows from the top of the model (level 7) to the
bottom (level 1). In a monitoring pattern, the flow of information is the reverse. In most systems, the flow will
be bidirectional.
30
● Different kinds of data processing might be required. For example, in-store processing will focus on different
things than across-all-stores summary processing. For these reasons, the data abstraction level must process
many different things. These include:
● Reconciling multiple data formats from different sources
● Assuring consistent semantics of data across sources
● Confirming that data is complete to the higher-level application 31
● Consolidating data into one place (with ETL, ELT, or data replication) or providing access to multiple data
stores through data virtualization
● protecting data with appropriate authentication and authorization
● Normalizing or denormalizing and indexing data to provide fast application access Level.
Application Level 6
It is the application level, where information interpretation occurs. Software at this level interacts with Level 5
and data at rest, so it does not have to operate at network speeds. The IoT Reference Model does not strictly
define an application. Applications vary based on vertical markets, the nature of device data, and business needs.
For example, some applications will focus on monitoring device data. Some will focus on controlling devices.
Some will combine device and non-device data. Monitoring and control applications represent many different
application models, programming patterns, and software stacks, leading to discussions of operating systems,
mobility, application servers, hypervisors, multi- threading, multi-tenancy, etc.
Level 7: Collaboration and Processes
One of the main distinctions between the Internet of Things (IoT) and IoT is that IoT includes people and
processes. This difference becomes particularly clear at Level 7: Collaboration and Processes. The IoT system,
and the information it creates, is of little value unless it yields action, which often requires people and processes.
Applications execute business logic to empower people. People use applications and associated data for their
specific needs. Often, multiple people use the same application for a range of different purposes. So, the
objective is not the application—it is to empower people to do their work better. Applications (Level 6) give
business people the right data, at the right time, so they can do the right thing. But frequently, the action needed
requires more than one person. People must be able to communicate and collaborate, sometimes using the
traditional Internet, to make the IoT useful. Communication and collaboration often require multiple steps. And
it usually transcends multiple applications. This is why Level 7, represents a higher level than a single.
11. Explain in detail about the CAN bus with message fields diagram.
Control Area Network (CAN) bus is a serial communication protocol that allows devices to exchange data in a
reliable and efficient way. It is widely used in vehicles, working like a nervous system to connect ECUs in the
vehicle. CAN bus was originally designed for automotive applications. It is a multi-master, multi-slave, half-
duplex, and fault-tolerant protocol that fits well with the requirements of automotive applications. It is simple,
low-cost, and reliable.
In a CAN network, all nodes are connected via twisted-pair wiring or optical fiber cables. Each node has its
own microcontroller responsible for processing incoming messages and sending outgoing ones. Data is
broadcasted by a node on the shared bus, allowing all other nodes to receive it. The primary stages of the
communication process are:
1. Arbitration: To prevent collisions when multiple nodes attempt to transmit simultaneously, CAN uses an
arbitration process based on message priority. The lower the identifier value of a message, the higher its
priority.
2. Error detection: Built-in error detection mechanisms ensure data integrity within CAN networks. These
include cyclic redundancy checks (CRC), frame check sequences (FCS), and acknowledgment bits from
receiving nodes.
3. Fault confinement: If any node detects an error or malfunctions during transmission, it will enter an "error
passive" state until proper operation resumes. This prevents faulty transmissions from affecting overall
system functionality.
This combination of features allows CAN buses to maintain high levels of efficiency while ensuring reliable
communication between different components in complex systems like vehicles or factory automation
equipment.
31
Message Structure in the CAN Protocol
The message structure in a CAN bus system is crucial for efficient communication between devices. The
protocol uses a data frame format that consists of several fields, including an identifier, control field, data field,
and error detection mechanism as shown in fig.4.25.
Identifier: This unique value determines the priority of each message on the network. In standard 11-bit
identifiers (CAN 2.0A), there are up to 2048 different priorities available. Extended 29-bit identifiers
(CAN 2.0B) provide even more options with over half a billion distinct values.
Data Length Code (DLC): Located within the control field, this code specifies how many bytes are present
in the data field - ranging from zero to eight bytes.
Data Field: Contains actual information being transmitted across nodes in byte-sized segments.
Cyclic Redundancy Check (CRC): A built-in error detection mechanism that ensures reliable
communication by detecting transmission errors and requesting retransmission if necessary.
Acknowledgment Slot: A single bit used by receiving nodes to acknowledge successful receipt of messages
or indicate errors requiring retransmission.
Error Frame: An optional part of CAN messaging that allows nodes to signal when they detect an issue
with their own transmissions or received messages from other devices on the network.
Types of CAN
Here are the three main types of CAN:
1) Low-Speed CAN
Low-Speed CAN, also known as fault-tolerant or ISO 11898-3, operates at speeds up to 125 kbps. It is designed
for less critical systems like body control modules, door locks, window controls, etc. Its key feature is the ability
to continue functioning even when one wire in the bus fails.
2) High-Speed CAN
High-Speed CAN, or ISO 11898-2, can reach speeds up to 1 Mbps. This type of network is suitable for more
time-sensitive applications such as engine management systems and electronic braking systems due to its faster
data transfer rates compared to low-speed counterparts.
3) CAN FD (Flexible Data Rate)
CAN FD is an extension of high-speed networks with increased data rates up to 5 Mbps while maintaining
backward compatibility with existing high-speed devices. The primary advantage of this technology lies in its
ability to transmit larger payloads more efficiently than traditional CAN, making it ideal for modern vehicles
with increasingly complex electronic system.
32
The secondary part describes messages that can be transmitted across a network of computers to check and
manage such equipment. The final part describes a set of suitable LANs which are used for conveying BACnet
communications.
Fig.4.26 shows the BACnet protocol architecture and it is predominately restricted to lighting controls, HVAC
& gateways. This protocol highlights lightweight and efficient communication which is optimized for short
messages, small networks, and inter-networks.
33
1) BACnet/IP
BACnet/IP utilizes UDP/IP for compatibility through existing IP infrastructure. Once BACnet/IP is utilized
with several IP subnets, then extra device functionality known as BBMDs (BACnet Broadcast Management
Devices) is necessary to handle broadcast messages of inter-subnet BACnet.
2) BACnet MS/TP
This kind of LAN uses EIA-485 twisted pair for signaling up to 4k feet. So it is a very famous type of BACnet
LAN which is used for unitary as well as application-specific controllers. This BACnet MS/TP is not expensive.
3) BACnet ISO 8802-3 (Ethernet)
BACnet is directly used with Ethernet 8802-3 networks which are similar to BACnet/IP in terms of speed &
cost, although restricted to a single physical infrastructure that does not utilize IP routers.
4) BACnet over ARCNET
This BACnet is MAC type which includes two forms like 2.5Mbs coax & 156Kbs above EIA-485. This BACnet
is supported by a limited number of vendors with ARCNET.
5)BACnet Point-to-Point
This BACnet Point-to-Point is simply used over the networks of dial-up telephones. Generally, thus direct EIA-
232 connection is no longer used for a direct Ethernet connection.
6) BACnet over LonTalk Foreign Frames
This BACnet simpl6y allows LonTalk’s transport component for carrying BACnet messages. But, the two
protocols are not interoperable.
7) BACnet over ZigBee
Generally, this MAC is a wireless mesh network used with less costly devices. So it is normally used as a
gateway to ZigBee devices & not like a native BACnet transport.
8) Bacnet to Modbus Converter
Protocon-P3 Gateway is a BACnet to Modbus converter which is used in designing automation systems in
different applications like HVAC, access control, lighting control & fire detection systems, and their related
equipment. The Protocon-P3 Gateway combines such BACnet systems & devices with Modbus based
management systems over Modbus RTU protocol & Modbus TCP/IP.
34