Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhaojh329/libumqtt
A Lightweight and fully asynchronous MQTT client C library based on libev
https://github.com/zhaojh329/libumqtt
embedded libubox lua mqtt-client mqtt-lua mqtt-protocol openwrt ssl
Last synced: 15 days ago
JSON representation
A Lightweight and fully asynchronous MQTT client C library based on libev
- Host: GitHub
- URL: https://github.com/zhaojh329/libumqtt
- Owner: zhaojh329
- License: mit
- Created: 2018-01-14T04:00:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-29T13:03:50.000Z (3 months ago)
- Last Synced: 2024-11-19T07:38:57.311Z (23 days ago)
- Topics: embedded, libubox, lua, mqtt-client, mqtt-lua, mqtt-protocol, openwrt, ssl
- Language: C
- Homepage:
- Size: 206 KB
- Stars: 192
- Watchers: 7
- Forks: 47
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-embedded-software - libumqtt 2 - Lightweight and fully asynchronous MQTT client C library based on libev. (Protocols / MQTT)
README
# libumqtt
[1]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=plastic
[2]: /LICENSE
[3]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=plastic
[4]: https://github.com/zhaojh329/libumqtt/pulls
[5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=plastic
[6]: https://github.com/zhaojh329/libumqtt/issues/new
[7]: https://img.shields.io/badge/release-1.1.1-blue.svg?style=plastic
[8]: https://github.com/zhaojh329/libumqtt/releases
[9]: https://github.com/zhaojh329/libumqtt/workflows/build/badge.svg[![license][1]][2]
[![PRs Welcome][3]][4]
[![Issue Welcome][5]][6]
[![Release Version][7]][8]
![Build Status][9][libev]: http://software.schmorp.de/pkg/libev.html
[openssl]: https://github.com/openssl/openssl
[mbedtls]: https://github.com/ARMmbed/mbedtls
[CyaSSl(wolfssl)]: https://github.com/wolfSSL/wolfsslA Lightweight and fully asynchronous MQTT 3.1.1 client C library based on [libev].
And provide Lua-binding.# Features
* Lightweight - 27KB(Using glibc,stripped)
* Fully asynchronous - Use [libev] as its event backend
* Support QoS 0, 1 and 2
* Support ssl - OpenSSL, mbedtls and CyaSSl(wolfssl)
* Code structure is concise and understandable, also suitable for learning
* Lua-binding# Dependencies
* [libev]
* [mbedtls] - If you choose mbedtls as your SSL backend
* [CyaSSl(wolfssl)] - If you choose wolfssl as your SSL backend
* [openssl] - If you choose openssl as your SSL backend# Install dependent packages
sudo apt install libev-dev libssl-dev liblua5.2-dev
# Build and install
git clone --recursive https://github.com/zhaojh329/libumqtt.git
cd libumqtt
mkdir build && cd build
cmake .. && sudo make install && ldconfig# Contributing
If you would like to help making [libumqtt](https://github.com/zhaojh329/libumqtt) better,
see the [CONTRIBUTING.md](/CONTRIBUTING.md) file.