True Analytics™ - Energy Savings, Comfort, and Operational Efficiency
|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.
Systems Architect & Founder, Intelligent Systems Designer, Avid Reader
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.
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.
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.
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.
[Click Banner To Learn More]
[Home Page] [The Automator] [About] [Subscribe ] [Contact Us]