You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RP2040运行MicroPython首次WiFi连接失败问题求助

问题分析与解决方案

核心问题原因

  1. 首次运行连接失败:wifi.connect()是异步执行的,调用后不会立刻完成连接流程,紧接着调用isconnected()时连接还未建立,所以返回False。第二次运行时,Pico的WiFi模块缓存了之前的连接凭据,启动后自动完成连接,因此isconnected()直接返回True。
  2. 循环重试导致无限循环:在循环中反复调用wifi.connect()会打断正在进行的连接过程——每次调用都会重新发起连接请求,干扰了模块正常的握手流程,导致设备在路由器端显示已接入,但本地isconnected()始终无法正确识别连接状态。

修正后的代码

import network
import time

wifi = network.WLAN(network.STA_IF)
wifi.active(True)

# 先检查是否已连接,避免重复发起连接
if not wifi.isconnected():
    print('正在连接WiFi...')
    wifi.connect('<<SSID>>', '<<Password>>')
    # 等待连接完成,可根据需求调整超时时间
    timeout = 10
    while not wifi.isconnected() and timeout > 0:
        print(f"等待连接,剩余{timeout}秒")
        time.sleep(1)
        timeout -= 1

if wifi.isconnected():
    print(f"连接成功!IP地址: {wifi.ifconfig()[0]}")
else:
    print("连接超时,请检查WiFi凭据或信号")

额外注意事项

  • 确保<<SSID>>和<<Password>>替换为实际的WiFi名称和密码,注意大小写敏感。
  • 如果WiFi信号较弱,可适当延长超时时间。
  • 若仍有问题,可尝试清除缓存后重新连接:
wifi.disconnect()
time.sleep(1)
wifi.connect('<<SSID>>', '<<Password>>')

内容的提问来源于stack exchange,提问作者mu88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:47:11