MQTT-C - A portable MQTT C client for embedded systems and PCs alike.

  •        8

MQTT-C is an MQTT v3.1.1 client written in C. MQTT is a lightweight publisher-subscriber-based messaging protocol that is commonly used in IoT and networking applications where high-latency and low data-rate links are expected. The purpose of MQTT-C is to provide a portable MQTT client, written in C, for embedded systems and PC's alike. MQTT-C does this by providing a transparent Platform Abstraction Layer (PAL) which makes porting to new platforms easy. MQTT-C is completely thread-safe but can also run perfectly fine on single-threaded systems making MQTT-C well-suited for embedded systems and microcontrollers. To use MQTT-C you must first instantiate a struct mqtt_client and initialize it by calling @ref mqtt_init.

https://liambindle.ca/MQTT-C
https://github.com/LiamBindle/MQTT-C

Tags
Implementation
License
Platform

   




Related Projects

MQTT-Client-Framework - iOS, macOS, tvOS native ObjectiveC MQTT Client Framework

  •    Objective-C

MQTT-Client-Framework is a native Objective-C iOS library. It uses CFNetwork for networking and CoreData for persistence. It is a complete implementation of MQTT 3.1.1 and supports TLS. You can read introduction to learn more about framework.

Adafruit_MQTT_Library - Arduino library for MQTT support

  •    C++

Arduino library for MQTT support, including access to Adafruit IO. Works with the Adafruit FONA, Arduino Yun, ESP8266 Arduino platforms, and anything that supports Arduino's Client interface (like Ethernet shield). See included examples for how to use the library to access an MQTT service to publish and subscribe to feeds. Note that this does not support the full MQTT spec but is intended to support enough for QoS 0 and 1 publishing.

MQTTnet - MQTTnet is a high performance

  •    CSharp

MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/. * Tested on local machine (Intel i7 8700K) with MQTTnet client and server running in the same process using the TCP channel. The app for verification is part of this repository and stored in /Tests/MQTTnet.TestApp.NetCore.

Mosquitto-PHP - A wrapper for the Eclipse Mosquitto™ MQTT client library for PHP.

  •    C

This is an extension to allow using the Eclipse Mosquitto™ MQTT client library with PHP. See the examples/ directory for usage. Thanks to Sara Golemon this extension now supports PHP 7. I would be grateful if anyone using PHP 7 could test it and let me know how it works out.


hbmqtt - MQTT client/broker using Python asynchronous I/O

  •    Python

HBMQTT is an open source MQTT client and broker implementation. Built on top of asyncio, Python's standard asynchronous I/O framework, HBMQTT provides a straightforward API based on coroutines, making it easy to write highly concurrent applications.

paho.mqtt.python - paho.mqtt.python

  •    Python

This document describes the source code for the Eclipse Paho MQTT Python client library, which implements versions 3.1 and 3.1.1 of the MQTT protocol.This code provides a client class which enable applications to connect to an MQTT broker to publish messages, and to subscribe to topics and receive published messages. It also provides some helper functions to make publishing one off messages to an MQTT server very straightforward.

surgemq - (Unmaintained) High-Performance MQTT Server and Client Libraries

  •    Go

SurgeMQ is a high performance MQTT broker and client library that aims to be fully compliant with MQTT 3.1 and 3.1.1 specs. The primary package that's of interest is package service. It provides the MQTT Server and Client services in a library form. SurgeMQ development is currently on hold and unmaintained.

esp_mqtt - MQTT client library for ESP8266

  •    C

MQTT client library for ESP8266

MQTT.js - The MQTT client for Node.js and the browser

  •    Javascript

MQTT.js is a client library for the MQTT protocol, written in JavaScript for node.js and the browser.MQTT.js is an OPEN Open Source Project, see the Contributing section to find out what this means.

awesome-mqtt - A curated list of MQTT related stuff. :sparkles:

  •    

A curated list of MQTT related stuff. MQTT is a lightweight client-server publish/subscribe messaging protocol, optimized for high-latency or unreliable networks. This protocol is a good choice for Internet of Things applications, Telemetry, Sensor Networks, Smart Metering, Home Automation, Messaging and Notification Services.

paho.mqtt.c - paho.mqtt.c

  •    C

This repository contains the source code for the Eclipse Paho MQTT C client library.This code builds libraries which enable applications to connect to an MQTT broker to publish messages, and to subscribe to topics and receive published messages.

emqx - EMQ X Broker - Massively Scalable MQTT Messaging Broker

  •    Erlang

EMQ X broker is a fully open source, highly scalable, highly available distributed MQTT messaging broker for IoT, M2M and Mobile applications that can handle tens of millions of concurrent clients. Starting from 3.0 release, EMQ X broker fully supports MQTT V5.0 protocol specifications and backward compatible with MQTT V3.1 and V3.1.1, as well as other communication protocols such as MQTT-SN, CoAP, LwM2M, WebSocket and STOMP. The 3.0 release of the EMQ X broker can scaled to 10+ million concurrent MQTT connections on one cluster.

uTT - Lightweight and efficient MQTT broker prototype (experimental taste test, not developed)

  •    C++

µTT ("microTT") is a lightweight and efficient MQTT broker designed to raise the bar for pub/sub performance. It significantly outperforms emqtt, Redis, HiveMQ, Mosquitto, RabbitMQ, Mosca and many others. Memory usage per connection is also significantly lower as it builds on the networking foundation developed for µWebSockets. Read more about MQTT here, find client libraries here.

emqttd - EMQ - Erlang MQTT Broker

  •    Erlang

EMQ (Erlang MQTT Broker) is a distributed, massively scalable, highly extensible MQTT message broker written in Erlang/OTP. EMQ is fully open source and licensed under the Apache Version 2.0. EMQ implements both MQTT V3.1 and V3.1.1 protocol specifications, and supports MQTT-SN, CoAP, WebSocket, STOMP and SockJS at the same time.

M2M communication MQTT Client Library

  •    

MQTT Client Library for all .Net platform for M2M communication.

paho.mqtt.javascript - paho.mqtt.javascript

  •    Javascript

The Paho JavaScript Client is an MQTT browser-based client library written in Javascript that uses WebSockets to connect to an MQTT Broker.The Paho project has been created to provide reliable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine-to-Machine (M2M) and Internet of Things (IoT). Paho reflects the inherent physical and cost constraints of device connectivity. Its objectives include effective levels of decoupling between devices and applications, designed to keep markets open and encourage the rapid growth of scalable Web and Enterprise middleware and applications.

paho.mqtt.embedded-c - paho.mqtt.embedded-c

  •    C

This repository contains the source code for the Eclipse Paho MQTT C/C++ client library for Embedded platorms.It is dual licensed under the EPL and EDL (see about.html and notice.html for more details). You can choose which of these licenses you want to use the code under. The EDL allows you to embed the code into your application, and distribute your application in binary or source form without contributing any of your code, or any changes you make back to Paho. See the EDL for the exact conditions.

smartthings-mqtt-bridge - Bridge between SmartThings and MQTT

  •    Groovy

System to share and control SmartThings device states in MQTT. This project was spawned by the desire to control SmartThings from within Home Assistant. Since Home Assistant already supports MQTT, we chose to go and build a bridge between SmartThings and MQTT.

pubsubclient - A client library for the Arduino Ethernet Shield that provides support for MQTT.

  •    C++

A client library for the Arduino Ethernet Shield that provides support for MQTT.