ESP8266 nodemcu разрешает локальные DNS малины

У меня проблема с подключением модуля esp на малине через mqtt. После долгих поисков я думаю, что теперь я немного потерян.

Так вот проблема

Я настроил локальный DNS моей малины для работы как cubex.local, я следовал инструкциям здесь:

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

Кажется, с этой стороны все работает нормально...
Я могу использовать cubex.local в локальной сети, чтобы иметь доступ к ssh и ftp к малине, но когда дело доходит до esp, пытающегося разрешить этот адрес, он продолжает терпеть неудачу.

это код, работающий на esp:

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)

и вывод:

Подключение к брокеру MQTT на сайте cubex.local. Пожалуйста, подождите...
Повторная попытка DNS 1!
Повторная попытка DNS 2!
Повторная попытка DNS 3!
Повторная попытка DNS 4!
Ошибка DNS!
Подключение к брокеру MQTT на сайте cubex.local . Пожалуйста, подождите...
Повторная попытка DNS 1!
Повторная попытка DNS 2!
Повторная попытка DNS 3!
Повторная попытка DNS 4!
Ошибка DNS!
Подключение к брокеру MQTT на сайте cubex.local . Пожалуйста, подождите...
Повторная попытка DNS 1!
Повторная попытка DNS 2!
Повторная попытка DNS 3!
Повторная попытка DNS 4!
Ошибка DNS!

Переменная хоста содержит cubex.local, а порт — 1883.
Когда я использую IP-адрес малины, который равен 192.168.0.3, все работает нормально.
Тем не менее я не понимаю, почему он не может разрешить адрес.


person Chris Petropoulos    schedule 21.06.2016    source источник
comment
Вы пытались отредактировать файл /etc/hosts с IP-адресом и доменным именем?   -  person Dimitris Sapikas    schedule 21.06.2016
comment
ну да, домен работает как шарм при доступе к нему из любого места, кроме esp, это в первую очередь заставило меня поверить, что с малиной все в порядке на этом конце   -  person Chris Petropoulos    schedule 21.06.2016


Ответы (1)


Ваше имя хоста cubex.local зарегистрировано через mDNS, но mqtt запрашивает DNS для разрешения имени хоста.

Одним из вариантов может быть использование прокси-сервера DNS для mDNS, например mdns-proxy. модифицируйте nodemcu для прямого запроса к mDNS.

person mpromonet    schedule 21.06.2016