37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# WiFi Onboarding Draft
|
|
|
|
This folder contains a draft onboarding design for getting a piNail device onto WiFi and giving the user the correct webserver address with minimal friction.
|
|
|
|
## Goals
|
|
- Zero SSH required for end users.
|
|
- Works on first boot with no preloaded WiFi credentials.
|
|
- Reliable recovery if router/SSID/password changes later.
|
|
- Stable web UI address after setup.
|
|
|
|
## User Flow (Target UX)
|
|
1. User powers on device.
|
|
2. Device attempts connection using saved WiFi config.
|
|
3. If connection fails (or no config), device starts setup AP: `piNail-Setup-XXXX`.
|
|
4. User joins setup AP from phone/laptop.
|
|
5. Captive portal opens (or user browses to `http://192.168.4.1`).
|
|
6. User enters:
|
|
- WiFi SSID
|
|
- WiFi password
|
|
- Optional hostname (default `pinail`)
|
|
- Network mode: DHCP (recommended) or static IP
|
|
7. Device validates, saves config, reboots.
|
|
8. On success, user opens:
|
|
- `http://pinail.local:5000` (preferred)
|
|
- fallback LAN IP shown on success page or label.
|
|
|
|
## Recommended Network Strategy
|
|
- Default: DHCP + router DHCP reservation (best supportability).
|
|
- Expose both mDNS and IP to users:
|
|
- `pinail.local`
|
|
- `192.168.x.y`
|
|
|
|
## Files in this folder
|
|
- `PI_IMPLEMENTATION.md`: concrete Raspberry Pi setup design.
|
|
- `RECOVERY_AND_RUNBOOK.md`: failure handling and support steps.
|
|
- `wifi_config.example.json`: suggested stored config schema.
|