diff --git a/components/wifi_interface/Kconfig.projbuild b/components/wifi_interface/Kconfig.projbuild index eaa12b1..3b717a3 100644 --- a/components/wifi_interface/Kconfig.projbuild +++ b/components/wifi_interface/Kconfig.projbuild @@ -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" diff --git a/components/wifi_interface/wifi_interface.c b/components/wifi_interface/wifi_interface.c index 7cae758..bf9b769 100644 --- a/components/wifi_interface/wifi_interface.c +++ b/components/wifi_interface/wifi_interface.c @@ -20,6 +20,11 @@ #include #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"); diff --git a/main/main.c b/main/main.c index 9c5d31b..54e209d 100644 --- a/main/main.c +++ b/main/main.c @@ -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 diff --git a/sdkconfig b/sdkconfig index 9314ce1..352d80f 100644 --- a/sdkconfig +++ b/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 diff --git a/sdkconfig.old b/sdkconfig.old index 976e8dc..5d86d53 100644 --- a/sdkconfig.old +++ b/sdkconfig.old @@ -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