From the MQTT version 5 specification:
MQTT is a Client Server publish/subscribe messaging transport protocol. It is light weight, open, simple, and designed to be easy to implement. These characteristics make it ideal for use in many situations, including constrained environments such as for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts where a small code footprint is required and/or network bandwidth is at a premium.
This project provides routines for reading and writing MQTT v5.0 Control Packets.
Embedded software engineers that require an MQTT v5.0 implementation for projects with memory constraints and/or real-time requirements.
For your own projects:
- Any C compiler with support for struct initializers (C99)
To build all the samples and tests:
- GNU/Linux, OpenBSD or FreeBSD operating systems
- Tested on x86 32 and 64 bits
- GCC or CLANG and GNU Make (gmake)
To run the memtest target:
- valgrind (only seems to work fine on GNU/Linux)
Open a terminal and type:
git clone https://github.com/1byt3/m5.git
cd m5
git checkout dev
On GNU/Linux:
make && make tests && make memtest
On OpenBSD/FreeBSD:
gmake && gmake tests
See the samples directory for more information about running the sample applications.
See the samples directory, specifically the samples_common.c file.
This project is sponsored and supported by 1byt3.
If you don't receive a commercial license from us (1byt3), you MUST assume that this software is distributed under the GNU Affero General Public License, either version 3 of the License, or (at your option) any later version. See the LICENSE.txt file for more information.
Commercial licenses are available, send us an email: customers at 1byt3.com
This is a pre-alpha release.
Nope, only version 5 is supported. There are no plans to support older versions of the MQTT protocol.
OASIS MQTT Version 5 specification