Lua mqtt 客户端, (一个空值) 错误

我正在尝试使用物联网概念测试程序。我得到了这个简单的 mqtt lua 客户端。我在我的 devkit nodemcu v2 上刷好后运行良好,但当我重新启动它或保存它时,ESPlorer 显示:

test.lua:2: attempt to call field 'Client' (a nil value)

代码: 来源:https://www.cloudmqtt.com/docs-nodemcu.html

-- 初始化 mqtt 客户端,并将 keepalive 计时器设置为 120 秒
mqtt = mqtt.Client("client_id", 120) -- "username", "password")

mqtt:on("connect", function(con) print ("已连接") end)
mqtt:on("offline", function(con) print ("已离线") end)

-- 接收消息
mqtt:on("message", function(conn, topic, data)
print(topic .. ":" )
if data ~= nil then
print(data)
end
end)

mqtt:connect("IP", 1883, 0, function(conn)
print("已连接")
-- 订阅 qos = 0 的主题
mqtt:subscribe("/topic",0, function(conn)
-- 发布数据 = my_message,QoS = 0,retain = 0 的消息
 mqtt:publish("/topic","你好",0,0, function(conn)
  print("已发送")
end)
end)
end)

这个 mqtt 客户端能随时工作吗?我漏掉了什么?现在我只能在刷好的设备上保存脚本后与代理通信。

点赞