Datei über Browser abrufen?

OP #7619934
Lesenswert?

Hallo, vielleicht kann mir jemand kurz helfen, da ich in dieser Hinsicht keinerlei Erfahrung habe.

Es gibt einen ESP8266 welcher einen Server aufsetzt und eine einzige Datei mit Logwerten vorhält, man kann sich per WLAN drauf verbinden mehr aber auch nicht, es gibt keine Weboberfläche. Anbei mal das Programm des ESP's

Hat jemand eine Idee wie man über die Eingabeaufforderung oder über eine .html Datei ein HTTP-GET absetzt um an die Datei zu kommen?

Vielen Dank schonmal

1
#include <ESP8266WiFi.h>
2
#include <LittleFS.h>
3
#include <ESPAsyncTCP.h>
4
#include <ESPAsyncWebServer.h>
5

6
const char *ssid = "Logger";
7
const char *password = "12345678";
8

9
AsyncWebServer server(80);
10
File logFile;
11

12
void setup() {
13
  Serial.begin(115200);
14
  WiFi.mode(WIFI_STA);
15
  WiFi.softAP(ssid, password);
16
  LittleFS.begin();
17
  logFile = LittleFS.open("/Log.txt", "a+");
18

19
  server.on("/", HTTP_GET, [](AsyncWebServerRequest * request) {
20
    request->send(LittleFS, "/Log.txt", "text/plain");
21
  });
22

23
  server.on("/clear", HTTP_GET, [](AsyncWebServerRequest * request) {
24
    logFile.close();
25
    logFile = LittleFS.open("/Log.txt", "w");
26
    request->send(200, "text/plain", "Log File Cleared!");
27
  });
28

29
  server.begin();
30
}
#7619947
Lesenswert?

Thomas schrieb:

Hat jemand eine Idee wie man über die Eingabeaufforderung oder über eine .html Datei ein HTTP-GET absetzt um an die Datei zu kommen?

Mit einem Browser einfach http://[ESP8266-IP-oder-hostname]/ und er müsste dir das Textfile anzeigen. MIME-type hast du ja mit "plain text" angegeben, das bekommt der Browser dann auch mitgeteilt. "http://" ist wichtig, weil der Browser sonst automatisch https nutzt.

So habe ich hier im Heimnetz einen ESP8266, der mir eine Webseite mit 4 Schiebereglern anzeigt, welche den Inhalt der ersten 4 Kanäle eines DMX512-Datenstroms setzen. Genutzt wird das für eine billige Bühnentechnik-LED-Bar hinter der Glotze. Die Schiebereglerdaten werden als XML über GET geholt und über POST gesendet. Das ist Teil der Webseite und es läuft im Browser per Javascript. Schreib mir eine PN wenn du es haben willst.

mfg mf

#7622372
Lesenswert?

Du musst es schaffen, dass die Anfrage des Browsers zum Controller kommt. zB indem der Controller eine IP hat, oder darstellt. Sei der Controller mit einem Ethernet versehen mit einer IP 192.168.1.110, dann einfach die Seite aufrufen : http://192.168.1.110/index.html Falls der Controller nur eine serielle Schnittstelle hat, benoetigst du einen Dienst, welcher IP nach Serial umsetzt. Ein kleines Prograemmchen, welches als dienst laeuft

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren