implemented AP on/off control
This commit is contained in:
parent
c6035b15d7
commit
7a032ac452
|
|
@ -56,7 +56,7 @@
|
||||||
#define SCRATCH_BUFSIZE 4096
|
#define SCRATCH_BUFSIZE 4096
|
||||||
#define AUTH_DATA_MAX_LENGTH 16
|
#define AUTH_DATA_MAX_LENGTH 16
|
||||||
|
|
||||||
#define HTTP_SERVER_DEBUG_LEVEL 1
|
#define HTTP_SERVER_DEBUG_LEVEL 0
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,9 @@ void StartTimeGet(void);
|
||||||
void WiFiStart(void);
|
void WiFiStart(void);
|
||||||
void WiFiDisconnect(void);
|
void WiFiDisconnect(void);
|
||||||
void WiFiScan(void);
|
void WiFiScan(void);
|
||||||
|
void WiFiStop();
|
||||||
|
void WiFiStopAP();
|
||||||
|
void WiFiStartAP();
|
||||||
void EthStart(void);
|
void EthStart(void);
|
||||||
|
|
||||||
void WiFiTransportTask(void *prm);
|
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 (httpd_query_key_value(PostData, "wifisave", tmp, 4) == ESP_OK)
|
||||||
{
|
{
|
||||||
if (!strcmp(tmp, (const char*) "prs"))
|
if (!strcmp(tmp, (const char*) "prs"))
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ static const char *TAG = "WiFiTransport";
|
||||||
#define EXAMPLE_ESP_WIFI_CHANNEL 6
|
#define EXAMPLE_ESP_WIFI_CHANNEL 6
|
||||||
#define EXAMPLE_MAX_STA_CONN 10
|
#define EXAMPLE_MAX_STA_CONN 10
|
||||||
|
|
||||||
|
static bool isWiFiRunning = false;
|
||||||
static bool isWiFiConnected = false;
|
static bool isWiFiConnected = false;
|
||||||
static bool isWiFiGotIp = false;
|
static bool isWiFiGotIp = false;
|
||||||
static bool isWiFiFail = 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);
|
xTaskCreate(wifi_init_apsta, "InitSoftAPSTATask", 1024 * 4, (void*) 0, 3, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
isWiFiRunning = true;
|
||||||
//WiFi in work service
|
//WiFi in work service
|
||||||
while (1)
|
while (isWiFiRunning)
|
||||||
{
|
{
|
||||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||||
if (isWiFiConnected)
|
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)
|
void WiFiStart(void)
|
||||||
|
|
@ -537,6 +548,28 @@ void WiFiStart(void)
|
||||||
xTaskCreate(WiFiControlTask, "WiFiCtrlTask", 1024 * 4, (void*) 0, 3, NULL);
|
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)
|
static void wifi_scan(void *arg)
|
||||||
{
|
{
|
||||||
uint16_t number = DEFAULT_SCAN_LIST_SIZE;
|
uint16_t number = DEFAULT_SCAN_LIST_SIZE;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user