NodeMCU lua功能" conn"

时间:2015-08-24 08:19:42

标签: lua mqtt esp8266 nodemcu

我可能有一个奇怪的问题,但我需要知道这一点。我创建了一个lua脚本来连接esp8266和我的mqtt代理。示例脚本非常简单。

m = mqtt.Client("clientid", 120, "user", "password")

m:lwt("/lwt", "offline", 0, 0)

m:on("connect", function(con) print ("connected") end)
m:on("offline", function(con) print ("offline") end)

m:on("message", function(conn, topic, data) 
  print(topic .. ":" ) 
  if data ~= nil then
    print(data)
  end
end)

m:connect("192.168.11.118", 1880, 0, function(conn) 
    print("connected") 
end)

m:subscribe("/topic",0, function(conn) 
    print("subscribe success") 
end)

m:publish("/topic","hello",0,0, function(conn) 
    print("sent") 
end)

m:close();

但是......有一件事我无法克服。这就是" con"和" conn"参数?它看起来像一个实例或东西,但没有定义这样的东西。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:1)

the docs,您可以发现客户端的on()方法注册了一个回调,其中第一个参数是客户端本身。为方便起见(如果链接死亡),我复制了以下相关信息:

mqtt.client:上()

描述

将回调函数注册到事件。

语法

mqtt:on(event, function(client, [topic], [message]))

参数

event
字符串,可以是:" connect"," message"," offline"

function(client, [topic], [message])
回调函数。第一个参数是客户。 如果事件是" message",则第二个和第三个参数将被接收主题和消息字符串。

返回

为零。