- fix kernel panic when calling init_http_server_task() after provisioning finished
- add menuconfig options for provisioning SSID and password
This commit is contained in:
@@ -5,6 +5,20 @@ menu "Wifi Configuration"
|
||||
help
|
||||
Enable WiFi provisioning so espressif APP can be used to provison WiFi credentials
|
||||
|
||||
config WIFI_PROVISIONING_SSID
|
||||
string "WiFi provisioning SSID"
|
||||
default "prov_snapclient"
|
||||
depends on ENABLE_WIFI_PROVISIONING
|
||||
help
|
||||
SSID (network name) to use for provisioning access point. Shouldn't be longer than 20 characters.
|
||||
|
||||
config WIFI_PROVISIONING_PASSWORD
|
||||
string "WiFi provisioning password"
|
||||
default "12345678"
|
||||
depends on ENABLE_WIFI_PROVISIONING
|
||||
help
|
||||
WiFi password (WPA or WPA2) to use for provisioning access point
|
||||
|
||||
config WIFI_SSID
|
||||
string "WiFi SSID"
|
||||
default "myssid"
|
||||
|
||||
@@ -20,6 +20,11 @@
|
||||
#include <wifi_provisioning/scheme_softap.h>
|
||||
#endif
|
||||
|
||||
#if ENABLE_WIFI_PROVISIONING
|
||||
static const char *provPwd = CONFIG_WIFI_PROVISIONING_PASSWORD;
|
||||
static const char *provSsid = CONFIG_WIFI_PROVISIONING_SSID;
|
||||
#endif
|
||||
|
||||
static const char *TAG = "WIFI";
|
||||
|
||||
char mac_address[18];
|
||||
@@ -95,7 +100,7 @@ static void event_handler(void *arg, esp_event_base_t event_base, int event_id,
|
||||
break;
|
||||
case WIFI_PROV_END:
|
||||
/* De-initialize manager once provisioning is finished */
|
||||
wifi_prov_mgr_deinit();
|
||||
ESP_LOGI(TAG, "Provisioning end");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -108,9 +113,11 @@ static void event_handler(void *arg, esp_event_base_t event_base, int event_id,
|
||||
#if ENABLE_WIFI_PROVISIONING
|
||||
static void get_device_service_name(char *service_name, size_t max) {
|
||||
uint8_t eth_mac[6];
|
||||
const char *ssid_prefix = "PROV_";
|
||||
const char *ssid_prefix = provSsid;
|
||||
|
||||
esp_wifi_get_mac(WIFI_IF_STA, eth_mac);
|
||||
snprintf(service_name, max, "%s%02X%02X%02X", ssid_prefix, eth_mac[3],
|
||||
|
||||
snprintf(service_name, max, "%s_%02X%02X%02X", ssid_prefix, eth_mac[3],
|
||||
eth_mac[4], eth_mac[5]);
|
||||
}
|
||||
#endif
|
||||
@@ -169,7 +176,7 @@ void wifi_init(void) {
|
||||
ESP_LOGI(TAG, "Starting provisioning");
|
||||
|
||||
// Wi-Fi SSID when scheme is wifi_prov_scheme_softap
|
||||
char service_name[12];
|
||||
char service_name[27];
|
||||
get_device_service_name(service_name, sizeof(service_name));
|
||||
|
||||
/* What is the security level that we want (0 or 1):
|
||||
@@ -191,7 +198,7 @@ void wifi_init(void) {
|
||||
* - Wi-Fi password when scheme is wifi_prov_scheme_softap
|
||||
* - simply ignored when scheme is wifi_prov_scheme_ble
|
||||
*/
|
||||
const char *service_key = "12345678";
|
||||
const char *service_key = provPwd;
|
||||
|
||||
/* An optional endpoint that applications can create if they expect to
|
||||
* get some additional custom data during provisioning workflow.
|
||||
@@ -214,8 +221,8 @@ void wifi_init(void) {
|
||||
* then release the resources of the manager. Since in this case
|
||||
* de-initialization is triggered by the default event loop handler, we
|
||||
* don't need to call the following */
|
||||
// wifi_prov_mgr_wait();
|
||||
// wifi_prov_mgr_deinit();
|
||||
wifi_prov_mgr_wait();
|
||||
wifi_prov_mgr_deinit();
|
||||
} else {
|
||||
ESP_LOGI(TAG, "Already provisioned, starting Wi-Fi STA");
|
||||
|
||||
|
||||
@@ -2676,9 +2676,9 @@ void app_main(void) {
|
||||
#if CONFIG_SNAPCLIENT_ENABLE_ETHERNET
|
||||
// ethernet pcb reset pin
|
||||
gpio_config_t cfg = {.pin_bit_mask = BIT64(GPIO_NUM_17),
|
||||
.mode = GPIO_MODE_DEF_INPUT,
|
||||
.mode = GPIO_MODE_DEF_OUTPUT,
|
||||
.pull_up_en = GPIO_PULLUP_DISABLE,
|
||||
.pull_down_en = GPIO_PULLDOWN_ENABLE,
|
||||
.pull_down_en = GPIO_PULLDOWN_DISABLE,
|
||||
.intr_type = GPIO_INTR_DISABLE};
|
||||
gpio_config(&cfg);
|
||||
#endif
|
||||
|
||||
18
sdkconfig
18
sdkconfig
@@ -190,19 +190,7 @@ CONFIG_USE_BIQUAD_ASM=y
|
||||
#
|
||||
# Snapclient Ethernet Configuration
|
||||
#
|
||||
CONFIG_SNAPCLIENT_ENABLE_ETHERNET=y
|
||||
CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET=y
|
||||
# CONFIG_SNAPCLIENT_USE_DM9051 is not set
|
||||
# CONFIG_SNAPCLIENT_USE_W5500 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_IP101 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_RTL8201 is not set
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_LAN8720=y
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_DP83848 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_KSZ8041 is not set
|
||||
CONFIG_SNAPCLIENT_ETH_MDC_GPIO=23
|
||||
CONFIG_SNAPCLIENT_ETH_MDIO_GPIO=18
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_RST_GPIO=17
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_ADDR=0
|
||||
# CONFIG_SNAPCLIENT_ENABLE_ETHERNET is not set
|
||||
# end of Snapclient Ethernet Configuration
|
||||
|
||||
#
|
||||
@@ -216,6 +204,8 @@ CONFIG_SNTP_SERVER="pool.ntp.org"
|
||||
# Wifi Configuration
|
||||
#
|
||||
CONFIG_ENABLE_WIFI_PROVISIONING=y
|
||||
CONFIG_WIFI_PROVISIONING_SSID="prov_snapclient"
|
||||
CONFIG_WIFI_PROVISIONING_PASSWORD="12345678"
|
||||
CONFIG_WIFI_MAXIMUM_RETRY=0
|
||||
# end of Wifi Configuration
|
||||
|
||||
@@ -490,7 +480,7 @@ CONFIG_ETH_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETH_RMII_CLK_INPUT=y
|
||||
# CONFIG_ETH_RMII_CLK_OUTPUT is not set
|
||||
CONFIG_ETH_RMII_CLK_IN_GPIO=0
|
||||
CONFIG_ETH_DMA_BUFFER_SIZE=1024
|
||||
CONFIG_ETH_DMA_BUFFER_SIZE=512
|
||||
CONFIG_ETH_DMA_RX_BUFFER_NUM=30
|
||||
CONFIG_ETH_DMA_TX_BUFFER_NUM=5
|
||||
# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
|
||||
|
||||
@@ -190,19 +190,7 @@ CONFIG_USE_BIQUAD_ASM=y
|
||||
#
|
||||
# Snapclient Ethernet Configuration
|
||||
#
|
||||
CONFIG_SNAPCLIENT_ENABLE_ETHERNET=y
|
||||
CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET=y
|
||||
# CONFIG_SNAPCLIENT_USE_DM9051 is not set
|
||||
# CONFIG_SNAPCLIENT_USE_W5500 is not set
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_IP101=y
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_RTL8201 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_LAN8720 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_DP83848 is not set
|
||||
# CONFIG_SNAPCLIENT_ETH_PHY_KSZ8041 is not set
|
||||
CONFIG_SNAPCLIENT_ETH_MDC_GPIO=23
|
||||
CONFIG_SNAPCLIENT_ETH_MDIO_GPIO=18
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_RST_GPIO=17
|
||||
CONFIG_SNAPCLIENT_ETH_PHY_ADDR=0
|
||||
# CONFIG_SNAPCLIENT_ENABLE_ETHERNET is not set
|
||||
# end of Snapclient Ethernet Configuration
|
||||
|
||||
#
|
||||
@@ -215,7 +203,9 @@ CONFIG_SNTP_SERVER="pool.ntp.org"
|
||||
#
|
||||
# Wifi Configuration
|
||||
#
|
||||
CONFIG_ENABLE_WIFI_PROVISIONING=y
|
||||
# CONFIG_ENABLE_WIFI_PROVISIONING is not set
|
||||
CONFIG_WIFI_SSID="myssid"
|
||||
CONFIG_WIFI_PASSWORD="mypassword"
|
||||
CONFIG_WIFI_MAXIMUM_RETRY=0
|
||||
# end of Wifi Configuration
|
||||
|
||||
@@ -490,7 +480,7 @@ CONFIG_ETH_PHY_INTERFACE_RMII=y
|
||||
CONFIG_ETH_RMII_CLK_INPUT=y
|
||||
# CONFIG_ETH_RMII_CLK_OUTPUT is not set
|
||||
CONFIG_ETH_RMII_CLK_IN_GPIO=0
|
||||
CONFIG_ETH_DMA_BUFFER_SIZE=1024
|
||||
CONFIG_ETH_DMA_BUFFER_SIZE=512
|
||||
CONFIG_ETH_DMA_RX_BUFFER_NUM=30
|
||||
CONFIG_ETH_DMA_TX_BUFFER_NUM=5
|
||||
# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
|
||||
|
||||
Reference in New Issue
Block a user