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

Python HTTP服务器可被浏览器访问但Raspberry Pi Pico无法连接

排查OSError: [Errno 113] EHOSTUNREACH的可能原因及解决方法
  • 服务器绑定地址限制本地访问
    检查你的server.py里的服务器绑定代码,要是写的是127.0.0.1或者localhost,那服务器只会监听本地回环接口,局域网里的Pico根本连不上。把绑定地址改成0.0.0.0(监听所有可用接口)或者服务器的局域网IP,比如:

    # 错误写法
    server.bind(('127.0.0.1', 8080))
    # 正确写法
    server.bind(('0.0.0.0', 8080))
    # 或者指定局域网IP
    server.bind(('192.168.1.105', 8080))
    
  • Pico端使用了错误的服务器地址
    别在Pico代码里写localhost或者127.0.0.1,这俩是Pico自身的回环地址,不是你的服务器地址。换成服务器的局域网IP,比如Pico里的请求代码改成:

    response = urequests.get("http://192.168.1.105:8080/")
    

    你可以在服务器上用ifconfig(Linux)或ipconfig(Windows)查自己的局域网IP。

  • 服务器和Pico不在同一局域网网段
    分别查两者的IP:Pico里用print(wlan.ifconfig())看自身IP,服务器端查局域网IP,确保前三位网段一致(比如都是192.168.1.x)。如果网段不同,要么把Pico连到服务器所在的WiFi,要么调整路由器路由设置(一般家庭环境直接换同WiFi就行)。

  • 路由器开启了AP隔离
    很多路由器默认开了AP隔离(也叫客户端隔离),会阻止同一WiFi下的设备互相访问。进路由器管理后台(一般是192.168.1.1或192.168.0.1),找到“AP隔离”“客户端隔离”选项,把它关掉再试。

  • 端口监听范围验证
    用命令确认服务器端口是否真的对外监听:

    • Linux/macOS:netstat -anp | grep 你的端口号,看输出里的LISTEN地址是不是0.0.0.0或局域网IP
    • Windows:netstat -ano | findstr 你的端口号,同样检查监听地址
  • DNS解析问题(如果用了域名)
    要是Pico代码里用的是域名访问服务器,可能DNS解析失败导致找不到主机。先换成直接用服务器局域网IP测试,排除解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:05:15