Skip to main content

Protocols used in IoT

We will see the most commonly used Protocols in IoT here.

Bluetooth

Recent developments in Bluetooth are set to position the technology as 'the communication protocol of choice' for IoT. In fact, Bluetooth with its ability to connect disparate devices and industries through short-range technology can transform the way devices interact with each other.

AMQP (Advanced Message Queuing Protocol)

AMQP is an open standard protocol used for more message-oriented middleware. As such, it allows for messaging interoperability between systems regardless of the message brokers or platforms being used. It offers security and interoperability, as well as reliability, even at a distance or over poor networks. It supports communications, even when systems aren't simultaneously available.

ZIGBEE 

Zigbee is a wireless technology developed as an open global standard to address the unique needs of low-cost, low-power wireless IoT networks. The Zigbee standard operates on the IEEE 802.15.4 physical radio specification and operates in unlicensed bands including 2.4 GHz, 900 MHz and 868 MHz.

Zigbee is a mesh network protocol that was designed for building and home automation applications.  A short-range and low-power protocol, Zigbee can be used to extend communication over multiple devices. It has a longer range than BLE, but it has a lower data rate than BLE. Overseen by the Zigbee Alliance, it offers a flexible self-organizing mesh, ultra-low power and a library of applications.

Zigbee protocol features include:

  • Support for multiple network topologies such as point-to-point,
  • point-to-multipoint and mesh networks
  • Low duty cycle – provides long battery life
  • Low latency
  • Direct Sequence Spread Spectrum (DSSS)
  • Up to 65,000 nodes per network
  • 128-bit AES encryption for secure data connections
  • Collision avoidance, retries and acknowledgements
The IETF Constrained RESTful Environments working group in 2013 launched CoAP, for Constrained Application Protocol, having designed it to work with HTTP-based IoT systems. CoAP relies on the User Datagram Protocol to establish secure communications and enable data transmission between multiple points. Often used for machine-to-machine (M2M) applications, CoAP enables constrained devices to join an IoT environment, even with the presence of low bandwidth, low availability and/or low-energy devices.

Z-Wave 

Z-Wave protocol is a wireless, radio frequency (RF) based communications technology designed particularly for control, monitoring and status reading of household applications. Z-Wave allows for secure and low power consuming communication between approved Z-Wave devices. Z-Wave devices create what is called a "mesh network." Unlike a traditional "hub-and-spoke" network where each device only communicates with a central hub (access point), Z-Wave devices can communicate with each other in addition to the central hub.

Like Bluetooth and Wi-Fi, Z-Wave lets smart devices communicate with encryption, thereby providing a level of security to the IoT deployment. It's commonly used for home automation products and security systems, as well as in commercial applications such as energy management technologies. It operates on 908.42 MHz radio frequency in the U.S.; although, its frequencies vary country by country. Z-Wave is supported by the Z-Wave Alliance, a member consortium focused on expanding the technology and interoperability of devices that use Z-Wave.

Cellular

Cellular IoT is a way of connecting physical things (like sensors) to the internet by having them piggyback on the same mobile networks as smartphones. Its infrastructural simplicity combined with the dawn of 5G positions cellular IoT as a strong player in the connectivity space. Cellular provides high bandwidth and reliable communication. It's capable of sending high quantities of data, which is an important capability for many IoT deployments. However, those features come at a price: higher cost and power consumption than other options.

 Virtually all current cellular IoT applications use one of two technologies: LTE-M or NB-IoT. 

LTE-M: LTE has national coverage in the US, the Netherlands, and Ireland, with ongoing deployments and regional trials in most major countries. It’s likely that it’ll overtake GSM for cellular IoT applications. LTE-M, which stands for “Long Term Evolution for Machines,” is a network standard that allows IoT devices to piggyback on existing cell networks. With essentially just a software update, LTE-M-enabled devices can communicate with the cloud, surfing the same waves as the cat photos you’re liking on Instagram. In general, LTE-M devices are best suited to “mission-critical” applications in which real-time data transfer makes the difference—for example, self-driving cars or emergency devices in smart cities.

NB-IoT: NB-IoT, which stands for “Narrowband-IoT,” is great for areas without good LTE coverage, or when you only need to transfer small amounts of information—for example, when using a soil sensor for smart agriculture or an energy usage monitor in a smart city. NB-IoT uses only a narrow band of the total bandwidth cell towers project. If you’re deploying in an area in which GSM is the standard cellular technology—specifically, Europe and developing parts of Africa and Asia—or, on the other hand, if you foresee needing to send only small amounts of data across the internet periodically, NB-IoT might be right for you.

LoRa and LoRaWAN

LoRa, for long range, is a noncellular wireless technology that, as its name describes, offers long-range communication capabilities. It's low power with secure data transmission for M2M applications and IoT deployments. A proprietary technology, it's now part of Semtech's radio frequency platform. The LoRa Alliance, of which Semtech was a founding member, is now the governing body of LoRa Technology. The LoRa Alliance also designed and now maintains LoRaWAN, an open cloud-based protocol that enables devices to communicate the LoRa.

CoAP

The IETF Constrained RESTful Environments working group in 2013 launched CoAP, for Constrained Application Protocol, having designed it to work with HTTP-based IoT systems. CoAP relies on the User Datagram Protocol to establish secure communications and enable data transmission between multiple points. Often used for machine-to-machine (M2M) applications, CoAP enables constrained devices to join an IoT environment, even with the presence of low bandwidth, low availability and/or low-energy devices.

Comments

Popular posts from this blog

Python OOPs Concepts: Using Variables and Methods

  Types of Variables in OOPs Python   Instance Variable Static Variable Local Variable   Object Level Variables Class Level Variables Method Level Variables When to use: For Every Object if you want Separate copy, use Instance Variables For all object one copy is required, use static variables Inside method, Just used for temporary requirement Where to Declare Inside the constructor method (in general) Within the class directly, outside of methods (in general)   Within the method only. How to Declare Within the constructor: Instance variables can be declared within the constructor method using the self .   Using default values : Instance variables can be assigned default values during initialization.   Outside the class: use object name.   ·          Within the class directly

Inheritance

Inheritance is a fundamental concept in object-oriented programming, which allows a class to inherit properties and methods from another class. There are several types of inheritance, including: Single Inheritance: In single inheritance, a subclass inherits properties and methods from a single parent class. The subclass is said to be derived from the parent class. Multiple Inheritance: Multiple inheritance allows a subclass to inherit properties and methods from multiple parent classes. In this case, the subclass is said to have multiple base classes. However, multiple inheritance can lead to complexity and ambiguity in the code. Multilevel Inheritance: Multilevel inheritance occurs when a subclass inherits properties and methods from a parent class, which in turn inherits from another parent class. In this case, the subclass is said to be derived from both the parent class and the grandparent class. Hierarchical Inheritance: Hierarchical inheritance occurs when multiple subclasses

Polymorphism: Method Overloading vs Method Overriding

  Method Overloading In object-oriented programming languages, method overloading enables a class to have several methods with the same name but different parameters. However, in Python, method overloading is not directly supported as opposed to languages such as Java or C++. This is because Python allows developers to define default arguments for their methods and pass arguments of any type to a method. This flexibility allows a single method to handle various types of arguments, eliminating the need for overloading.   However, there is a way to simulate method overloading in Python by using default argument values or variable length arguments and conditional statements. Here's an example: Program using default arguments:       Program using variable length arguments:   Multiple methods with Same Name: When we define multiple methods with same name, Python will consider the last defined method only. Python will not support method overloading. ( Why? Method overlo