diff --git a/.commitmsg b/.commitmsg index 260ffb8..6252121 100644 --- a/.commitmsg +++ b/.commitmsg @@ -1,9 +1 @@ -fix: stop killing NM's dnsmasq - use dnsmasq-shared.d instead - -Killing all dnsmasq processes caused NetworkManager to detect its -hotspot dnsmasq died and tear down the hotspot (AP appears briefly -then disappears). - -Now leverage NM's built-in dnsmasq-shared.d config directory: -write DNS hijack config before starting AP so NM's own dnsmasq -picks it up. No separate dnsmasq process needed. +docs: add WiFi provisioning user manual to README diff --git a/README.md b/README.md index f9677fa..a62420e 100644 --- a/README.md +++ b/README.md @@ -99,17 +99,71 @@ systemctl disable clawd # 取消开机自启 | `load_1m` / `load_5m` / `load_15m` | 系统负载 | — | | `uptime` | 运行时间 | 秒 | -## WiFi 配网(无屏设备) +## WiFi 配网(用户手册) -首次开机无网络时,clawd 自动进入 AP 配网模式: +Claw Box 是无屏设备,通过 WiFi 热点完成网络配置。 -1. 设备开启热点 `ClawBox-{ID}`(无密码) -2. 用户手机连接该热点 -3. 自动弹出配网页面(或访问 `http://ap.cutos.ai`) -4. 选择家庭 WiFi 并输入密码 -5. 设备连接成功后自动接入云端 +### 什么时候会出现热点? -需要 `dnsmasq`(安装脚本会自动安装)和 `NetworkManager`。 +| 场景 | 热点状态 | +|------|----------| +| 首次开机,从未配过 WiFi | 立即开启 | +| 配过 WiFi,但信号范围外或密码已改 | 等待约 20 秒后自动开启 | +| WiFi 正常连接中 | 不开启 | +| 运行中 WiFi 突然断开 | 约 30 秒后自动开启 | + +### 配网步骤 + +**第一步:找到热点** + +打开手机 WiFi 设置,找到名为 **ClawBox-{设备ID}** 的热点(例如 `ClawBox-1002`)。 +设备 ID 印在机身标签上。 + +**第二步:连接热点** + +- 热点名称:`ClawBox-{设备ID}` +- 密码:**`12345678`** + +**第三步:打开配网页面** + +连接成功后,手机通常会**自动弹出配网页面**。 + +如果没有弹出,请手动打开浏览器访问: +- `http://ap.cutos.ai` +- 或 `http://10.42.0.1` + +**第四步:选择 WiFi 并连接** + +1. 点击 **「扫描 WiFi」** 按钮,等待扫描完成 +2. 从下拉列表中选择您的 WiFi(或勾选「手动输入 SSID」) +3. 输入 WiFi 密码 +4. 点击 **「连接」** + +**第五步:等待连接** + +- 设备会临时关闭热点,尝试连接您选择的 WiFi +- **连接成功**:热点不再出现,设备自动接入云端 +- **连接失败**:热点会在几秒后重新出现,请重新连接热点再试 + +### 更换 WiFi + +如果需要更换 WiFi(例如搬到新环境),只需等待设备检测到网络断开, +热点会自动重新出现,按上述步骤重新配网即可。 + +### 常见问题 + +| 问题 | 解决方法 | +|------|----------| +| 找不到 ClawBox 热点 | 等待 30 秒;确认设备已通电且指示灯正常 | +| 连上热点但页面打不开 | 手动访问 `http://10.42.0.1` | +| 扫描不到我的 WiFi | 点击刷新重试;确认路由器开启且距离不太远 | +| 输入密码后连接失败 | 检查密码是否正确;热点恢复后重试 | +| 配网成功但设备仍离线 | 检查路由器是否能上外网;稍等 1 分钟 | + +### 系统要求 + +- `NetworkManager`(安装脚本自动启用) +- WiFi 硬件(wlan0) ## 架构 @@ -125,9 +179,9 @@ clawd/ │ ├── metrics.js ← 系统指标采集 │ ├── watchdog.js ← 通用子进程守护(速率限制重启) │ ├── network.js ← 网络检测、WiFi 扫描/连接、AP 模式 -│ ├── dns-hijack.js ← dnsmasq 管理(DNS 劫持 + DHCP) +│ ├── dns-hijack.js ← DNS 劫持(NM dnsmasq-shared.d 配置) │ ├── captive-server.js ← 配网 HTTP 页面(Captive Portal) -│ └── provisioning.js ← 配网编排(检测→AP→配网→退出) +│ └── provisioning.js ← AP 常驻管理器(WiFi 状态监控) ├── install.sh ← 一键安装(含 systemd + dnsmasq) └── package.json ```