清心寡欲——浩 2019-11-10 14:59 采纳率: 0%
浏览 287

NodeMCU代码有问题吗?连接不上wifi 试了网上的很多代码 都是报错

图片说明

-- init.lua
print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
wifi.sta.config('66666666', '39281788')
wifi.sta.connect()

tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
    if wifi.sta.getip() == nil then
        print('Waiting for IP ...')
    else
        print('IP is ' .. wifi.sta.getip())
    tmr.stop(1)
    end
end)
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-29 19:02
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    从您提供的代码来看,似乎有一些问题。以下是针对您的代码的一些修正和建议:

    1. tmr.stop(1) 应该在配置完成后调用,而不是每次接收到 IP 后。

    2. 在设置无线网络之前,应该先初始化 NodeMCU。

    3. 在尝试获取 IP 地址时,可以使用 wifi.sta.isconnected() 来检查无线网络是否已成功连接。

    修复后的代码示例如下:

    -- init.lua
    print('Setting up WIFI...')
    wifi.setmode(wifi.STATION)
    
    # 初始化 NodeMCU
    node.init()
    
    # 设置无线网络参数
    wifi.sta.config('66666666', '39281788')
    
    # 连接到无线网络
    wifi.sta.connect()
    
    # 检查无线网络是否已连接
    if wifi.sta.isconnected() then
        print('IP is connected')
    else
        print('Waiting for connection...')
    end
    
    # 设置定时器并开始计时
    tmr.start(1, 1000, tmr.ALARM_AUTO)
    

    请注意,以上代码可能需要根据实际硬件环境进行调整。如果您正在使用 NodeMCU 和 ESP8266,则可能需要将上述代码替换为相应的 ESP8266 示例代码。此外,确保安装了 ESP8266 的支持库,并正确配置了 ESP8266 串口。

    评论

报告相同问题?