2016-06-21 9 views
-1

mqtt経由でラズベリーのespモジュールを接続する際に問題があります。多くの検索の後、私は今やちょっと失ったと思う。ESP8266ラズベリーのローカルDNSを解決するnodemcu

だからここに私はここに指示に従った、私はとしてcubex.local動作するように設定私のラズベリーのローカルDNSを持っている問題

です:

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

すべては、この最後に正常に動作しているようです...
ローカルネットワーク上のcubex.localを使用して、sshとftpにラズベリーへのアクセス権を与えることができますが、そのアドレスを解決しようとすると、失敗することになります。

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) 

と出力:

cubex.localでMQTTブローカーに接続

これは、ESP上で実行されているコードです。しばらくお待ちください...
DNS再試行1!
DNS再試行2!
DNS再試行3!
DNS再試行4!
DNSが失敗します。
cubex.localのMQTTブローカーに接続します。しばらくお待ちください...
DNS再試行1!
DNS再試行2!
DNS再試行3!
DNS再試行4!
DNSが失敗します。
cubex.localのMQTTブローカーに接続します。しばらくお待ちください...
DNS再試行1!
DNS再試行2!
DNS再試行3!
DNS再試行4!
DNSが失敗します。

は、ホスト変数はcubex.localを保持し、私は192.168.0.3すべてが正常に動作しているラズベリーのIPを使用する場合のポートは1883
です。
まだアドレスを解決できない理由を理解できません。

+0

IPアドレスと「ドメイン名」を使用して/ etc/hostsファイルを編集しようとしましたか? –

+0

ええ、ドメインは魅力のように動作しますが、esp以外のどこからでもアクセスできます。それは、主にラズベリーがその最後に大丈夫であると信じています –

答えて

1

ホスト名cubex.localはmDNSによって登録されていますが、mqttはDNSに照会してホスト名を解決します。

一つの選択肢はmdns-proxyようにmDNSのDNSプロキシを使用することができ、他の一つは、直接のmDNSを照会するnodemcuを変更することです。

関連する問題