WindowsマシンにMosquittoをインストールしました。これはMQTT v3.1ブローカーです(最近mosquitto.orgからダウンロードしました)。ESP8266からMQTTブローカーに接続できません
私はESP8266からブローカに接続しようとしていますが、これまでブローカに接続できませんでした。パブリックブローカーに接続できますが、同じWi-Fiネットワークに接続されているマシンにインストールされているブローカーには接続できません。
私はbuild-nodemcuサービスを使用してファームウェアを構築し、masterブランチを使用しました。 MQTT v3.1.1があると思います。
私はこれを見つけたquestionと私は同じ状況に遭遇したと思います。問題の原因が明らかにされているにもかかわらず、どのように問題を取り除くかについては言及されていない。
この問題を解決する方法を教えてください。
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" エラー
UPDATEここで[13-09-2016]
は、私が使用していたコードです。
私はブローカーをMQTTLensクロム拡張でテストし、ブローカーはうまく動作します。
さらなる情報で質問を更新しないことを怠っていて申し訳ありません。とにかく、コマンドラインでmosquittoを実行した直後、バージョンは3.1と表示されます。だから私はそれが3.1だと言ったのです。あなたが指摘したように、蚊が両方のバージョンを実装していることは既に見ていますが、コンソールウィンドウには表示されません。 3.1のみを表示します。失敗した理由は常に-5です。私は使用されているコードで質問を更新します。 –
質問をソースコードで更新しました。 –
Mosquittoがインストールされているコンピュータにpingできないことがわかりました。 Wi-Fiネットワーク設定に問題があるようです。 この質問はESPに関連していないため終了できません。 これを読んで答えようとするあなたの時間を無駄にして本当に申し訳ありません。 ( –