2015-12-18 4 views
2

С NodeMCU в режиме станции со следующим фрагментом кода в init.lua он по-прежнему принимает в среднем около 6 итераций цикла до того, как сообщается IP-адрес (или IP-адрес стек готовый состояние достигается)nodemcu, как сократить время, необходимое для приобретения IP-адреса

wifi.sta.disconnect() 
--settings.lua 
SSID = "xxxx" 
APPWD = "yyyy" 

cfg = 
    { 
    ip="192.168.0.85", 
    netmask="255.255.255.0", 
    gateway="192.168.0.1" 
    } 
wifi.sta.setip(cfg) 
wifi.sta.config(SSID,APPWD) 
wifi.sta.autoconnect(1) 

-- wait for WIFI ---- 
function checkWIFI() 
    print("Waiting for WIFI...") 
    ipAddr = wifi.sta.getip() 
    if ((ipAddr ~= nil) and (ipAddr ~= "0.0.0.0"))then 
     print("IP Address: " ..ipAddr) 

    else 
     -- schedule try again 
     tmr.alarm(0 , 1000 , 0 , checkWIFI) 
    end 
end 
tmr.alarm(0 , 1000 , 0 , checkWIFI) 

Пробовал и без статической конфигурации IP, кажется, не отличается Разве это нормально? Есть ли способ сделать быстрее? Я просто делаю это неправильно?

ответ

0

Ниже приведен мой практический опыт, который может быть устаревшим. Мне нужно повторить эти ...

Я делаю подобную вещь, и она работает хорошо. Однако, хотя Wi-Fi недоступен быстро после «перезагрузки», он доступен очень быстро при пробуждении от глубокого сна.

После первого использования (настройки сохраняются автоматически) я потом просто сделать это lua wifi.sta.setip(cfg) wifi.sta.status() -- this used to speed things up

Я также установил wifi.sta.autoconnect(0), чтобы избежать задержек Dhcp.

BTW, чтобы проверить соединение, лучше всего подождать wifi.sta.status() == 5.

HTH

 Смежные вопросы

  • Нет связанных вопросов^_^