lua - nodemcu如何减少获取ip地址所需的时间

在 NodeMCU 处于站模式并在 init.lua 中使用以下代码片段时,在报告 IP 地址(或达到 IP 堆栈就绪状态)之前平均需要循环约 6 次迭代

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 配置,似乎没有什么不同 这是正常的吗? 有没有办法使速度更快? 我只是做错了吗?

最佳答案

以下是我的实践经验,现在可能已经过时了。我需要重新测试这些...

我做了类似的事情,效果很好。然而,虽然 WiFi 在“重置”后无法快速使用,但在从深度 sleep 中唤醒时可以很快使用。

第一次使用后(设置会自动保存)我稍后会简单地这样做 lua wifi.sta.setip(cfg) wifi.sta.status()——这用来加快速度

我还设置了 wifi.sta.autoconnect(0) 以避免 dhcp 延迟。

顺便说一句,要检查连接,最好等待 wifi.sta.status() == 5

HTH

https://stackoverflow.com/questions/34348155/

相关文章:

text - 文本分类的 TensorFlow 示例 - 如何评估您自己的文本?

php - 检查是否在 PHP 中设置了变量

android - 阻止 FragmentStatePagerAdapter 在下一个或上一个滑动

java - 通过表达式或某种解决方法的双向属性绑定(bind)

maven - 如果 Maven 中不存在,如何创建文件夹?

android - Logcat 警告 :Drawable android:drawable/tex

python - Python 的 Tabulate 逗号对齐错误

java - 我正在尝试使用 tomcat 实现有弹性的 caSTLe,但出现 ClassNotFo

c# - Application.Exit 上的 InvalidOperationException

java - 改造同步调用异步调用