Forum: Mikrocontroller und Digitale Elektronik ESPAsyncWebServer


von e-d (Gast)


Angehängte Dateien:

Lesenswert?

Schon erstaunlich, was man mit:
https://github.com/me-no-dev/ESPAsyncWebServer
alles machen kann.
Und das ist nurmal an der Oberfläche "gekratzt"!

(hier zum FS-Handling:
   https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md
)

von Michael U. (amiga)


Lesenswert?

Hallo,

Danke für den Hinweis.
Warum weder IE11 noch der aktuelle Firefox die Seiten richtig anzeigen 
ist mir noch unklar, jeder macht andere Fehler. Die index-Seite wird 
auch nicht dargestellt, obwohl der übermittelte HTML-Code auf den ersten 
Blick ok aussieht.
Das Problem hatte ich aber mit dem ESPlorer schon bei der ersten 
Begegnung.
Mich interessiert auch mehr das Async-Handling, könnte ich vermutlich in 
meinen "Webserver" einbauen.

ok, startSocket() scheint auf der index da schon Probleme zu haben, mal 
bei Gelegenheit genauer schauen.

PS: gerade auf der Seite gesehen und viel interessanter für mich:
https://github.com/Edzelf/Esp-radio

Ein ESP8266 mit VS1003 als IceCast-Streming-Client liegt hier sowieso 
rum und ein Display auch...

Gruß aus Berlin
Michael

: Bearbeitet durch User
von e-d (Gast)


Lesenswert?

ESP-Radio hat schon was ..
Gruß aus Demmin
  Erhard

von e-d (Gast)


Angehängte Dateien:

Lesenswert?

comp. machts schon mal  :-)

von e-d (Gast)


Angehängte Dateien:

Lesenswert?

Ebenfalls auf asynWebserver aufbauend ist "Transparent TCP Network to 
Serial Proxy using WebSocket for ESP8266"
https://github.com/hallard/WebSocketToSerial

 Hierbei habe ich allerdings einige Probleme mit nodejs, um über

"To test web pages, go to a command line, go into webdev folder and 
issue a:
node web_server.js
then connect your browser to htpp://localhost:8080 you can them modidy 
and test source files such index.htm

Once all is okay issue a:
node create_spiffs.js
this will gzip file and put them into data folder, after that you can 
upload from Arduino IDE to device SPIFFS "*

- den data-Ordner neu zu erstellen. Das liegt an meiner Unkenntnis 
nodejs betreffend. Augenblicklich liefert "node web_server.js" nur 
error-Meldungen..

/edit funktioniert aber o.B.;

* aus: "README.md"

von e-d (Gast)


Lesenswert?

e-d schrieb:
> den data-Ordner neu zu erstellen. Das liegt an meiner Unkenntnis
> nodejs betreffend. Augenblicklich liefert "node web_server.js" nur
> error-Meldungen..

Ich bekomme dies:
module.js:442
    throw err;
    ^

Error: Cannot find module 'mime'
    at Function.Module._resolveFilename (module.js:440:15)
    at Function.Module._load (module.js:388:25)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\ich\Documents\Arduino\libra
erial\webdev\web_server.js:20:12)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)

Vielleicht kann ein Wissender mir einen Hinweis geben  :-)

von Michael U. (amiga)


Lesenswert?

Hallo,

sieht interessant aus.

AsyncMQTT ist stabil, läuft huer zum Test mit meinem "Sensor-Testbrett".
AsyncWebServer läuft soweit auch, allerdings habe ich noch Probleme mit 
größeren Files bei Down- und Upöoad. Außerdem gibt es eine Problematik 
mit yield() in der Stream-Klasse, die auch in der 2.3.0 rc1 nicht 
behoben ist.

read filename führt bei mir auch mit WebSocketToSerial zu einem Crash 
wenn man eine der größeren Dateien ausgeben will...

Mal schauen, was mir dazu noch so einfällt.

Gruß aus Berlin
Michael

von e-d (Gast)


Lesenswert?

Ja, danke für dein Engagement!
Notfalls kann ich die "data" zum Hochladen auch anders ändern.
(Wär nur entspannter mit dem beigefügten Editor)
Wollte mich nurmal einlesen in nodejs.
Den asynMQTT-Client habe ich auchschon aufgespielt, -nur mal so..

AsyncMqttClient mqttClient;

(z.Z. kein Bedarf)

Gruß aus Demmin!
Erhard

von e-d (Gast)


Lesenswert?

Hier noch ein Hinweis aus readme zum asynWS:
Important things to remember

    This is fully asynchronous server and as such does not run on the 
loop thread.
    You can not use yield or delay or any function that uses them inside 
the callbacks
    The server is smart enough to know when to close the connection and 
free resources
    You can not send more than one response to a single request

von Michael U. (amiga)


Lesenswert?

Hallo,

e-d schrieb:
>     You can not use yield or delay or any function that uses them inside
> the callbacks

habe ich gelesen, das war ja das Problem, weshalb ich in der Stream.cpp 
die yield(); erstmal durch optimistic_yield(10000); ersetzt habe, damit 
läuft das zumindest schonmal durch.
Die Diskussion dazu war irgendwo im Januar, leider hat wohl keiner da 
wirklich weiter eingegriffen.

>     You can not send more than one response to a single request
Das ist im Moment wohl mein Download-Problem, ich habe da erstmal das 
Konstrukt aus meinem "Spielzeug" mit dem ESP8266WebServer übernommen, 
das läuft aber wohl gegen die Wand...

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.