I am working on esp8266 and trying to connect to test.mosquitto.org. here is what I got from net
m = mqtt.Client("clientid", 60, "user", "password")
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("http://test.mosquitto.org/", 1883, 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();
I am not sure from where to get clientId ,user and pass,
here what I am getting : DNS retry 1! DNS retry 2! DNS retry 3! DNS retry 4! DNS Fail!
The problem is the http:// at the start of the connect string and the / at the end
The connect command wants just a hostname not a URL and even if it did you would want to pass tcp://test.mosquitto.org or mqtt://test.mosquitto.org
...
m:connect("test.mosquitto.org", 1883, 0, function(conn) print("connected") end)
...
Also as an aside, your topics should not start with a /, this just adds an extra unnecessary null to the start of the topic tree.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With