ESP8266 per externe HTML Website steuern

Hi!

Ich würde gerne SMD5050 LED-Streifen mithilfe eines ESP8266 steuern, der die entsprechenden Daten von einer Website (die im Zweifelsfall einfach als HTML-Dokument auf dem PC gespeichert ist) erhält. Hardware steht schon, mir geht es nur darum, ob es möglich ist, dem ESP von einer Website Daten zuzusenden. Ich weiß, dass man in den ESP-Server-Code den HTML Code reinschreiben kann, jedoch würde ich das gerne außerhalb tun, damit die Website auch etwas "codeseitig komplizierter" werden kann.

So soll es also laufen:
HTML-Dokument (auf dem PC gespeichert) -> Daten an ESP-IP -> ESP wandelt diese in Licht um.
Die zwei wichtigen Fragen dazu sind:

  1. Kann man per HTML (oder eingebundenes JS) daten an eine IP-Adresse senden?
  2. Kann der ESP die irgendwie empfangen, z.B. indem er einfach den an ihn gesendeten Code ausführt?

Habe noch keinen Code geschrieben oder irgendetwas gebaut, will nur wissen ob - und wenn ja, wie ungefähr - das funktionieren könnte :slight_smile:

Danke schonmal an die, die sich das bis jetzt durchgelesen haben!

  1. Ja
  2. Ja

Okay danke, aber wie XD?

Dann schau Dir doch mal einfach die Website von Fips an. Hier eine Einführung von agmue dazu.

Ich würde das HTML-Dokument besser auf dem ESP im LittleFS speichern. Die Daten über Fetch-API austauschen. Da bekommst Du weniger Probleme mit der "Same Origin Policy".

Gruß Tommy

Je nachdem, wie viel Code die Website hat, ist der Speicher vom ESP doch irgendwann voll, oder? Könnte das die Funktionalität nicht begrenzen?

ja aber ein "Schalter" auf einer HTML Webseite am ESP geht locker.
Außerdem hast du in deinem Eingangspost geschrieben:

dann ist überhaupt kein HTML auf dem ESP. Der ESP muss nur das was du ihm schickst als Server verarbeiten und schalten.

für die Variante "HTML am ESP", habe ich hier ein Muster, das über die Beispiele in der IDE rausgehen:

https://werner.rothschopf.net/microcontroller/202108_esp_generic_webserver.htm
oder hier mit pwm
https://werner.rothschopf.net/microcontroller/202106_esp8266_h801_dimmer_pwm_en.htm

Das HTML am ESP ist nur das Vehikel, wie man dann die Daten zum ESP zurücksendet. Im Prinzip kannst die Daten auch von einer anderen Webseite an den ESP senden.

Du hast Dir die verlinkten Infos ja noch nicht mal angeschaut.
Auf einem ESP8266 WEMOS D1 mini hast Du 2 MByte im LittleFS (auf einem mini pro 14 MByte) zur Verfügung. Das sollte wohl für Deine Website ausreichen.

Gruß Tommy

Hallo,
klar , aber das Filesystem des ESP 8266 ist in der Standard Einstellung 2MB groß da passt schon was rein
Heinz

Also... Blicke da gerade wenig durch...

Soweit ich das verstanden habe, soll per fetch() der jeweilige Farbwert in einem Dokument (ich habe was von PHP gelesen [oh Gott, nich noch ne Programmiersprache XD]) auf dem ESP im LittleFS gespeichert werden, die dieser dann automatisch ständig abruft und die Farbe des Streifens passend ändert.

Oder geht das garnicht so? Oder vielleicht auch ohne Umweg auf das Dokument, d.h. direkt als Änderung einer Variable im ESP-Code?
Ich bin immer noch relativer Anfänger und komme deshalb leider noch nicht mit so viel (tw. englischer) Fachsprache zurecht :confused: ... Deswegen stehe ich jetzt hier so dumm rum :laughing:

Als erste Idee hatte ich "per JS Farbdaten aus HTML-Element auslesen und dann an einen bestimmten Port des ESP senden, der die Daten da abgreift und sie blitzschnell in die korrekte Variable eindröselt", was ja so einfach nicht zu sein scheint

P.S.: Sorry für meine Anfängerkenntnisse :wink:

Du hast vier Links bekommen. Welche hast du noch nicht gelesen?

Welche Sketche hast du noch nicht ausprobiert?

PHP als Programmiersprache brauchst du vorerst nicht.

Ich hab mir alle mehr oder weniger Verwirrt durchgelesen, ausprobieren kann ich gerade nichts... Schreibe von nem alten Toaster der schon von Visual Studios abstürzt. Die Hardware habe ich gerade auch nicht zur Verfügung

Eine Alternative könnte sein, wenn du die Website eh auf einem PC speichern willst, die Daten dann per UDP an den ESP8266 zu senden. Der setzt die dann für die LEDs um.

Hallo
ich hab das vor ein paar Jahren mal was gemacht. Ist technisch nicht auf dem letzten Stand sollte man heute anders machen. Aber es läuft so.

Heinz

Es liegt an Dir, Deine Kenntnisse zu verbessern. Wenn das, was Dir gezeigt wurde noch zu schwer für Deinen Kenntnisstand ist, dann lerne erst mal die Grundlagen. In der IDE findest Du genug Beispiele dafür. Dann taste Dich Schritt für Schritt an größere Aufgaben heran.

Es bringt nichts, einen Marathon laufen zu wollen, wenn man noch nicht mal krabbeln gelernt hat.

Ohne die Technik dazu, also ohne dass Du etwas ausprobieren kannst, wirst Du nicht weit kommen bzw. hauptsächlich Frust ernten.

Hier hatte ich mal so etwas ähnliches gebaut (HTML, Javascript, C++)

Gruß Tommy

Dann vergiss nicht die folgende Zeile ins Setup deines Esp8266 Webservers einzutragen.

server.enableCORS(true);                 // Sendet den "CORS" Header an den Client.

Hallo,
sorry ich habe Deinen Eingangspost noch mal gelesen. Du schreibst nur was von SMD5050 LED-. Wie seht denn die Hardware dazu aus ?
Die LED sind weiß ? RGB ? WS??? Was kannst Du denn an den LED´s verstellen. was willst Du denn mit der HTML Seite verstellen können Dimmen / ein aus

Heinz

Normale 5050s, also RGB (r+, g+, b+, -), 12V. Damit soll erstmal nur Farbe (inkl. Helligkeit) verstellbar sein. Die Farbe könnte ein Color-Picker ausgeben, z.B. der hier. Hardware ebendiese, ein ESP8266, 3 Transistoren - fertig soweit.

Das Ganze soll die normalerweise mitgelieferten IR-Controller der Streifen ersetzen, die - das muss ich hier mal sagen - echt etwas unschön sind.

Jaja, bald hab ich nen Leistungsstarken PC :sweat_smile:

Im Notfall kann die Datenübertragung hier auch einfach über die IP erfolgen, siehe hier. Wäre aber auch irgendwie nicht besonders hochwertig, aber wenn es die einfachste Methode wäre - dann halt auch so ungefähr

Dann schaue Dir auch noch diesen Artikel an, damit Du nicht enttäuscht wirst.

Gruß Tommy