Code: Select all
void http_get(char *file){
char output_buffer[MAX_HTTP_OUTPUT_BUFFER] = {0}; //MAX_HTTP_OUTPUT_BUFFER = 2048 (max value tested ~2300 before stack overflow during image download)
int data_read;
char uri[256];
char binary_filename[strlen(file)+2];
snprintf(binary_filename, strlen(file)+1, "%s", file);
strtok(binary_filename, ".");
strcat(binary_filename, ".bin");
snprintf(uri, sizeof(uri), "%s://%s:%s/esp?file=%s", httpServer, httpIpAddress, httpPort, file);
esp_http_client_config_t config = {
.url = uri
};
esp_http_client_handle_t client = esp_http_client_init(&config);
esp_http_client_set_method(client, HTTP_METHOD_GET);
esp_err_t err = esp_http_client_open(client, 0);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to open HTTP connection: %s", esp_err_to_name(err));
} else {
int content_length = esp_http_client_fetch_headers(client);
if (content_length < 0) {
ESP_LOGE(TAG, "HTTP client fetch headers failed");
} else {
do {
data_read = esp_http_client_read_response(client, output_buffer, MAX_HTTP_OUTPUT_BUFFER);
create_file_app(binary_filename, output_buffer, data_read);
if (data_read >= 0) {
esp_http_client_get_status_code(client),
esp_http_client_get_content_length(client));
} else {
ESP_LOGE(TAG, "Failed to read response");
}
}
while (data_read > 0);
xEventGroupSetBits(main_event_group, FILE_DOWNLOAD_COMPLETE_BIT);
ESP_LOGI(TAG, "Data download compeleted");
display_img(binary_filename);
}
}
esp_http_client_close(client);
}Code: Select all
CONFIG_ESP_WIFI_ENABLED=y
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
# CONFIG_ESP_WIFI_CSI_ENABLED is not set
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP_WIFI_TX_BA_WIN=6
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP_WIFI_RX_BA_WIN=6
# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set
CONFIG_ESP_WIFI_NVS_ENABLED=y
CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
CONFIG_ESP_WIFI_IRAM_OPT=y
# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set
CONFIG_ESP_WIFI_RX_IRAM_OPT=y
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
# CONFIG_ESP_WIFI_FTM_ENABLE is not set
CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
# CONFIG_ESP_WIFI_WAPI_PSK is not set
# CONFIG_ESP_WIFI_SUITE_B_192 is not set
# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
# CONFIG_ESP_WIFI_11R_SUPPORT is not set
# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not setI (106763) spiffs: Opening file: /spiffs/cup00.bin
D (106813) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:4 posted to loop 0x3fcbf564
I (106833) spiffs: File written
I (106833) HTTP_CLIENT: HTTP GET Status = 200, content_length = 691204
D (106833) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=691204
D (106843) HTTP_CLIENT: need_read=2048, byte_to_read=512, rlen=512, ridx=0
D (106843) HTTP_CLIENT: http_on_body 512
D (106853) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=691204
D (106853) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:4 posted to loop 0x3fcbf564
D (106853) HTTP_CLIENT: need_read=1536, byte_to_read=512, rlen=512, ridx=512
D (106873) HTTP_CLIENT: http_on_body 512
D (106873) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=691204
D (106883) HTTP_CLIENT: need_read=1024, byte_to_read=512, rlen=512, ridx=1024
D (106893) HTTP_CLIENT: http_on_body 512
D (106883) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:4 posted to loop 0x3fcbf564
D (106893) HTTP_CLIENT: is_data_remain=1, is_chunked=0, content_length=691204
D (106913) HTTP_CLIENT: need_read=512, byte_to_read=512, rlen=512, ridx=1536
D (106913) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:4 posted to loop 0x3fcbf564
D (106923) HTTP_CLIENT: http_on_body 512