[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#983450: ITP: wolfmqtt -- Lightweight client library for the MQTT protocol



Package: wnpp
Severity: wishlist
Owner: Felix Lechner <felix.lechner@lease-up.com>
X-Debbugs-CC: debian-devel@lists.debian.org

* Package name    : wolfmqtt
  Version         : 1.8.0
  Upstream Author : David Garske <david@wolfssl.com>
* URL             : https://www.wolfssl.com/products/wolfmqtt/
* License         : GPL-2+
  Programming Lang: C
  Description     : Lightweight client library for the MQTT protocol

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 minimize overhead.

The wolfMQTT library is a client implementation of the MQTT written in
C. It supports all Packet Types, all Quality of Service (QoS) levels
0-2 and supports SSL/TLS. This implementation provides support for
MQTT v5.0 and is based on MQTT v3.1.1. Additionally, there is also
client support for MQTT-SN (Sensor Network).

- Supports MQTT specifications v3.1.1 and v5.0
- Support for MQTT-SN
- Supports all client side packet types and protocol options
- QoS Levels 0-2 (guaranteed delivery)
- Message integrity, security are still available
- 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
- Network interface is abstracted via callbacks for extensibility
- Packet parsing encoding/decoding structured for custom use
- Minimal external dependencies (strlen, memcpy, memset)
- Detailed error checking/handling
- Doxygen style inline documentation
- Fewer than 1200 lines of well structured C code
- Tested on multiple variants of MQTT broker servers, QoS levels 0-2
  with/without TLS
- FreeRTOS+TCP support

wolfSSL has support for chipsets including ARM, Intel, Motorola, mbed,
NXP/Freescale, Microchip (PIC32)/Atmel, STMicroelectronics
(STM32F2/F4), Analog Devices, Texas Instruments, and more.

I will maintain this package going forward.

Kind regards
Felix Lechner


Reply to: