Запуск файлов Vue JS на ESP32 не работаетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Запуск файлов Vue JS на ESP32 не работает

Сообщение Anonymous »

Я пытаюсь запустить приложение Vue JS на доске ESP32 без успеха. Я пробовал код Exemple Restfull Server и еще один из сети, пытаясь настроить пути, и он не работает. Вот код, который я пытаюсь конфигурации, чтобы показать страницу, когда браузер Htten с IP -адресом < /p>
esp_err_t Server::staticFileHandler(httpd_req_t *req) {
char filepath[600];
// const char* base_path = "/littlefs";
const char* base_path = "/spiffs";
const char* uri = req->uri;

// Se a URI for "/", sirva o arquivo index.html
if (strcmp(uri, "/") == 0) {
snprintf(filepath, sizeof(filepath), "%s/index.html", base_path);
} else {
snprintf(filepath, sizeof(filepath), "%s/dist%s", base_path, uri);
}

ESP_LOGI(TAG, "Requested URI: %s", uri);
ESP_LOGI(TAG, "Constructed filepath: %s", filepath);

// Abra o arquivo
FILE* file = fopen(filepath, "r");
if (!file) {
ESP_LOGE(TAG, "Failed to open file: %s", filepath);
httpd_resp_send_404(req);
return ESP_FAIL;
}

// Determine o tipo de conteúdo
const char* type = "text/plain";
if (strstr(filepath, ".html")) type = "text/html";
else if (strstr(filepath, ".css")) type = "text/css";
else if (strstr(filepath, ".js")) type = "application/javascript";
else if (strstr(filepath, ".png")) type = "image/png";
else if (strstr(filepath, ".jpg")) type = "image/jpeg";
else if (strstr(filepath, ".gif")) type = "image/gif";
else if (strstr(filepath, ".svg")) type = "image/svg+xml";
else if (strstr(filepath, ".ico")) type = "image/x-icon"; // Para favicon

// Envie o cabeçalho HTTP
httpd_resp_set_type(req, type);

// Envie o conteúdo do arquivo
char buffer[1024];
size_t chunksize;
while ((chunksize = fread(buffer, 1, sizeof(buffer), file)) > 0) {
httpd_resp_send_chunk(req, buffer, chunksize);
}

// Envie o final da resposta
httpd_resp_send_chunk(req, NULL, 0);

// Feche o arquivo
fclose(file);
return ESP_OK;
}

const httpd_uri_t Server::centralIndex = {
.uri = "/*",
.method = HTTP_GET,
.handler = staticFileHandler,
// .user_ctx = NULL
};

httpd_handle_t Server::startWebServer(){
httpd_handle_t server = NULL;
httpd_config_t config = HTTPD_DEFAULT_CONFIG();
config.lru_purge_enable = true;
ESP_LOGI(TAG, "Starting server on port: '%d'", config.server_port);
if(http.start(&server, &config) == ESP_OK){
ESP_LOGI(TAG, "Registering URI handlers");
// http.registerUriHandler(server, &hello);
http.registerUriHandler(server, &centralIndex);
// http.registerUriHandler(server, &assetsHandler);
http.registerUriHandler(server, &getBracelets); // registering getBracelets uri handler
http.registerUriHandler(server, &getBracelet); //registering getBracelet uri handler
http.registerUriHandler(server, &createBracelets); //registering createBracelets uri handler
http.registerUriHandler(server, &updateBracelet); //registering updateBracelet uri handler
return server;
}
mdns_init();
mdns_hostname_set("myesp32");
mdns_instance_name_set("LEARN esp32 thing");
ESP_LOGI(TAG, "Error starting server!");
return NULL;
}
< /code>
И это мой cmakelists.txt < /p>
spiffs_create_partition_image(storage ../data FLASH_IN_PROJECT)

# Crie a imagem do sistema de arquivos SPIFFS para a partição 'www'
spiffs_create_partition_image(spiffs ../site/dist FLASH_IN_PROJECT)

# Ajuste a configuração do SPIFFS para permitir nomes de arquivos mais longos
set(SPIFFS_OBJ_NAME_LEN 64)
< /code>
Когда я запускаю это, возврат консоли-< /p>
W (619326) httpd_uri: httpd_uri: URI '/' not found
W (619326) httpd_txrx: httpd_resp_send_err: 404 Not Found - Nothing matches the given URI.
< /code>
может кто -нибудь мне помочь?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... 2%b4t-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»