implemented AP on/off control
This commit is contained in:
parent
c6035b15d7
commit
7a032ac452
|
|
@ -56,7 +56,7 @@
|
|||
#define SCRATCH_BUFSIZE 4096
|
||||
#define AUTH_DATA_MAX_LENGTH 16
|
||||
|
||||
#define HTTP_SERVER_DEBUG_LEVEL 1
|
||||
#define HTTP_SERVER_DEBUG_LEVEL 0
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
|
|
|||
|
|
@ -61,6 +61,9 @@ void StartTimeGet(void);
|
|||
void WiFiStart(void);
|
||||
void WiFiDisconnect(void);
|
||||
void WiFiScan(void);
|
||||
void WiFiStop();
|
||||
void WiFiStopAP();
|
||||
void WiFiStartAP();
|
||||
void EthStart(void);
|
||||
|
||||
void WiFiTransportTask(void *prm);
|
||||
|
|
|
|||
|
|
@ -270,6 +270,22 @@ static HTTP_IO_RESULT HTTPPostAdaptersSettings(httpd_req_t *req, char *PostData)
|
|||
}
|
||||
}
|
||||
|
||||
if (httpd_query_key_value(PostData, "wifistart", tmp, 4) == ESP_OK)
|
||||
{
|
||||
if (!strcmp(tmp, (const char*) "prs"))
|
||||
{
|
||||
WiFiStartAP();
|
||||
}
|
||||
}
|
||||
if (httpd_query_key_value(PostData, "wifistop", tmp, 4) == ESP_OK)
|
||||
{
|
||||
if (!strcmp(tmp, (const char*) "prs"))
|
||||
{
|
||||
WiFiStopAP();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (httpd_query_key_value(PostData, "wifisave", tmp, 4) == ESP_OK)
|
||||
{
|
||||
if (!strcmp(tmp, (const char*) "prs"))
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ static const char *TAG = "WiFiTransport";
|
|||
#define EXAMPLE_ESP_WIFI_CHANNEL 6
|
||||
#define EXAMPLE_MAX_STA_CONN 10
|
||||
|
||||
static bool isWiFiRunning = false;
|
||||
static bool isWiFiConnected = false;
|
||||
static bool isWiFiGotIp = false;
|
||||
static bool isWiFiFail = false;
|
||||
|
|
@ -503,8 +504,9 @@ static void WiFiControlTask(void *arg)
|
|||
xTaskCreate(wifi_init_apsta, "InitSoftAPSTATask", 1024 * 4, (void*) 0, 3, NULL);
|
||||
break;
|
||||
}
|
||||
isWiFiRunning = true;
|
||||
//WiFi in work service
|
||||
while (1)
|
||||
while (isWiFiRunning)
|
||||
{
|
||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||
if (isWiFiConnected)
|
||||
|
|
@ -530,6 +532,15 @@ static void WiFiControlTask(void *arg)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isWiFiConnected)
|
||||
{
|
||||
ESP_ERROR_CHECK(esp_wifi_disconnect());
|
||||
}
|
||||
ESP_ERROR_CHECK(esp_wifi_stop());
|
||||
ESP_ERROR_CHECK(esp_wifi_deinit());
|
||||
esp_netif_destroy(ap_netif);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
void WiFiStart(void)
|
||||
|
|
@ -537,6 +548,28 @@ void WiFiStart(void)
|
|||
xTaskCreate(WiFiControlTask, "WiFiCtrlTask", 1024 * 4, (void*) 0, 3, NULL);
|
||||
}
|
||||
|
||||
void WiFiStop()
|
||||
{
|
||||
isWiFiRunning = false;
|
||||
}
|
||||
|
||||
void WiFiStopAP()
|
||||
{
|
||||
if (GetSysConf()->wifiSettings.WiFiMode == WIFI_MODE_APSTA || GetSysConf()->wifiSettings.WiFiMode == WIFI_MODE_STA)
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
|
||||
else
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_NULL));
|
||||
}
|
||||
void WiFiStartAP()
|
||||
{
|
||||
if (GetSysConf()->wifiSettings.WiFiMode == WIFI_MODE_APSTA)
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA));
|
||||
else if (GetSysConf()->wifiSettings.WiFiMode == WIFI_MODE_STA)
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
|
||||
else
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));
|
||||
}
|
||||
|
||||
static void wifi_scan(void *arg)
|
||||
{
|
||||
uint16_t number = DEFAULT_SCAN_LIST_SIZE;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user