Raspberry Pi Pico W AP模式main.py运行异常,手动运行正常求解决
问题分析与解决
你的代码在手动运行时正常,但作为main.py开机启动时AP配置不生效,核心是两处代码问题导致后续配置逻辑未执行:
缺少Pin模块导入
代码中使用Pin类却未导入machine模块的Pin,手动运行时可能已在交互环境提前导入,所以无报错;但main.py开机从头执行时会触发错误,导致AP配置代码被中断,设备只能使用默认AP设置。AP激活状态判断错误
ap.active是方法而非属性,原代码while ap.active == False:会始终为真,导致循环卡住,后续配置逻辑无法执行。
修正后的代码
import socket import network from machine import Pin # 补充Pin模块导入 ssid = 'PICOlo amore' password = '12345678' led = Pin(15, Pin.OUT) ap = network.WLAN(network.AP_IF) ap.active(False) # 先配置参数再激活AP,避免激活后配置不生效 ap.config(essid=ssid, password=password) ap.active(True) # 修正激活状态判断逻辑 while not ap.active(): pass print('Access point active') print(ap.ifconfig())
额外排查建议
- 若仍有问题,可在
ap.active(False)后添加延迟,避免硬件初始化不彻底:
新增import time并调用time.sleep(1); - 重新上传
main.py,确认文件未损坏,设备重启后加载的是最新版本; - 确认密码长度符合要求(Pico W AP密码需至少8位,你的密码满足条件)。
内容的提问来源于stack exchange,提问作者Irakli Tulashvili
相关产品推荐
相关产品推荐

