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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.