Network Configuration
上硬件前先选网络布局。核心区别是 sim2real 进程跑在哪里,以及 Pico 数据流走哪张网。
有线部署
这种方式下所有代码都跑在 laptop 上。Laptop 通过网线连接 G1,通过实验室 Wi-Fi 和 Pico 通信。
如果你在 Robot I/O 里选择了 ZMQ bridge 模式,就在 laptop 上运行 bridge:
uv run scripts/g1/real_bridge.py
可以用 ip -br link 查看网卡名。只有有线网卡不是默认 eth0 时,才加
--interface <laptop_ethernet_interface>。Pico 连接实验室 Wi-Fi,Laptop 和 Pico
之间通过实验室 Wi-Fi 通信。
外置 Wi-Fi 部署
这种方式下所有 runtime 代码都跑在 G1 onboard Orin 上。Orin 和 laptop 都连接实验室 Wi-Fi,laptop 通过 SSH 控制 Orin 命令行。Pico 也连接实验室 Wi-Fi,并通过实验室 Wi-Fi 和 Orin 通信。
从 laptop SSH 到 Orin 后,在 Orin 上运行部署命令。实验室 Wi-Fi 足够稳定时优先用这种方式,Pico 数据流和 SSH 控制都走同一个实验室网络。
Orin Wi-Fi 部署
这种方式下所有 runtime 代码都跑在 G1 onboard Orin 上,同时给 G1 接一个无线网卡,并把 Orin 的无线网卡变成热点。Laptop 和 Pico 都直接连接这个热点。
在 Orin 上用 setup 脚本创建热点:
任何会修改 G1 网卡状态的操作,都应该在 G1 连接着网线的情况下执行。等新的 Wi-Fi 路径验证通过后,再断开网线。
bash scripts/setup/setup_g1_hotspot.sh \
--interface wlan1 \
--upstream wlan0 \
--ssid hdmi-deploy
脚本会隐藏式读取 WPA-PSK,不会回显。非交互运行时,通过运行环境或
secret manager 提供 G1_WIFI_PASSWORD,不要写进仓库。默认配置会在
wlan1 上创建热点,地址段为 10.42.7.1/24,并把 client 流量通过
wlan0 转发出去。Laptop 和 Pico 都连接这个热点后,Pico 和 Orin
会直接通过 Orin 上的无线网卡通信,不再依赖实验室 Wi-Fi。
手动开启 G1 内置网卡热点 + Laptop 出口
当上一种外置网卡方案不方便时,可以用这个布局。上一种方式需要在 G1 上接一个额外的无线网卡,但 G1 的 Type-C socket 比较容易损坏,也可能接不了扩展坞。
这个布局的正确行为是手动切换:G1 开机后保持普通 Wi-Fi client mode,你先通过普通 Wi-Fi SSH 到 G1;然后在 G1 上运行一个 hotspot command,把 G1 内置 Wi-Fi 切成 AP mode。Laptop 再连接这个热点,之后通过 g1-hotspot 这个 SSH host 连接 G1。
先在 laptop 上配置一次 SSH alias:
Host g1-hotspot
HostName 10.42.7.1
User elijah
让 G1 正常开机,然后通过已有的普通 Wi-Fi client 路径 SSH 进去,例如:
ssh g1-rp
cd ~/sim2real
然后在 G1 上运行 hotspot command。--interface 传 G1 内置 Wi-Fi 的网卡名,例如 wlan0:
这一步会把 G1 内置 Wi-Fi 从 client mode 切到 hotspot mode,当前 Wi-Fi SSH 可能会断开。修改这个设置时,请保留网线恢复路径。
bash scripts/setup/setup_g1_hotspot_via_laptop.sh \
--interface wlan0 \
--ssid hdmi-deploy
这个 profile 故意不设置成开机自动连接。G1 重启后,只有在 laptop gateway 已经准备好的情况下,才重新运行脚本,或者手动执行 sudo nmcli con up hdmi-g1-ap-via-laptop。
然后在 laptop 上,让外接 USB Wi-Fi 网卡连接 G1 热点,并通过 laptop 的上游联网网卡做 NAT:
bash scripts/setup/setup_laptop_g1_gateway.sh \
--wifi-interface <laptop_usb_wifi_interface> \
--upstream-interface <laptop_internet_interface> \
--ssid hdmi-deploy
默认配置会让 G1 使用 10.42.7.1/24,laptop 的 USB Wi-Fi 网卡使用 10.42.7.2/24。G1 的默认路由指向 10.42.7.2;laptop 保留自己的默认路由在 <laptop_internet_interface> 上,只把 G1 热点网段的流量 NAT 到这个上游网卡。
Laptop 连上热点后,通过热点地址重新连接 G1:
ssh g1-hotspot
配置完成后,同时验证局域网连通和 internet 出口:
# 在 laptop 上:
ping 10.42.7.1
ip route get 8.8.8.8
# 在 G1 上:
ping 10.42.7.2
ping 8.8.8.8
如果 G1 可以 ping 通 10.42.7.2,但 ping 不通 8.8.8.8,通常需要检查 laptop 的 --upstream-interface 是否选成了真正能上网的网卡,以及 laptop 防火墙是否允许 forwarding。
如果要停止使用 G1 内置 Wi-Fi 热点,让这个网卡回到普通 Wi-Fi client 用法,先关掉热点 profile:
sudo nmcli con down hdmi-g1-ap-via-laptop
sudo systemctl stop hdmi-g1-ap-via-laptop-dnsmasq.service