• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

MQTT, да что со мной не так?

DeFluder

New member
Друзья, что я делаю не так, почему не хочет работать пример из NodeMCU documentation, пока не закоментирую строчку
"m:lwt("/lwt", "offline", 0, 0)" ?

JavaScript:
m = mqtt.Client("clientid", 120)

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

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

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

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

m:on("overflow", function(client, topic, data)
  print(topic .. " partial overflowed message: " .. data )
end)

m:connect("192.168.11.118", 1883, 0, function(client)
  print("connected")

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

  client:publish("/topic", "hello", 0, 0, function(client) print("sent") end)
end,
function(client, reason)
  print("failed reason: " .. reason)
end)

m:close();
 

DeFluder

New member
Отвечаю сам себе
брокер указывает требует обязательный префикс топика (корневой путь) /user/DeFluder

problem resolved m:lwt("/user/DeFluder/lwt", "offline", 0, 0)
 
Сверху Снизу