如何使用Arduino 2.0上传文件?

问题描述 投票:0回答:1

我正在陷入困境,但据我所知,LittleFS 模块已包含在 arduino-esp32

看来这是this的新版本。

所以看起来只要我安装了 ESP32,它就应该在我的 Arduino 中,但是,当我尝试在我的 .ino 中创建一个带有 index.html 和以下内容的 ./data 文件夹时

#include <FS.h>
#include <LittleFS.h>
#include <WiFi.h>
#include <WebServer.h>

WebServer server(80);

void setup() {
  Serial.begin(115200);
  delay(1000); // Give time for the serial monitor to start

  if(!LittleFS.begin(true)) {
    Serial.println("LittleFS Mount Failed");
    return;
  }

  WiFi.begin("BroadviewOnline", "BuckeyeGuy");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  server.on("/", HTTP_GET, []() {
    Serial.println("Page requested: /");
    File file = LittleFS.open("/index.html", "r");
    if (!file) {
      Serial.println("Failed to open file");
      server.send(500, "text/plain", "Internal Server Error");
      return;
    }
    size_t fileSize = file.size();
    Serial.print("File size: ");
    Serial.println(fileSize);
    if (fileSize > 0) {
      server.streamFile(file, "text/html");
    } else {
      Serial.println("File is empty");
      server.send(500, "text/plain", "Internal Server Error");
    }
    file.close();
  });

  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  server.handleClient();
  delay(10); // Yield to reset the watchdog timer
}

我在 IP 处收到空响应,就像文件从未上传一样。我错过了什么?

esp32 arduino-esp8266
1个回答
0
投票

目前我的 TLDR 是使用 Platform.io 而不是 Arduino 插件。

© www.soinside.com 2019 - 2024. All rights reserved.