MQTT (Message Queuing Telemetry Transport) is a lightweight open messaging protocol that was developed for constrained environments such as M2M (Machine to Machine) and IoT (Internet of Things), where a small code footprint is required. MQTT is based on the Pub/Sub messaging principle of publishing messages and subscribing to topics. The protocol efficiently packs messages to keep the overhead very low. The MQTT specification recommends TLS as a transport option to secure the protocol using port 8883 (secure-mqtt). Constrained devices can benefit from using TLS session resumption to reduce the reconnection cost.
The wolfMQTT library is a client implementation of the MQTT written in C for embedded use. It supports SSL/TLS via the wolfSSL library. It was built from the ground up to be multi-platform, space conscience and extensible. It supports all Packet Types, all Quality of Service (QoS) levels 0-2 and supports SSL/TLS using the wolfSSL library. This implementation is based on the MQTT v3.1.1 specification.
wolfMQTT is built for maximum portability, and is generally very easy to compile on new platforms. If your desired platform is not listed under the supported operating environments, please contact wolfSSL at email@example.com.
• Built from scratch by wolfSSL engineers
• Based on MQTT v3.1.1 specification
• Supports all client side packet types and protocol options
• QoS Levels 0-2 (guaranteed delivery)
• Supports plain TCP or TLS (via the wolfSSL library)
• Single threaded model and single message callback
• Written in Native C89 with portability/compatibility in mind
• Space conscience design (Compiled size is about 3.6KB)
• User manual with build instructions, example overview and API documentation
• Example MQTT client implementations for AWS, Azure IoT Hub, Firmware Upgrade and basic client.
• Network interface is abstracted via callbacks for extensibility
• Packet parsing encoding/decoding structured for custom use
wolfSSL is an open source Internet security company whose primary products include the wolfSSL embedded SSL/TLS library, wolfCrypt embedded crypto engine, and wolfCrypt FIPS module. Primary users are programmers building security functionality into their applications and devices. wolfSSL employs the dual licensing model, offering products under the GPLv2 as well as a standard commercial license. wolfSSL’s products are designed to offer optimal performance, rapid integration, the ability to leverage hardware crypto, and support for the most current standards. All products are designed with clean APIs, and are backed by a dedicated and responsive support and development team.