Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(device provisioning): Implement Improv Wi-Fi protocol using serial interface (Wi-Fi config via web installer) #183

Merged
merged 24 commits into from
Oct 21, 2024

Conversation

Slider0007
Copy link
Owner

@Slider0007 Slider0007 commented Oct 21, 2024

⚠️ This feature set will be only available using firmware release v17.0.0 and newer ⚠️


Implement Improv Wi-Fi protocol using a serial port to enhance the web installer functionality, which is already available for this repo to install firmware using a web interface.

Benefits:

  • Set up WLAN connection using web installer (incl. WLAN network scan) -> No need to switch to device access point network
  • Jump directly to device (e.g. no need to figure out IP address)
  • Show firmware information

--> This allows using an additional alternative device provisioning workflow described below


Additional alternative device provisioning workflow

webinstaller_home

Workflow Step 2: Initial connection to flash firmware

webinstaller_dashboard_no_firmware_found

Workflow Step 4: Connection to device with firmware flashed, but no WLAN configured yet

webinstaller_dashboard_not_connected

Workflow Step 4.1: Scan for WLAN networks

webinstaller_wificonfig

Workflow Step 5: Connection to device

webinstaller_wifi_connected

Workflow Step 6:

webinstaller_upload_sdcard_content

Workflow Step 7:

webinstaller_install_sdcard_content

Workflow Step 8:

initial_setup_wizard


Implementation is inspired and derived from https://github.com/improv-wifi/sdk-cpp and https://github.com/jnthas/Improv-WiFi-Library.


Usage before:
RAM: [= ] 13.9% (used 45520 bytes from 327680 bytes)
Flash: [========= ] 85.6% (used 1665441 bytes from 1945600 bytes)

Usage after:
RAM: [= ] 13.9% (used 45664 bytes from 327680 bytes)
Flash: [========= ] 86.6% (used 1684381 bytes from 1945600 bytes)

@Slider0007 Slider0007 changed the title feat(device provisioning): Implement Improv Wi-Fi protocol using UART (WLAN configuration via web installer) feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Initial Wi-Fi configuration via web installer) Oct 21, 2024
@Slider0007 Slider0007 changed the title feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Initial Wi-Fi configuration via web installer) feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Wi-Fi configuration via web installer) Oct 21, 2024
@Slider0007 Slider0007 changed the title feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Wi-Fi configuration via web installer) feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Wi-Fi config via web installer) Oct 21, 2024
@Slider0007 Slider0007 changed the title feat(device provisioning): Implement Improv Wi-Fi protocol using UART (Wi-Fi config via web installer) feat(device provisioning): Implement Improv Wi-Fi protocol using serial interface (Wi-Fi config via web installer) Oct 21, 2024
@Slider0007 Slider0007 merged commit c1fa372 into develop Oct 21, 2024
10 checks passed
@Slider0007 Slider0007 deleted the improv-wifi branch October 21, 2024 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant