- Impressum / Datenschutz / ...
- ESP8266 spezifisch
- Codebesprechung
- ESP8266 Server File up- and download über UART
ESP8266 Server File up- and download über UART
- MGM
- Autor
- Offline
- New Member
Weniger
Mehr
- Beiträge: 1
- Dank erhalten: 0
02 Dez 2018 12:20 #524
von MGM
MGM erstellte das Thema ESP8266 Server File up- and download über UART
Hallo zusammen
Ich habe leider ein Problem mit dem ESP8266.
Zuerst was ich gerne machen würde.
Ich will eine standalone Netzwerk aufbauen mit dem ESP. Auf diesem ESP läuft ein Webserver mit einer einfach HTML page. Auf der Website sind 3 Buttons mit verschiedenen Funktionen.
1. Download (Ladet ein CSV von einem externen Memory das an den STM32 angeschlossen ist auf den Computer)
2. Update(Ladet Daten vom Computer auf den STM32)
3.Change Password (Das Passwort des Netzwerks des ESP's kann geändert werden)
Der ESP8266 ist über UART mit dem STM32 verbunden.
Dies ist der gesamte Code den ich bis jetzt geschrieben habe. Die Website mit 3 Buttons wird erstellt. Einen versuch für den Download habe ich auch gewagt aber leider funktioniert der noch nicht.
Falls jemad mehr informationen braucht schreibt es einfach in die Kommentarliste.
Vielen Dank für eure Zeit
Zur Veranschaulichung habe ich ein kleines Blockschaltbild im Anhang.
Ich habe leider ein Problem mit dem ESP8266.
Zuerst was ich gerne machen würde.
Ich will eine standalone Netzwerk aufbauen mit dem ESP. Auf diesem ESP läuft ein Webserver mit einer einfach HTML page. Auf der Website sind 3 Buttons mit verschiedenen Funktionen.
1. Download (Ladet ein CSV von einem externen Memory das an den STM32 angeschlossen ist auf den Computer)
2. Update(Ladet Daten vom Computer auf den STM32)
3.Change Password (Das Passwort des Netzwerks des ESP's kann geändert werden)
Der ESP8266 ist über UART mit dem STM32 verbunden.
Dies ist der gesamte Code den ich bis jetzt geschrieben habe. Die Website mit 3 Buttons wird erstellt. Einen versuch für den Download habe ich auch gewagt aber leider funktioniert der noch nicht.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiClient.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <ESP8266mDNS.h>
#include <FS.h>
#include <EEPROM.h>
#include "mainpage.h" //Our HTML webpage contents
//On board LED Connected to GPIO2
#define LED 2
const char *ssid = "AventuraAero";
char *password = "123456789";
ESP8266WebServer server(80);
//--------------Handle Routins --------------
void handleRoot() {
Serial.println("You called root page");
String s = MAIN_page; //Read HTML contents
server.send(200, "text/html", s); //Send web page
}
void handleDownload(){
//first create a fixed buffer
const int bufferSize = 6000;
const uint8_t _buffer[6000];
//a little counter to know at which position we are //in our buffer
int bufferCounter = 0;
int fileSize = 80000;
//now send an empty string but with the header field //Content-Length to let the browser know how much data //it should expect
server.sendHeader("Content-Length", (String)fileSize);
server.send(200, "text/html", "");
for(int i=0;i<fileSize;i++){
_buffer[bufferCounter] = random(256); //write some random bytes into our buffer
bufferCounter++;
if(bufferCounter >= bufferSize){ //when the buffer is full...
server.sendContent_P(_buffer, bufferCounter); //send the current buffer
bufferCounter = 0; //reset the counter
}
}
}
void handleUpdate() {
Serial.println("Update page");
digitalWrite(LED,HIGH); //LED off
server.send(200, "text/html", "Update"); //Send ADC //value only to client ajax request
}
void handleChange_Password() {
Serial.println("Change_Password page");
digitalWrite(LED,HIGH); //LED off
server.send(200, "text/html", "Change"); //Send ADC //value only to client ajax request
}
//--------------Setup --------------
void setup(void){
Serial.begin(115200);
EEPROM.begin(64);
SPIFFS.begin();
Serial.println("");
//Onboard LED port Direction output
pinMode(LED,OUTPUT);
//Power on LED state off
digitalWrite(LED,HIGH);
WiFi.mode(WIFI_AP); //Only Access point
WiFi.softAP(ssid, password); //Start HOTspot //removing password will disable security
IPAddress myIP = WiFi.softAPIP(); //Get IP address
Serial.print("HotSpt IP:");
Serial.println(myIP);
server.on("/", handleRoot); //Which routine to //handle at root location. This is display page
server.on("/Download", handleDownload);
server.on("/Update", handleUpdate);
server.on("/Change_Password", handleChange_Password);
server.begin(); //Start server
Serial.println("HTTP server started");
}
//--------------Loop --------------
void loop() {
server.handleClient();
}
Falls jemad mehr informationen braucht schreibt es einfach in die Kommentarliste.
Vielen Dank für eure Zeit
Zur Veranschaulichung habe ich ein kleines Blockschaltbild im Anhang.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- RedBaron
- Offline
- Junior Member
26 Jan 2019 11:20 #552
von RedBaron
ESP8266 Server File up- and download über UART
Moin,
schau einmal hier: bienonline.magix.net/public/esp8266-asyncwebserver.html
Da ist alles drin enthalten, brauchst ja evtl. nur Teile zu nutzen. Auch den AsyncWebServer muss man nicht nehmen. Bzgl. der Antwortzeiten, schlägt der aber den Standard-Webserver um Längen.
Weitere Infos gibt es hier: bienonline.magix.net/public/esp8266-webserver-klasse.html
Viele Grüße
Ulli
schau einmal hier: bienonline.magix.net/public/esp8266-asyncwebserver.html
Da ist alles drin enthalten, brauchst ja evtl. nur Teile zu nutzen. Auch den AsyncWebServer muss man nicht nehmen. Bzgl. der Antwortzeiten, schlägt der aber den Standard-Webserver um Längen.
Weitere Infos gibt es hier: bienonline.magix.net/public/esp8266-webserver-klasse.html
Viele Grüße
Ulli
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Aktuelle Seite:
- Startseite
- Impressum / Datenschutz / ...
- ESP8266 spezifisch
- Codebesprechung
- ESP8266 Server File up- and download über UART