Ich möchte mithilfe eines ESP8266 Wifi-Modul einen FTP Server erstellen. In das Wlan netz soll man sich zum Bsp. über ein Handy anmelden können und über die IP-Adresse im Browser Dateien hoch und runterladen.
Nun habe ich es bereits geschafft, einen http Server mit Wlan netz und Passwort zu erstellen mit dem Example code:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#ifndef APSSID
#define APSSID "ESPap"
#define APPSK "thereisnospoon"
#endif
/* Set these to your desired credentials. */
const char *ssid = APSSID;
const char *password = APPSK;
ESP8266WebServer server(80);
/* Just a little test message. Go to http://192.168.4.1 in a web browser
connected to this access point to see it.
*/
void handleRoot() {
server.send(200, "text/html", "<h1>You are connected</h1>");
}
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point...");
/* You can remove the password parameter if you want the AP to be open. */
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
}
Aber wie kann Ich jetzt einen Fileserver erstellen (FTP)?
Ein Webserver ist etwas völlig anderes, als ein FTP-Server. Die bedienen unterschiedliche Protokolle. Ein FTP-Server benutzt z.B. 2 Verbindungen (Steuer- und Datenverbindung).
Ein Webserver kann natürlich auch zum UP-/Download genutzt werden. Das ist aber dann nicht FTP, sondern HTTP.
FTP funktioniert mit einer textbasierten Komandosprache. Im weitesten Sinn könnte man es mit DOS Befehlen vergleichen. Ein Client sendet Befehle an den Server und der antwortet dann darauf. All das hat zunächst mal nix mit einer Webseite und HTML zu tun. Du musst also HTML Seiten erzeugen und darin dynamisch die Antworten Deines FTP Servers unterbringen damit Dein Handy das mit dem Brauser anzeigen kann. Ich denke das ist ein ziemlich umfangreiches Projekt. Sicher bekommst Du das nicht mit copy&past hin.
Also probiere das Beispiel FTP Server ( ich kenne das nicht ) und lerne daraus.
Der HTTP-Server mit UP-/Download existiert in den Beispielen. Du musst nur entscheiden, wo Du die Dateien speichen willst (SPIFFS/SD) und wie groß/wie oft sie geändert werden sollen.
Der ESP ist kein Rennpferd und die Schreibzyklen von Flash und SD sind begrenzt.