ch1_IoT
ch1_IoT
Lecture notes
February 2024
Internet of Things is the network of physical objects or ‘things’ embedded with electronics, software, sensors and
connectivity to enable it to achieve greater value and service by exchanging data with the manufacturer, operator
and/or other connected devices. Each thing is uniquely identifiable through its embedded computing system but is
able to interoperate within the existing Internet infrastructure.
Generally, IoT consists of an internetwork of devices and physical objects wherein a number of objects can gather
the data at remote locations and communicate to units managing, acquiring, organising and analysing the data in
the processes and services. A general framework consists of the number of devices communicating data to a data
centre or an enterprise or a cloud server.
The equation below conceptually represents the actions and communication of data at successive levels in IoT
consisting of internetworked devices and objects. (given by Oracle)
Gather + Enrich + Stream + Manage + Acquire + Organise and Analyse
=> IoT with connectivity to data centre, enterprise or cloud server
The equation below is an alternative conceptual representation for a complex system. . It is based on IBM IoT
conceptual framework. The equation shows the actions and communication of data at successive levels in IoT:
Gather + Consolidate + Connect + Collect + Assemble + Manage and Analyse
=> IoT with connectivity to cloud services
1
Equation represents a complex conceptual framework for IoT using cloud-platform based processes and services.
The steps are as follows:
1. Levels 1 and 2 consist of a sensor network to gather and consolidate the data. First level gathers the data
from devices using sensors circuits and connect to a gateway. Data then consolidates at the second level
2. The gateway at level 2 communicates the data streams between levels 2 and 3. The system uses a communication-
management subsystem at level 3.
3. An information service consists of connect, collect, assemble and manage subsystems at levels 3 and 4. The
services render from level 4.
4. Real time series analysis, data analytics and intelligence subsystems are also at levels 4 and 5. A cloud
infrastructure, a data store or database acquires the data at level 5.
3. The communication-management subsystem consists of protocol handlers, message routers and message cache.
This management subsystem has functionalities for device identity database, device identity management and
access management.
2
Figure 2: An IoT reference model suggested by CISCO that gives a conceptual framework for a general IoT system.
4. Data routes from the gateway through the Internet and data centre to the application server or enterprise
server which acquires that data.
5. Organisation and analysis subsystems enable the services, business processes, enterprise integration and com-
plex processes.
3
Figure 3: Oracle’s IoT architecture (Device identity management means identifying a device, registering a device
for actions after identifying, de-registering the device, assigning unique identity to the device. Device access
management means enabling, disabling the device access, authenticating a device for access, authorizing a device
for access to a subsystem.
4. Software for actions on messages, information and commands which the devices receive and then output to
the actuators, which enable actions such as glowing LEDs, robotic hand movement etc.
Sensors are mainly input components. They sense and collect surrounding information. There are three types
of sensors: (1) passive, omnidirectional(e.g. mic), (2) passive, narrow-beam(e.g. PIR Sensor), and (3) active sen-
sors(e.g. SONAR, RADAR).
Actuators are output components. They alter the surrounding. Some examples include: (1) adding lighting,
heat, etc. (2) controlling motors to move objects, (3) displaying messages.
Transducer are devices that converts one form of energy to another. They are two types of transducers:
actuators and sensors.
Most commonly used Control Unit in IoT consists of a Microcontroller Unit (MCU) or a custom chip. A
microcontroller is an integrated chip or core in a VLSI or SoC. Popular microcontrollers are ATmega 328, ATMega
32u4, ARM Cortex and ARM LPC.
A Communication module consists of protocol handlers, message queue and message cache. A device
message-queue inserts the messages in the queue and deletes the messages from the queue in a first-in first-out
manner. A device message-cache stores the received messages.
IoT Software consists of two components—software at the IoT device and software at the IoT server. Devel-
opment tools Eclipse IoT provides open-source implementation of standards such as MQTT CoAP, OMA-DM
and OMA LWM2M, and tools for working with Lua, services and frameworks that enable an Open Internet of
Things. Arduino development tools provide a set of software that includes an IDE and the Arduino programming
language for a hardware specification for interactive electronics that can sense and control more of the physical
world.
Platform and Integration tools IoT Toolkit offers Smart Object API, HTTP-to-CoAP Semantic mapping
and a variety of tools for integrating multiple IoT-related sensor networks and protocols.
4
4 IoT Protocols
4.1 Link Layer
• 802.3 - Ethernet: IEEE 802.3 is a collection of wired Ethernet standards for the link layer. The medium
in ethernet may be coaxial cable, twisted-pair wire or optical fiber.
• 802.11 - WiFi: IEEE 802.11 is a collection of Wireless LAN communication standards. These standards
provide a data rate of 1 Mb/s to 6.75 Gb/s.
• 802.15.4 - LRWPAN: IEEE 802.15.4 is a collection of standards for low-rate wireless Personal area networks.
These standards form the basis of specifications for high level communication protocols such as ZigBee. LR-
WPAN standards provide data rates from 40 Kb/s 250 Kb/s.
• 2G/3G/4G - Cellular Communication: Data rates of these standards range from 10Kb/s up till 100Mb/s.
5
• WebSockets: WebSocket protocol allows full-duplex communication over a single socket connection for
sending messages between client and server. WebSocket is based on TCP and allows streams of messages to
be sent back and forth between the client and server while keeping the TCP connection open.
• MQTT: Message Queue Telemetry Transport (MQTT) is a light-weight messaging protocol based on the
publish-subscribe model. MQTT uses a client-server architecture where the client (such as an IoT device)
connects to the server (also called MQTT Broker) and publishes messages to topics on the server. The broker
forwards the messages to the clients subscribed to topics. MQTT is well suited for constrained environments
where the devices have limited processing and memory resources and the network bandwidth is low.
• XMPP: Extensible Messaging and Presence Protocol (XMPP) 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, multi-party chat and voice/video calls.
• DDS: Data Distribution Service (DDS) is a data-centric middleware standard for device-to-device or machine-
to-machine communication. DDS uses a publish-subscribe model where publishers (e.g. devices that generate
data) create topics to which subscribers (e.g., devices that want to consume data) can subscribe.
• AMQP: Advanced Message Queuing Protocol (AMQP) is an open application layer protocol for business
messaging. AMQP supports both point-to-point and publisher/subscriber models, routing and queuing.
AMQP brokers receive messages from publishers (e.g., devices or applications that generate data) and route
them over connections to consumers (applications that process data). Publishers publish the messages to
exchanges which then distribute message copies to queues. Messages are either delivered by the broker to the
consumers which have subscribed to the queues or the consumers can pull the messages from the queues.
• Publisher-Subscriber Model: Publishers are the source of data. It sends the data to the topic which are
managed by the broker. They are not aware of consumers. Consumers subscribe to the topics which are
managed by the broker. Hence, Brokers responsibility is to accept data from publishers and send it to the
appropriate consumers. The broker only has the information regarding the consumer to which a particular
topic belongs to which the publisher is unaware of.
• Push-Pull Model: Publishers and Consumers are not aware of each other. Publishers publish the mes-
sage/data and push it into the queue. The consumers, present on the other side, pull the data out of the
queue. Thus, the queue acts as the buffer for the message when the difference occurs in the rate of push
or pull of data on the side of a publisher and consumer. Queues help in decoupling the messaging between
the producer and consumer. Queues also act as a buffer which helps in situations where there is a mismatch
between the rate at which the producers push the data and consumers pull the data.
• Exclusive Pair: Exclusive Pair is the bi-directional model, including full-duplex communication among
client and server. The connection is constant and remains open till the client sends a request to close the
connection. The Server has the record of all the connections which has been opened. This is a state-full
connection model and the server is aware of all open connections. WebSocket based communication API is
fully based on this model.
6
model. The REST architectural constraints apply to the components, connectors, and data elements, within
a distributed hypermedia system.
• Web Socket Based Communication APIs: Web Socket APIs allow bi-directional, full-duplex communi-
cation between clients and servers. It follows the exclusive pair communication model. This Communication
API does not require a new connection to be set up for each message to be sent between clients and servers.
Once the connection is set up the messages can be sent and received continuously without any interruption.
WebSocket APIs are suitable for IoT Applications with low latency or high throughput requirements.
7 Sources of IoT
Examples of hardware sources for IoT prototype development are Arduino Yún, Microduino, Beagle Board and
RasWIK. Hardware prototype needs an IDE for developing device software, firmware and APIs.
Raspberry Pi Wireless Inventors Kit (RasWIK) RasWIK enables Raspberry Pi Wi-Fi connected devices.
It includes documentation for 29 different projects or you can come up with one of your own. There is a fee for the
devices but all of the included code is open source, and you can use it to build commercial products as well.
Role of RFID and IoT Applications : Earlier IoT systems were internet-connected RFID based systems.
RFID enables tracking and inventory control, identification in supply chain systems, access to buildings and road
tolls or secured store centre entries, and devices such as RFID-based temperature sensors.
Wireless Sensor Networks (WSNs) : Wireless Sensor Network (WSN) is defined as a network in which
each sensor node connects wirelessly and has capabilities of computations for data compaction, aggregation and
analysis plus communication and networking. WSN node is autonomous. A WSN node has limited computing
power. It may change topology rapidly. The WSN network in the topology-changing environment functions as an
ad-hoc network. A WSN network in that environment is generally self-configuring, self-organising, self-healing and
self-discovering.
8 M2M Communication
Machine-to-machine (M2M) refers to the process of communication of a physical object or device at machine with
others of the same type, mostly for monitoring but also for control purposes. The communication protocols are
6LowPAN, LWM2M, MQTT, and XMPP. Each communication device is assigned 48-bits Ipv6 address.
IoT technology in industry involves the integration of complex physical machinery M2M communication with
the networks of sensors, and uses analytics, machine learning, and knowledge discovery software.
M2M technology closely relates to IoT when the smart devices or machines collect data which is transmitted
via the Internet to other devices or machines located remotely. The close difference between M2M and IoT is that
M2M must deploy device to device, and carry out the coordination, monitoring, controlling of the devices and
communicate without the usage of Internet whereas IoT deploys the internet, server, internet protocols and server
or cloud end applications, services or processes.
7
Figure 4: Three domains of M2M architecture
9 Examples of IoT
1. Wearables: heart rate monitors and smartwatches.
2. Smart Home Automation
3. Medical-based systems
4. Smart Cities
5. Agriculture
6. Industrial Automation
7. Smart Retail
8. Smart Supply chain