[go: up one dir, main page]

0% found this document useful (0 votes)
36 views1 page

wolfMQTT Client Library

MQTT, a lightweight messaging protocol for M2M and IoT, prioritizes minimal code size. It employs the Pub/Sub model, minimizing message overhead. TLS encryption, recommended for secure communication, operates on port 8883. wolfMQTT, a C-based client library for embedded systems, supports SSL/TLS through wolfSSL. It's designed to be space-efficient and versatile across platforms, supporting MQTT v5.0 and v3.1.1 compatibility, with added MQTT-SN (Sensor Network) support.

Uploaded by

wolfSSL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views1 page

wolfMQTT Client Library

MQTT, a lightweight messaging protocol for M2M and IoT, prioritizes minimal code size. It employs the Pub/Sub model, minimizing message overhead. TLS encryption, recommended for secure communication, operates on port 8883. wolfMQTT, a C-based client library for embedded systems, supports SSL/TLS through wolfSSL. It's designed to be space-efficient and versatile across platforms, supporting MQTT v5.0 and v3.1.1 compatibility, with added MQTT-SN (Sensor Network) support.

Uploaded by

wolfSSL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

wolfMQTT Client Library

wolfMQTT Version: 1.19.0


Release Date: 2024-03-22

Description Features

MQTT (Message Queuing Telemetry Transport) is a lightweight ● Built from scratch by wolfSSL engineers
open messaging protocol that was developed for constrained ● Supports MQTT specifications v3.1.1 and v5.0
environments such as M2M (Machine to Machine) and IoT ● Support for MQTT-SN
(Internet of Things), where a small code footprint is required. ● Supports all client side packet types and protocol options
MQTT is based on the Pub/Sub messaging principle of publishing ● Lightweight (Compiled size is about 3.6kB)
messages and subscribing to topics. The protocol efficiently packs ● QoS Levels 0-2 (guaranteed delivery)
messages to keep the overhead very low. The MQTT specification ● Message integrity, security are still available
recommends TLS as a transport option to secure the protocol ● Supports plain TCP or TLS (via the wolfSSL library)
using port 8883 (secure-mqtt). Constrained devices can benefit ● Single threaded model and single message callback
from using TLS session resumption to reduce the reconnection ● Written in native C89 with portability/compatibility in mind
cost. ● User manual with build instructions, example overview, and
API documentation
The wolfMQTT library is a client implementation of the MQTT ● Example MQTT client implementations
written in C for embedded use. It supports SSL/TLS via the ● Network interface is abstracted via callbacks for
wolfSSL library. It was built from the ground up to be extensibility
multi-platform, space conscience and extensible. It supports all ● Packet parsing encoding/decoding structured for custom
Packet Types, all Quality of Service (QoS) levels 0-2 and supports use
SSL/TLS using the wolfSSL library. This implementation provides ● Minimal external dependencies (strlen, memcpy, memset)
support for MQTT v5.0 and is based on MQTT v3.1.1. Additionally, ● Detailed error checking/handling
there is also clientsupport for MQTT-SN (Sensor Network). ● Doxygen style inline documentation
● Less than 1200 lines of well structured C code
wolfMQTT is built for maximum portability, and is generally very ● Tested on multiple variants of MQTT broker servers, QoS
easy to compile on new platforms. If your desired platform is not levels 0-2 with/without TLS
listed under the supported operating environments, please contact ● Tested on Linux, Mac OS X, and Freescale Kinetis K64
wolfSSL at facts@wolfssl.com. ● Inherits wolfSSL library features such as lightweight TLS
usingChaCha20/Poly1305 AEAD, small size and portability
● Open source (GPLv2)
● FreeRTOS + TCP support
● Example Arduino IDE project
● IBM Watson IoT Example with IBM developer recipe
● IBM Watson IoT Platform is a supported cloud provider
● Example UART interface for wolfMQTT

GitHub location: https://github.com/wolfSSL/wolfMQTT

Supported Chipmakers Supported Operating Environments


wolfSSL has support for chipsets including ARM, Intel, Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD,
Motorola, mbed, NXP/Freescale, Microchip (PIC32)/Atmel, NetBSD, OpenBSD, embedded Linux, Yocto Linux, OpenEmbedded,
STMicroelectronics (STM32F2/F4), Analog Devices, TI,
WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and
and more.
If you would like to use or test wolfMQTT/wolfSSL on another Gamecube through DevKitPro, QNX, MontaVista, NonStop,
chipset or environment, let us know and we’ll be happy to TRON/ITRON/µITRON, Cesium, Micrium µC/OS-III, FreeRTOS,
support you. SafeRTOS, NXP/Freescale MQX, Nucleus, TinyOS, HP/UX, AIX, ARC
MQX, TI- RTOS, uTasker, embOS, INtime, Mbed, uT-Kernel, RIOT,
CMSIS- RTOS, FROSTED, Green Hills INTEGRITY, Keil RTX,
TOPPERS, PetaLinux, Apache Mynewt, PikeOS

wolfssl.com
github.com/wolfssl
Copyright © 2024 wolfSSL Inc. All Rights Reserved

You might also like