IoT Technology Stack and Internet Of Things Protocols


The Internet of Things (IoT) is the network of physical objects that contain embedded technology to communicate and sense or interact with their internal states or the external environment.The Internet of Things refers to a network of internet-connected objects like vehicles, devices and buildings which are embedded with sensors and electronics to allow them to both collect and transfer information to your cloud storage, analyze the data.

The Internet of Things (IoT) is the network of things (physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators)  connected through internet which enables these things to exchange data. This creates opportunities for more direct integration of the physical world into computer-based systems, resulting in efficiency improvements, economic benefits, and reduced human exertions.

We have discussed about what is IoT and how IoT works in the linked articles.

IoT Technology Stack

IoT stack architecture consist of 4 layers as below.

  • Sensors/Devices - Sensors and devices are placed in field and capture the information.
  • Gateway - Gateway provides the bridge between IoT devices in the field, the cloud, and user equipment such as smartphones. The IoT gateway provides a communication link between the field and the cloud and can provide offline services and real-time control over the devices in the field. Simple IoT gateway definition we can say IoT gateway aggregates sensor data, translates between sensor protocols, processes sensor data before sending it.
  • Communication/Protocols - Internet Protocol is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.The interconnected devices communicate by using lightweight IoT gateway protocols like bus-based (DDS, REST, XMPP) and broker based (AMPQ, CoAP, MQTT, JMI) that don't require extensive CPU resources.
  • Cloud and Analytics - IoT collect data from multiple sources and store it in their cloud network for further processing, analyzed using data analytics.

See the below for the IoT architecture diagram

IoT Technology Stack

 

What is IoT protocols?

Internet Protocols is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.The interconnected devices communicate by using lightweight IoT gateway protocols like bus-based (DDS, REST, XMPP) and broker based (AMPQ, CoAP, MQTT, JMI) that don't require extensive CPU resources.Wide range of technologies that fall within the IoT, there are a large number of IoT Protocols which are available and used. Lets see the major IoT protocols and the IoT protocols comparison.

Types of IoT protocols:

We can classify the protocols based on which OSI layer they belong to example.

  • Physical/Infrastructure
  • Transport/Communication
  • Data Transfer
  • Device Management

We will see commonly used messaging protocol in IoT.

IoT Protocols and Standards:

Most used IoT protocol and popular IoT protocols are listed below.

  • MQTT
  • CoAP
  • Zigbee
  • Bluetooth
  • AMQP
  • Z-Wave
  • IPv/IPv4
  • GSM

 

What is MQTT?

MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.

MQTT(Message Queuing Telemetry Transport) is one of most used communication protocols in iot and it is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based messaging protocol. It works on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker.An MQTT IoT protocol system consists of clients communicating with a server, often called a "broker". A client may be either a publisher of information or a subscriber. Each client can connect to the broker.Clients only interact with a broker, but a system may contain several broker servers that exchange data based on their current subscribers' topics.

Reference: mqtt.org,  mqtt wiki.

CoAP-Constrained Application Protocol:

The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.

CoAP was developed as an Internet Standards Document, RFC 7252. The Internet of Things will need billions of nodes, many of which will need to be inexpensive. CoAP has been designed to work on microcontrollers with as low as 10 KiB of RAM and 100 KiB of code space

Reference: http://coap.technology/

What is Zigbee?

The ZigBee Alliance has developed a very low-cost, very low-powerconsumption, two-way, wireless communications standard. Solutions adopting theZigBee standard will be embedded in consumer electronics, home and building
automation, industrial controls, PC peripherals, medical sensor applications, toys,and games.

Zigbee is the wireless language that everyday devices use to connect to one another. Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and other low-power low-bandwidth needs, designed for small scale projects which need wireless connection. Hence, Zigbee is a low-power, low data rate, and close proximity wireless ad hoc network.

References: https://www.zigbee.org/

AMQP -Advanced Message Queuing Protocol

AMQP is the Internet Protocol for Business Messaging.The Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications or organizations. AMQP is a binary, application layer protocol, designed to efficiently support a wide variety of messaging applications and communication patterns.

Reference: https://www.amqp.org/

We have seen iot protocols mqtt and other major useful protocols in this  iot protocols tutorial . We have left the details of few common ones like Bluetooth , ipv4, GSM (cellular) etc. Are there any open source iot protocols ? Find out about open source IoT platforms here.