Expand description
WiFi Provisioning component
Provisioning is the process of providing WiFi credentials to a device without manually hardcoding credentials in firmware. WiFi Provisioning is built upon Protocomm using endpoints tailored for connecting nearby WiFi networks using companion phone apps.
It is roughly based on the architecture of WiFi provisioning component in ESP-IDF. More details can be found here
It provides implementation for 2 transport methods(the initial communication between companion apps and the device):
- Over BLE
- Over SoftAP
You can read more about each of the transports at: WiFiProvMgrBle and WiFiProvMgrSoftAp
Note: WiFi provisioning won’t actually work for linux since WiFi component is WIP for linux.
Example
let prov_config = WifiProvBleConfig {
service_name: String::from("PROV_SERVICE"),
..Default::default()
};
let mut prov_mgr = WiFiProvMgrBle::new(
wifi_arc_mutex.clone(),
prov_config,
nvs_partition,
ProtocommSecurity::default(), // Will default to Sec0
)?;
rmaker.reg_user_mapping_ep(&mut prov_mgr);
prov_mgr.start()?;Provisioning will stop when prov_mgr is dropped.
Structs§
- Uuid
- A Universally Unique Identifier (UUID).
- WiFi
Prov Soft ApConfig - Wifi
Prov BleConfig - Wifi
Prov Mgr
Traits§
Type Aliases§
- WiFi
Prov MgrBle - BLE transport for WiFi Provisioning.
- WiFi
Prov MgrSoft Ap - SoftAP transport for WiFi Provisioning.