Tweet

January 2017
AutomatedBuildings.com

True Analytics™ - Energy Savings, Comfort, and Operational Efficiency
Ecorithm - Cloud-Based Analytics Software

(Click Message to Learn More)


Two Effective IoT Protocols and How They Work

Addressing this challenge is essential as more than 50% of the value that IoT systems might unveil is currently locked by a lack of interoperability.

Kudzai ManditerezaKudzai Manditereza
Systems Architect & Founder, Intelligent Systems Designer, Avid Reader
LinkedIn

Articles
Interviews
Releases
New Products
Reviews
Control Solutions, Inc
Editorial
Events
Sponsors
Site Search
Newsletters
DGLogik
Archives
Past Issues
Home
Editors
eDucation
Blue Ridge Technologies
Training
Links
Software
Subscribe
eac.io

Interoperability is the 'herding cats' problem of the Internet of Things.  Devices or equipment that are not made by the same manufacturer cannot easily integrate, and information cannot be pushed/pulled from devices using same interfaces with ease e.t.c. Addressing this challenge is essential as more than 50% of the value that IoT systems might unveil is currently locked by a lack of interoperability. However, standards are emerging to solve these different levels of interoperability. In this post, I will highlight two of them and briefly describe how they work.

AMQP

Advanced Message Queuing Protocol (AMQP) is an open standard designed to allow development of message oriented applications (middleware) in brokering of messages between different processes, applications or unrelated systems that need to talk to each other. Brokers may be used to receive, queue route and deliver messages or for peer to peer communications.

AMQP runs over TCP/IP, uses small packet frames and its advantage, as far as IoT is concerned, is that the message size can be negotiated. This is important particularly for IoT devices where memory is constrained.

Below is a diagram showing AMQP assembly and the terminology used. The producer and or consumer can be anything; it could be a device or a process, and a broker could be running AMQP broker software, e.g., RabbitMQ an open-source implementation of AMQP. The message content flowing from the producer to the consumer would be a method name and some parameters and the answer going back would be the result of evaluating a function.

A producer can communicate with more than one consumer, and there can be more than one producer/consumer. AMQP enforces decoupling in such a way that the producer and the consumer don't need to know anything about each other, can be in different geographical locations and systems don’t need to be available simultaneously as messages can be stored and retrieved later.

Advanced Message Queuing Protocol

MQTT

MQ Telemetry Transport is a lightweight, open and simple publish/subscribe messaging transport protocol. This protocol is so lightweight that it can be supported by some of the smallest measuring and monitoring devices, and it is useful for connections with remote locations over unreliable networks such as in Machine to Machine and IoT. It runs over TCP/IP, and every message is a discrete chunk of data.

Every message is published to a topic, which is technically a message queue. A client can be a publisher or a subscriber publishing a message on a topic or subscribing to a specific topic. MQTT differs from the traditional client-server model in that there is no direct link between endpoints. Instead a broker known by both publisher and subscriber manages subscriptions to topics and relays messages to those subscribed to it.

MQTT works with large networks of small devices that need to be monitored and controlled from a back-end server as opposed to multi-casting and device-to-device transfers. This model allows one-to-one and one-to-many distribution and the clients don't need to know anything about each other thereby guaranteeing decoupling and asynchronous communication. An example of an open source MQTT implementation is Mosquitto.

MQ Telemetry Transport


There is quite a number of IoT protocols that are emerging. I'd love to hear about other protocols/standards that you find useful and any thoughts on this topic. Contact me here.


footer

Analytika
[Click Banner To Learn More]

[Home Page]  [The Automator]  [About]  [Subscribe ]  [Contact Us]

Events

Want Ads

Our Sponsors

Resources