0

I'm working with an ESP32, and I have a task that publishes data to the cloud. When the Wi-Fi is disconnected, the wifi_event_handler keeps retrying to connect, and I can see the retry logs on the monitor. However, the task publish_data_to_cloud does not log anything to the monitor when the Wi-Fi is disconnected.

Here is the relevant code for the Wi-Fi event handler:

void wifi_event_handler(void *arg, esp_event_base_t event_base,
                               int32_t event_id, void *event_data)
{
    if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED)
    {
        if (s_retry_num < EXAMPLE_ESP_MAXIMUM_RETRY)
        {
            esp_wifi_connect();
            s_retry_num++;
            ESP_LOGI("sta....", "retry to connect to the AP");
        }
        else
        {
            esp_wifi_disconnect(); 
            esp_wifi_connect();
            s_retry_num = 0;
        }
        is_wifi = false;
        ESP_LOGI(TAG, "is_wifi: %d", is_wifi);
    }
    // Other event cases...
}

And I'm creating the task as follows:

xTaskCreate(publish_data_to_cloud, "publish_data_to_cloud", 8192, &ucParameterToPass, 1, NULL);

The issue is:

The Wi-Fi retry logs are printing as expected. The publish_data_to_cloud task doesn't log anything when Wi-Fi is disconnected. I believe the task should run regardless of the Wi-Fi connection status, but it's not logging when the Wi-Fi is down. Is there something I'm missing? What could cause this issue, and how can I fix it so that the task logs even when Wi-Fi is disconnected?

Any help would be appreciated!

1
  • 1
    You haven't posted the code of this publish_data_to_cloud task so we can't help you. In general there's no guarantee as to how networking behaves when there's no network connection - don't expect them to play nice. Most likely some element of TCP/IP stack blocks, which would explain your behaviour. Commented Jan 4 at 12:05

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.