Микропрограмма Nodemcu не может разрешить DNS или использовать клиент http.Но он подключается к работающей точке доступа Wi-Fi. - PullRequest
0 голосов
/ 02 июня 2018

Я могу подключиться к AP, используя init.lua по умолчанию из readthedocs.- https://nodemcu.readthedocs.io/en/master/en/upload/

Но DNS не работает и не работает http-клиент.

Я отредактировал credentials.lua, чтобы соответствовать моему SSID и паролю.Он успешно подключается к моему WiFi

Я подтверждаю, что он связан с этим примером сценария:

do
local sta_config=wifi.sta.getconfig(true)
print(string.format("\tCurrent station config\n\tssid:\"%s\"\tpassword:\"%s\"\n\tbssid:\"%s\"\tbssid_set:%s", sta_config.ssid, sta_config.pwd, sta_config.bssid, (sta_config.bssid_set and "true" or "false")))
end

Результаты:

[NodeMCU-Tool] Connected
[NodeMCU] Version: 2.2.0 | ChipID: 0x813d2b | FlashID: 0x1625c2
[NodeMCU] Running "getapinfo.lua"
[NodeMCU] >----------------------------->
Current station config
    ssid:"JohnnyCinco"  password:"88888888"
    bssid:"00:05:4e:4c:3e:0b"   bssid_set:false
[NodeMCU] >----------------------------->

Я подтверждаю, что получаю IP, используя этопример сценария.

ip, nm, gw = wifi.sta.getip()
print("IP Address is:")
print(ip)
print("NM is:")
print(nm)
print("GW Address is:")
print(gw)

Результаты:

IP Address is:
192.168.61.197
NM is:
255.255.255.0
GW Address is:
192.168.61.1

Это правильный IP-адрес для этого маршрутизатора.

Но простой DNS не удается.Я создал скрипт с примером из nodemcu.

net.dns.resolve("www.google.com", function(sk, ip)
    if (ip == nil) then print("DNS fail!") else print(ip) end
end)

Это результат.

[NodeMCU-Tool] Connected
[NodeMCU] Version: 2.2.0 | ChipID: 0x813d2b | FlashID: 0x1625c2
[NodeMCU] Running "getgoogdns.lua"
[NodeMCU] >----------------------------->
null
[NodeMCU] >----------------------------->

Даже если я получаю DNS-сервер от DHCP.Я изменил его на 8.8.8.8 для повторного тестирования, и у меня возникла та же ошибка.

Я могу создать http-сервер и подключить его к другим WiFi-клиентам в локальной сети, эта часть работает.Но поиск DNS и запросы клиента http все терпят неудачу.

Эта точка доступа WiFi работает для всех других клиентов.Там нет брандмауэра.Просто чтобы быть уверенным, что я попробовал 2 разных маршрутизатора.Я также попробовал третий маршрутизатор, который имеет сотовый интернет вместо моего кабельного интернета.Все сбой.

Это на nodemcu версии 2.2.0.Я пробовал как dev, так и master ветки.Одинаковые результаты на обоих.

Я пытался собрать на nodemcu-build.com, а также на своей собственной машине с Linux.Обе ошибки.

Я пробовал 4 разные платы разработки ESP8266 от разных поставщиков.Все терпят неудачу.

Чего мне не хватает?Я, должно быть, упускаю что-то простое.Это слишком просто, чтобы быть сломанным.Или последняя прошивка сломана?

Спасибо J5

...