• Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
    C
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 3 months 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,643
star
2

oui

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

rttys

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

libuhttpd

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

libuwsc

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

wifidog-ng

Next generation WifiDog implemented in Lua and kernel module.
Lua
229
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
212
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学习笔记
104
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
71
star
11

wifidog-ng-authserver

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

lua-ffi

A portable lightweight C FFI for Lua, based on libffi and aiming to be mostly compatible with LuaJIT FFI.
C
22
star
13

buffer

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

barebox

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

ssl

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

log

C
3
star