Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MineQTT

Installation

via OPPM

oppm register mineqtt/oppm
oppm install mqtt

via interactive Lua shell

local net = require("internet"); local io = require("io"); local f = io.open("/lib/mqtt.lua", "w"); for line in net.request("https://raw.githubusercontent.com/mineqtt/mineqtt/main/mqtt.lua") do f:write(line) end; f:flush():close()

Usage

local mqtt = require("mqtt")
local event = require("event")

local running = true

local client, err = mqtt.open("mqtt.example.org", 1883)
if err ~= nil then
    error(err)
end

local err = client:connect()
if err ~= nil then
    error(err)
end

local err = client:handle()
if err ~= nil then
    error(err)
end

print("connected: ", client.is_connected)

local err = client:publish("test", "Test Message Please Ignore")
if err ~= nil then
    error(err)
end

local err = client:subscribe("test", "test2")
if err ~= nil then
    error(err)
end

local err = client:handle()
if err ~= nil then
    error(err)
end

local mqtt_listener = event.listen("mqtt_message", function(_, topic, message)
    print("received message")
    print("topic: ", topic)
    print("message: ", message)
end)

local int_listener = event.listen("interrupted", function()
    print("interrupted")
    running = false
end)

while running do
    local err = client:handle()
    if err ~= nil then
        print(err)
        running = false;
    end

    os.sleep(0.1)
end

event.cancel(mqtt_listener)
event.cancel(int_listener)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages