首页 / 业务功能与流程 / 设备本地热点配网与双网并行
设备本地热点配网与双网并行
BLE 安全配网、Local-only Wi-Fi 本地链路、蜂窝云端链路的并行路由、会话与异常恢复规则。
目标、原则与原图
记录仪通过 BLE 安全配对后开启 Local-only Wi-Fi 热点,让 App 在没有公网的情况下访问设备控制、实时预览、回放和文件下载;手机的蜂窝网络继续承载登录、云端同步、推送、地图等互联网能力。两张网络必须并行且互不抢路由,不能因连接设备热点而使 App 的云端请求错误走向设备局域网。
本页是设备与 App 的目标配网契约。BLE 指令字节、证书格式、端口和地址池在固件实现前须以协议版本冻结;不得把示意图中的地址或口令当成可直接投产的默认值。
App 与设备职责
| 层级 | App 侧职责 | 设备侧职责 |
|---|---|---|
| UI | 设备列表、预览、文件、设置;明确显示“本地直连”或“云端远程”状态。 | 通过 BLE 广播/状态上报暴露可配网、热点已开、会话过期等状态。 |
| 连接编排 | Connection Orchestrator 串行管理 BLE、Wi-Fi、Local HTTPS 与云端会话,防止多次连接竞争。 | BLE Service、Wi-Fi AP Manager、DHCP Manager、Watchdog 协同开启与回收热点。 |
| 安全配网 | BLE 扫描、身份校验、挑战响应;收到 SSID/临时凭证后再申请系统 Wi-Fi 连接。 | 生成短时热点密码/会话材料;保存最小会话状态并防重放。 |
| 网络路由 | Network Route Manager 将设备 IP 请求绑定到 Wi-Fi 网络,将云 API 请求绑定到默认蜂窝网络。 | 热点仅提供局域网地址和本地服务,不能配置公网 DNS、默认互联网出口或 Captive Portal。 |
| 本地服务 | 通过 HTTPS/WSS、WebRTC、受控下载访问设备。 | Local API Gateway 逻辑端口:8443 控制、8444 事件、8445 文件;Media Server 提供实时/回放流。 |
端到端配网时序
- BLE 扫描:App 发现设备广播并读取最小能力信息,不以广播名称作为唯一身份依据。
- BLE 连接与认证:双方执行设备身份、用户已绑定关系和挑战响应校验;失败即断开且记录可聚合错误码。
- 请求开启热点:App 发起受控请求,设备开启 AP,并生成一次性/短时凭证。
- 返回配网信息:设备经 BLE 返回
SSID、BSSID、临时密码、设备 IP、会话 Token 与本地端口;敏感字段不写日志。 - 系统 Wi-Fi 连接:App 调用 Android/iOS 系统网络能力连接热点,并等待“已连接但无互联网”的 Local-only 结果。
- 连接结果确认:App 以指定 SSID/BSSID 与设备健康检查确认,不可仅以系统 Wi-Fi 图标判断成功。
- 本地链路验证:App 通过
https://<device-ip>/health(实际路径以接口契约为准)校验证书/指纹、设备 ID 与会话 Token。 - 本地会话建立:完成证书校验、授权范围下发;控制、预览、文件下载只绑定该 Wi-Fi 网络。
- 本地服务就绪:执行预览、回放、控制等业务;UI 可见标记为“本地直连”。
- 云端链路保持:登录、同步、推送、地图和日志等互联网业务继续使用蜂窝默认网络,不经设备热点。
- 业务进行:本地侧传输视频/文件/控制,云端侧处理账号、同步和消息;跨网络请求必须由路由管理器显式选择网络。
- 任务结束:停止预览/下载,撤销本地会话并释放媒体与文件句柄。
- 释放连接:App 解除 Wi-Fi 网络请求、断开 BLE;设备缩短热点空闲计时。
- 关闭热点:设备仅在已无活跃本地会话且计时到期后关闭 AP,清除临时密码和会话状态。
双网路由、地址与安全
路由规则
| 流量 | 首选网络 | 路由实现要点 |
|---|---|---|
| 设备控制、实时预览、回放、文件下载 | 设备 Local-only Wi-Fi | 将 socket/请求显式绑定 Wi-Fi 网络;只允许设备私网 IP 与本地 mDNS 名称。 |
| 登录、云 API、推送、地图、远程状态同步 | 蜂窝默认网络 | 不绑定 Local-only Wi-Fi;当系统默认网络改变时重新检查互联网可达性。 |
| 远程直播/控制 | 蜂窝或普通联网 Wi-Fi | 走云端授权和 WebRTC/TURN;不得复用本地热点会话 Token。 |
平台适配:Android 使用 WifiNetworkSpecifier / Network 进行精确网络绑定;iOS 使用 NEHotspotConfiguration 配网,并使用 NWPath / NWConnection 判断路径。两端都必须区分“已连 Wi-Fi”与“该网络有互联网”。
建议地址与 DHCP 策略
| 项 | 建议 | 说明 |
|---|---|---|
| 热点网段 | 192.168.240.0/24,冲突时从受控私网池选择备用段 | 图中另列 172.27.240.0/24、10.253.240.0/24 作为备选;实现必须有冲突规避策略。 |
| 设备网关 | 192.168.240.1 | 仅作为局域网网关/本地服务地址,不提供互联网转发。 |
| DHCP 范围 | 192.168.240.20–192.168.240.200 | 租约 5–10 分钟;会话结束回收,避免地址长期占用。 |
| DNS | 不提供公网 DNS 或默认路由 | 避免操作系统把云端请求错误导向热点;本地发现用受控 mDNS。 |
安全基线
- BLE 身份绑定使用二维码/设备密钥/物理接触等可信引导;连接阶段使用 nonce 和挑战响应,临时凭证与会话有效期绑定。
- 热点密码一机一会话、短时有效,严禁硬编码通用 SSID/密码;AP 不开放匿名管理页。
- Local HTTPS/WSS 使用设备证书或证书指纹钉扎;App 必须核对期望设备 ID,不能只信任私网 IP。
- 本地 API 按命令、文件、媒体分权;文件下载实施目录白名单、大小限制和速率限制。
- 设备 Watchdog 负责心跳检测、会话超时关 AP、异常重启清理临时状态;不能因 App 崩溃而长期暴露热点。
异常恢复与验收
| 场景 | 期望恢复行为 | 证据 |
|---|---|---|
| Wi-Fi 已连但本地健康检查失败 | 限制重试次数;重新获取 IP/会话;仍失败则断开并回到 BLE 认证阶段。 | SSID/BSSID、DHCP、TLS 失败码、重试次数与最终状态。 |
| 蜂窝网络不可用 | 已建立的本地热点功能继续工作;云端同步队列等待网络恢复。 | 本地预览/控制成功,云端业务显示待同步而非误报设备故障。 |
| BLE 断开但 Wi-Fi 正常 | 在已授权的本地会话有效期内维持当前业务;禁止借此扩大权限或无限续期。 | 会话到期/续期日志与权限校验记录。 |
| App 切后台、崩溃或无心跳 | 停止高带宽媒体;设备按会话 TTL 关闭 AP 并清理临时凭证。 | 设备 Watchdog 日志、AP 状态和资源释放记录。 |
| 多个 App 竞争设备热点 | 按产品策略拒绝、排队或只读共享;不得让后接入者抢占控制权。 | 并发会话限制、授权主体与仲裁事件。 |
验收不只看“能连上”。应在 Android/iOS 真机上分别验证:本地流量确实绑定 Wi-Fi、云 API 仍走蜂窝;热点无互联网出口;BLE 重放/伪设备连接被拒绝;后台/异常断开后 AP 自动关闭;地址冲突和弱网重试不造成会话越权。
相关知识:设备全生命周期流程、传输与接口安全、车载独立监控与本地媒体架构。