Я установил Mosquitto на машину для Windows, и это брокер MQTT v3.1 (скачанный недавно с сайта mosquitto.org).Невозможно подключиться к брокеру MQTT от ESP8266
Я пытаюсь подключиться к брокеру от ESP8266, и до сих пор мне не удалось связаться с брокером. Я могу подключиться к публичному брокеру, но не к брокеру, установленному на моей машине, подключенному к той же сети Wi-Fi.
Я построил прошивку, используя сервис build-nodemcu и использовал основную ветку. Я думаю, что он имеет MQTT v3.1.1.
Я наткнулся на это question, и я думаю, что столкнулся с той же ситуацией. Хотя причина вопроса была дана, как избавиться от этой проблемы не упоминалось.
Не могли бы вы предложить, как избавиться от этой проблемы?
UPDATE [13-09-2016]
Вот код, я использую:
sensorID = "sen_001"
tgtHost = "192.168.8.101"
tgtPort = "1883"
mqttUserID = "admin"
mqttPass = "word"
mqttTimeOut = 120
topicQueue = "/security"
WIFI_SSID = "Lakmal 4G"
WIFI_PASSWORD = "TF18BNY3M"
WIFI_SIGNAL_MODE = wifi.PHYMODE_N
ESP8266_IP=""
ESP8266_NETMASK=""
ESP8266_GATEWAY=""
if wifi.sta.getip() == nil then
wifi.setmode(wifi.STATION)
wifi.setphymode(WIFI_SIGNAL_MODE)
wifi.sta.config(WIFI_SSID, WIFI_PASSWORD)
wifi.sta.connect()
end
if ESP8266_IP ~= "" then
wifi.sta.setip({ip=ESP8266_IP,netmask=ESP8266_NETMASK,gateway=ESP8266_GATEWAY})
end
print("IP: " .. wifi.sta.getip())
m = mqtt.Client(sensorID, mqttTimeOut, mqttUserID, mqttPass, 1)
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:connect(tgtHost, tgtPort, 0, function(client) print ("connected") end,
function(client, reason) print("failed reason: "..reason) end)
Я всегда получаю "удалось причину: -5" ошибка.
Я проверил брокер с расширением chrome MQTTLens, и брокер прекрасно работает.
Извините за то, что вы ленивы, чтобы не обновлять вопрос дополнительной информацией. В любом случае, когда я только что выполнил mosquitto в командной строке, он показывает версию как 3.1. Вот почему я сказал, что это 3.1. Я уже видел, что москит реализует обе версии, как вы указали, но не отображается в окне консоли. Это показывает только 3.1. Неудачная причина всегда -5. Я буду обновлять вопрос с использованием кода. –
Я обновил вопрос с помощью исходного кода. –
Я только что узнал, что не могу проверить компьютер, установленный Mosquitto. Кажется, проблема связана с конфигурацией сети Wi-Fi. Этот вопрос можно закрыть, так как он не связан с ESP. Мне очень жаль, что тратила время на то, что прочитала это и попыталась ответить. :( –