Ank*_*ala 4 mqtt nodemcu esp8266
我正在研究 esp8266 并尝试连接到 test.mosquitto.org。这是我从网上得到的
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();
Run Code Online (Sandbox Code Playgroud)
我不确定从哪里获取 clientId、user 和 pass,
我得到的是:DNS 重试 1!DNS重试2!DNS重试3!DNS重试4!DNS 失败!
问题是连接字符串开头的http://和结尾的/
connect 命令只需要一个主机名而不是 URL,即使需要,您也需要传递tcp://test.mosquitto.org或mqtt://test.mosquitto.org
...
m:connect("test.mosquitto.org", 1883, 0, function(conn) print("connected") end)
...
Run Code Online (Sandbox Code Playgroud)
另外,您的主题不应以 / 开头,这只会在主题树的开头添加一个额外的不必要的 null。
| 归档时间: |
|
| 查看次数: |
17156 次 |
| 最近记录: |