【问题标题】:Why is wifi.sta nil even after wifi.setmode(wifi.STATIONAP)?为什么即使在 wifi.setmode(wifi.STATIONAP) 之后 wifi.sta 仍然为零?
【发布时间】:2018-09-26 20:40:31
【问题描述】:

编辑:我要做的基本上是在之后配置站 softap 正在运行 TCP 服务器。

当我调用 wifi.sta.config(station_cfg) 时,我得到一个 panic 错误,因为 wifi.stanil,即使在我之前正确配置之后也是如此。

当我这样做时:

function connectHib()
   wifi.setmode(wifi.STATIONAP)
   [AP config here]
   station_cfg={}
   station_cfg.ssid = ""
   station_cfg.pwd = ""
   station_cfg.save = false
   station_cfg.auto = false   
   wifi.sta.config(station_cfg)
end

它工作正常,但是当我调用它时,然后用srv=net.createServer(net.TCP) 启动一个服务器,然后调用以下函数:

function validateSTA()
   station_cfg={}
   station_cfg.ssid = _G.wifi
   station_cfg.pwd = _G.senha
   station_cfg.save = false
   station_cfg.auto = false
   wifi.sta.config(station_cfg) -- this creates an error
   wifi.sta.connect()
end

它在注释行上给了我一个 PANIC 错误。我只是想重新配置 STATION 模块,然后告诉它连接,以便我可以验证连接。

我正在使用:

NodeMCU custom build by frightanic.com
    branch: master
    commit: 67027c0d05f7e8d1b97104e05a3715f6ebc8d07f
    SSL: false
    modules: adc,file,gpio,net,node,pwm,sjson,tmr,uart,wifi
 build created on 2018-04-16 13:55
 powered by Lua 5.1.4 on SDK 2.2.1(cfd48f3)

让我烦恼的是为什么它之前似乎没有被“声明”,但它适用于第一个功能...我想 wifi . 是全局的,类似于 _G. 变量。

如果我在没有我的 init.lua 的情况下在 ESP 上的 ESPlorer 命令行上单独调用函数,它也可以工作。

我还尝试了调试固件,我看到的唯一奇怪的东西是 wifi_event_monitor_handle_event_cb,它每 4 秒左右调用一次。

谢谢大家,感谢大家的帮助,因为我现在被困了大约一周。

【问题讨论】:

    标签: lua esp8266 nodemcu esplorer


    【解决方案1】:

    与许多其他脚本语言一样,lua 没有声明,只有赋值。 您应该在第一次和第二次调用期间检查wifi 的值。似乎一开始您将其用作表格,而在第二个函数中您尝试将其用作station_cfg.ssid = _G.wifi 中的字符串。

    或者原因是全局变量不是“像_G”,它们存储在_G中。

    【讨论】:

    • 谢谢@Dimitry。过了一会儿,我意识到真正的问题应该是编辑中的问题。无论如何,我会检查 wifi 上的值并显示结果。
    • 嘿@Dimitry。正如你所建议的,我检查了这些值并意识到我错误地覆盖了 _G.wifi !我花了很长时间才告诉你,因为我还注意到我以旧方式使用服务器,当前固件不再支持它,它给了我一些误导性错误。我听说我应该使用_G。谨慎使用表,但我仍然不知道已经在那里声明的变量名,并且在我的代码中,_G.wifi 完全可以使用,但不幸的是它覆盖了 wifi.sta 模块,我现在知道它可以通过这种方式访问​​。
    猜你喜欢
    • 2015-12-17
    • 2015-09-30
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多