• Stars
    star
    189
  • Rank 198,185 (Top 5 %)
  • Language
    C
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Lightweight and fully asynchronous MQTT client C library based on libev

libumqtt

license PRs Welcome Issue Welcome Release Version Build Status

A 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 better, see the CONTRIBUTING.md file.

More Repositories

1

rtty

🐛 Access your terminal from anywhere via the web.
C
3,519
star
2

oui

🐛 A framework used to develop Web interface for OpenWrt. Use Lua-eco + Vue3 + Vite + Element Plus.
C
1,004
star
3

rttys

Access your device's terminal from anywhere via the web.
Go
636
star
4

libuhttpd

A very flexible, lightweight and high performance HTTP server library based on libev and http-parser for Embedded Linux.
C
375
star
5

libuwsc

A Lightweight and fully asynchronous WebSocket client library based on libev
C
287
star
6

wifidog-ng

Next generation WifiDog implemented in Lua.
Lua
223
star
7

evmongoose

DEPRECATED. Evmongoose is an asynchronous, event(libev) based multi-protocol embedded networking library with functions including TCP, HTTP, WebSocket, MQTT and much more. It's based on mongoose and libev implementation and it's support Lua API.
C
211
star
8

xluci2

DEPRECATED. xLuCI2 is a JavaScript Webgui for embedded devices running OpenWRT or LEDE
JavaScript
151
star
9

U-boot-1

U-boot学习笔记
86
star
10

lua-eco

🐛Lua-eco is a Lua interpreter with a built-in event loop for scheduling lightweight coroutines automatically, enabling efficient concurrency in Lua. Build high-performance, scalable applications.
C
57
star
11

wifidog-ng-authserver

A simple auth server for wifidog-ng to test
Go
22
star
12

buffer

A buffer similar to the skbuff in the kernel, but more suitable for application.
C
14
star
13

barebox

Better barebox. Support AR9331, AR9344 and more...
C
13
star
14

ssl

The encapsulation of OpenSSL, WolfSSL, and MBEDTLS aims to make usage easy.
C
6
star
15

log

C
3
star