Skip to content

A lua mqtt client which support MQTT version 3.1.1

Notifications You must be signed in to change notification settings

MatthiasPetermann/luamqttc

 
 

Repository files navigation

luamqttc - An lua mqtt client

luamqttc is base on the paho Embedded MQTT C Client Library - MQTTPacket.

This fork aims to build under luadist.

It also depends on luasocket and luasec.

Supported features:

  • MQTT version v3.1.1
  • Authentication
  • QOS of 0, 1, 2
  • Last will topic
  • SSL

Note

  • To avoid 1) luasec package from luarocks repo can not load and 2) 100% cpu usage problem, you can install luasec manually from https://github.com/Yongke/luasec
  • org.eclipse.paho.mqtt.embedded-c is compiled by default in little-endian byte order, to compile it in big-endian byte order, use compile flag -DREVERSED

How to build

git clone https://github.com/Yongke/luamqttc.git
luarocks make

How to run tests

Run pato mqtt testing fake broker first

git clone https://github.com/eclipse/paho.mqtt.testing.git
cd paho.mqtt.testing/interoperability && python3 startbroker.py

and then run

lua tests/client_test.lua

After the tests, quit the fake broker(CTRL + C) and you will see the coverage report.

How to use

Check samples in tests/client_test.lua

License

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.

About

A lua mqtt client which support MQTT version 3.1.1

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Lua 31.6%
  • CMake 27.4%
  • C 22.2%
  • HTML 18.8%