Document transport selection (§15): single-mode queries, BLE provisions Wi-Fi
This commit is contained in:
1 parent
58227608a7
commit
0cd6b34a2e
1 file changed
+18
@@ -316,6 +316,24 @@ port **18000**. Port `9000` appears nowhere in the app; `18000` is closed
|
|||||||
on the tested unit, so even the app's own socket path cannot work there —
|
on the tested unit, so even the app's own socket path cannot work there —
|
||||||
consistent with all-silent probes.
|
consistent with all-silent probes.
|
||||||
|
|
||||||
|
## 15. Transport selection — one mode at a time, BLE provisions Wi-Fi
|
||||||
|
|
||||||
|
- `DirectConnectProvider.initSelectedMode`: on the FHP AP → `socket`;
|
||||||
|
otherwise, if a BLE device is connected (or a previous selection exists)
|
||||||
|
→ `bluetooth` (+ `initScan`); else `socket`. Every request carries its
|
||||||
|
transport in `selectedMode` (`field_5b`); `sendObjectOrganized` routes to
|
||||||
|
exactly one manager. Queries never run on both transports at once.
|
||||||
|
- Switching AP → socket explicitly tears down BLE first
|
||||||
|
(`onSelectHotspot`: `disconnectBluetooth` behind the
|
||||||
|
`switchBluetoothToHotspotTip` dialog).
|
||||||
|
- `directConnect()` (provider and service variants) is true when on the FHP
|
||||||
|
AP **or** BLE-connected — the two are alternative routes to one device.
|
||||||
|
- BLE and Wi-Fi *cooperate* at the commissioning layer, not the query
|
||||||
|
layer: ESP BLE provisioning (`prov-session/scan/config`, sec0/sec1)
|
||||||
|
delivers the home Wi-Fi SSID/password to the device **over BLE**; the
|
||||||
|
socket/HTTP hotspot APIs (`/terminal/*`, `wifi_iot` join) take it from
|
||||||
|
there. Same envelope + cipher on both transports (§5, §9).
|
||||||
|
|
||||||
## 9. Bluetooth (BLE) transport — `communication_center/bluetooth`
|
## 9. Bluetooth (BLE) transport — `communication_center/bluetooth`
|
||||||
|
|
||||||
- `BluetoothManager` (singleton), `BluetoothStatus`: `closed / connected / connecting / interrupted`.
|
- `BluetoothManager` (singleton), `BluetoothStatus`: `closed / connected / connecting / interrupted`.
|
||||||
|
|||||||
Reference in new issue
Block a user