2016-06-21 12 views
-1

Ich habe ein Problem mit der Verbindung der esp-Modul auf der Himbeere über mqtt. Nach einer Menge Suche denke ich, dass ich jetzt irgendwie verloren bin.ESP8266 nodemcu resolving Himbeer lokalen dns

Also hier ist das Problem

Ich habe Setup meines Himbeere lokalen dns als cubex.local zu arbeiten, ich folgte den Anweisungen hier:

http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

Alles an diesem Ende, adaequat zu sein scheint ...
Ich kann die cubex.local im lokalen Netzwerk verwenden, um ssh und ftp Zugriff auf die Himbeere zu haben, aber wenn es darum geht, esp versucht, diese Adresse zu lösen, bleibt es scheitern.

Dies ist der Code auf der esp ausgeführt wird:

function broker_connect() 
m = mqtt.Client(ID, 120, BRUSER, BRPWD) 
m:on("message", on_message_received) 
m:on("connect", on_connect) 
m:on("offline", on_mqqt_offline) 

tmr.alarm(0, 1000, 1,function() 
print("Connecting to MQTT broker at "..HOST..". Please wait...") 
m:connect(HOST , PORT, 0) 
end) 

und die Ausgabe:

zu MQTT Broker bei cubex.local anschließen. Bitte warten ...
DNS retry 1!
DNS-Wiederholung 2!
DNS-Wiederholung 3!
DNS-Wiederholung 4!
DNS-Fehler!
Verbindung zum MQTT-Broker bei cubex.local. Bitte warten ...
DNS retry 1!
DNS-Wiederholung 2!
DNS-Wiederholung 3!
DNS-Wiederholung 4!
DNS-Fehler!
Verbindung zum MQTT-Broker bei cubex.local. Bitte warten ...
DNS retry 1!
DNS-Wiederholung 2!
DNS-Wiederholung 3!
DNS-Wiederholung 4!
DNS-Fehler!

Der Host-Variable hält die cubex.local und die Port ist 1883.
Wenn ich die IP-Adressen verwenden, die Himbeere 192.168.0.3 funktioniert alles einwandfrei ist.
Noch verstehe ich nicht, warum es immer noch nicht die Adresse auflösen kann.

+0

Haben Sie versucht, Ihre/etc/hosts-Datei mit der IP-Adresse und dem "Domain-Namen" zu bearbeiten? –

+0

gut ja, die Domain funktioniert wie ein Charme, während sie von irgendwo anders als die esp zugreifen, das war in erster Linie zu glauben, dass die Himbeere in Ordnung ist an diesem Ende –

Antwort

1

Ihr Hostname cubex.local wird über mDNS registriert, aber mqtt fragt einen DNS ab, um den Hostnamen aufzulösen.

Eine Option könnte sein, einen DNS-Proxy für mDNS wie mdns-proxy zu verwenden, ein anderer ist es, nodemcu zu modifizieren, um die mDNS direkt abzufragen.