[esp-eye] Station mode wifi disconnected

piter5
Posts: 2
Joined: Fri Jul 05, 2024 2:18 am

[esp-eye] Station mode wifi disconnected

Postby piter5 » Thu Sep 05, 2024 1:53 am

IDF version.
v4.4.0

Operating System
Windows

build project
VS Code IDE



Code: Untitled.c Select all



uint8_t eth_mac[6];
char mkSsid[32];
char SetPwd[32];

memset(SetPwd, 0, sizeof(SetPwd));

ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());
esp_netif_create_default_wifi_ap();

wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));

setDns();
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA)); //WIFI_MODE_AP
ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &dwd_event_handler, NULL));
ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, ESP_EVENT_ANY_ID, &dwd_event_handler, NULL));


esp_wifi_get_mac(ESP_IF_WIFI_AP, eth_mac);
if(pSysinfo->DeviceMeasureType == DWD_TYPE_THREE_100A)
{
sprintf(mkSsid, DWD_SSID_PREPIX_3P100A"%02x%02x%02x", eth_mac[3], eth_mac[4], eth_mac[5]);
}else if(pSysinfo->DeviceMeasureType == DWD_TYPE_THREE_400A)
{
sprintf(mkSsid, DWD_SSID_PREPIX_3P400A"%02x%02x%02x", eth_mac[3], eth_mac[4], eth_mac[5]);
}else if(pSysinfo->DeviceMeasureType == DWD_TYPE_THREE_800A)
{
sprintf(mkSsid, DWD_SSID_PREPIX_3P800A"%02x%02x%02x", eth_mac[3], eth_mac[4], eth_mac[5]);
}else
{
sprintf(mkSsid, DWD_SSID_PREPIX_1P"%02x%02x%02x", eth_mac[3], eth_mac[4], eth_mac[5]);
}
sprintf(pSysinfo->mac_st, "%02x%02x%02x%02x%02x%02x", eth_mac[0], eth_mac[1], eth_mac[2], eth_mac[3], eth_mac[4], eth_mac[5]);

wifi_config_t wifi_config = {
.ap = {
.max_connection = DWD_MAX_STA_CONN,
//.authmode = WIFI_AUTH_WPA_WPA2_PSK,
//.ssid_hidden = false,
.beacon_interval = 100
},
};

if (dwd_wifi_events == NULL) {
dwd_wifi_events = xEventGroupCreate();
}

memset(&(wifi_config.ap.ssid[0]), 0, sizeof(wifi_config.ap.ssid));
memset(&(wifi_config.ap.password[0]), 0, sizeof(wifi_config.ap.password));

wifi_config.ap.ssid_len = sprintf((char *)&wifi_config.ap.ssid, "%s", mkSsid);

if (strlen(SetPwd) == 0)
{
wifi_config.ap.authmode = WIFI_AUTH_OPEN;
ESP_LOGI(TAG, "wifi_init_softap finished. SSID[%d]:%s", wifi_config.ap.ssid_len, mkSsid);
}else
{
wifi_config.ap.authmode = WIFI_AUTH_WPA_WPA2_PSK;
sprintf((char *)&wifi_config.ap.password, "%s", SetPwd);
ESP_LOGI(TAG, "wifi_init_softap finished. SSID:%s password:%s", mkSsid, SetPwd);
}

ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &wifi_config));
ESP_ERROR_CHECK(esp_wifi_start());


ESP_ERROR_CHECK(esp_wifi_set_protocol(ESP_IF_WIFI_AP, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N));


start_webserver();




Open a webpage in softap mode, enter nvs information there, save it, reboot it, and connect wifi in station mode, but the connection is successful and then disconnected right away.
I'd really appreciate it if you could tell me how to solve it

Who is online

Users browsing this forum: Bing [Bot], Semrush [Bot] and 3 guests