Enabling the Internet of Things
Contents
Enabling the Internet of Things#
MQTT is a lightweight protocol for delivering messages between devices through an intermediate broker. Senders declare a ‘topic’ and ‘publish’ messages to the broker. Receivers ‘subscribe’ to particular topics on the broker to receive a copy of all messages pertaining to that topic. Connections between a device and broker are typically over a TCP/IP network, but other transport mediums are in common use. This robust and flexible ‘hub-and-spoke’ architecture has been widely adopted for ‘Internet of Things’ (IoT) applications.
The MQTT acronym was orginally an abbreviation for Message Queuing Telemetry Transport that was developed by individuals at IBM and Cirrus Link (later Eurotech) for monitoring pipeline by satellite in remote locations. IBM later submitted the protocol to the global standards body, OASIS and ISO, where they are now maintained as open standards.
Background#
Descriptions
MQTT.org
Primers and Tutorials
mqtt primer: https://www.youtube.com/watch?v=AxC_ykketIg&ab_channel=wcltalkstech
HiveMQ MQTT Essentials: https://www.hivemq.com/tags/mqtt-essentials/
MQTT for Process Applications
Bidirectional Messaging
Implementation for CBE-Virtual-Laboratory#
For the purposes of the CBE-Virtual-Laboratory, we propose a topic naming scheme that will enable bidirectional communication between devices, and provide for the setup and tear down of applications and connections.
The highest level to the topic is assigned
cbe-virtual-laboratory
.The second level designates the laboratory application. This may consist of one or more topic strings designating, for example, a location and application.
The third level designates a device
The fourth level designates a channel
command
send
receive
cbe-virtual-laboratory/APPLICATION/DEVICE/CHANNEL
Useful Apps and Links#
MQTTBox A Windows/Linux/Mac App to create MTQQ clients and monitor the broker.
Reporting temperature using our Particle Argon through MQTT and the TICK stack