The MQTT client from Segger (Hilden, Germany) helps embedded IoT devices to communicate with each other, using wired or wireless connections, anywhere in the world at any time.
MQTT (Message Queue Telemetry Transport) client is a lightweight communication protocol perfectly suited for constrained environments such as IoT and Machine to Machine (M2M) contexts. Its minimal size, in terms of both RAM and ROM, means it fits onto resource-constrained embedded processors.
All devices (clients) designed to communicate with each other address the same broker. The broker preserves messages it receives by the sending (publisher) devices and forwards it to one or more receiver (subscriber) devices.
Messages are sent from the publisher to the broker using a topic. When the broker receives a published message, it forwards it to all subscribers as a broadcast. A subscription to a topic defines the messages, that the subscribing MQTT client receives from the broker. SEGGER’s client implementation of the MQTT protocol implements version 3.1.1 of the OASIS standard and talks to any compliant MQTT broker.
MQTT runs over TCP/IP and is perfectly suited to operate on top of embOS/IP and any other IP stack using sockets.
To establish secure communication between publisher and broker and subscriber, the Transport Layer Security can be implemented by using SEGGER’s emSSL.
MQTT client is written in C and easily portable to run on sensor nodes, tablets, or PCs. A trial is available for download.