Lua mqtt client, (ноль значение) ошибка

Я пытаюсь протестировать программы с концепцией Интернета вещей. Я получил этот простой клиент MQTT Луа. Он отлично работает после перепрошивки моего devkit nodemcu v2, но когда я перезагружаю его или сохраняю его снова, ESPlorer говорит:

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

Код: Источник: https://www.cloudmqtt.com/docs-nodemcu.html

-- initiate the mqtt client and set keepalive timer to 120sec
mqtt = mqtt.Client("client_id", 120) -- "username", "password")

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

-- on receive message
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("connected")
-- subscribe topic with qos = 0
mqtt:subscribe("/topic",0, function(conn) 
-- publish a message with data = my_message, QoS = 0, retain = 0
 mqtt:publish("/topic","hello",0,0, function(conn) 
  print("sent") 
end)
end)
end)

Возможно ли, что этот клиент может работать в любое время? Что мне не хватает? Прямо сейчас я могу общаться с брокером только после сохранения скрипта на перепрошитом устройстве.

1 ответ

Боролся с этой проблемой - прошитый аппарат плохо писал. После перепрошивки эта программа работает нормально.

Другие вопросы по тегам