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

无网络环境下USB共享网络时,如何便捷访问树莓派Flask服务

无网络环境下Android通过USB共享访问树莓派Flask应用的解决方案

方案1:让Android直接显示树莓派的USB共享IP

  • 进入Android系统设置:设置 > 网络和互联网 > 热点和共享 > USB共享网络,点击进入已连接设备列表(不同品牌路径可能略有差异,比如部分机型需长按USB共享选项),列表中会直接显示树莓派的IP地址。
  • 若系统设置未显示,可安装无root权限的网络管理APP(如NetX),在APP的“已连接设备”模块中查看USB共享网络下的树莓派IP。

方案2:让Android支持Bonjour/Avahi解析

  • 树莓派端配置:确保Avahi服务监听USB共享网卡(通常为usb0)。编辑/etc/avahi/avahi-daemon.conf,将allow-interfaces字段修改为包含usb0,例如:
    allow-interfaces=eth0,wlan0,usb0
    
    重启Avahi服务生效:sudo systemctl restart avahi-daemon
  • Android端配置:
    • 安装支持Zeroconf的浏览器插件(如Firefox的Zeroconf插件),或直接使用支持Bonjour的第三方浏览器;
    • 部分定制系统(如MIUI、ColorOS)需在开发者选项中开启“本地网络发现”类功能;
    • 也可安装专用工具(如Bonjour Browser),扫描获取树莓派的.local地址(默认为raspberrypi.local),直接在浏览器输入raspberrypi.local:5000(替换为你的Flask端口)访问。

方案3:更便捷的替代方案

固定树莓派USB共享IP

Android USB共享的默认网关通常为192.168.42.1(少数机型为192.168.137.1),在树莓派上配置静态IP即可永久固定:
编辑/etc/dhcpcd.conf,添加以下内容:

interface usb0
static ip_address=192.168.42.100/24
static routers=192.168.42.1
static domain_name_servers=192.168.42.1

重启树莓派后,直接在Android浏览器输入192.168.42.100:5000即可访问,无需每次查找IP。

树莓派主动推送IP到Android

编写简单脚本,当树莓派获取到USB网络IP后,通过蓝牙推送到Android:

#!/bin/bash
while true; do
    IP=$(ip addr show usb0 | grep inet | awk '{print $2}' | cut -d/ -f1)
    if [ -n "$IP" ]; then
        echo "树莓派USB IP: $IP" | bluetooth-sendto --device "你的Android设备名称"
        break
    fi
    sleep 5
done

将脚本设为开机自启(添加到/etc/rc.local并加&后台运行),Android端安装蓝牙接收APP(如Bluetooth File Transfer)即可接收IP信息。

USB串口直接查看IP

若树莓派有GPIO串口,用USB转串口模块连接Android,安装串口助手APP(如Serial USB Terminal),连接后执行ip addr show usb0即可直接查看IP,无需依赖网络。


内容的提问来源于stack exchange,提问作者Aurélien Coillet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 01:07:49