Forum: Mikrocontroller und Digitale Elektronik Viele Parameter auf einem ESP verarbeiten


von Kolja L. (kolja82)


Lesenswert?

Hallo

Ich baue gerade ein Lauflicht mit 18 RGB LED, also 54 Kanäle.
Alles läuft über einen ESP8266 und funktioniert schon grundlegend,
also ich kann über eine Webseite auf dem Controller die einzelnen Farben 
schalten.

Ausgewählt wird jede LED über ein DropDownmenue mit den drei Farben.

Jetzt hätte ich gerne folgende Funktion:

Webseite aufrufen, die erste Zeile an DD Menues wird angezeigt und kann 
ausgewählt werden,
dann soll eine zweite Zeile hinzugefügt werden und eine dritte....

Wenn auf Absenden geklickt wird, sollten die einzelnen Zeilen 
nacheinander durchlaufen.

Habt Ihr Ideen für die Umsetzung?

von Stefan F. (Gast)


Lesenswert?

Ich würde damit beginnen, Javascript zu lernen. Die Datenübertragung zum 
µC kann dann mit AJAX realisiert werden.

von Kolja L. (kolja82)


Lesenswert?

Ja, das habe ich mir auch schon gedacht und folgenden gefunden:
1
<script>
2
// Formularfelder dynamisch hinzufügen
3
4
var feld = 1;
5
var feldm = 1;
6
7
function feld_plus() {
8
 if (feld <= 10) {
9
  var inhalt = "Feld " + feld;
10
  document.getElementById('dynamic_input').innerHTML +=
11
  "<input type='text' name='n_" + feld + "' value='" + inhalt + "'><br>";
12
  feld++;
13
 }
14
}
15
16
function feld_minus() {
17
 if (feld > feldm) {
18
 feld--;
19
  document.getElementById('dynamic_input').innerHTML = "";
20
  for (var zaehler = feldm; zaehler < feld; zaehler++) {
21
    var inhalt = "Feld " + zaehler;
22
    document.getElementById('dynamic_input').innerHTML +=
23
     "<input type='text' name='n_" + zaehler + "' value='" +
24
      inhalt + "'><br>";
25
  }
26
 }
27
}
28
</script>
29
30
Felder hinzufügen <input type="button" value="-" onClick="feld_minus();">
31
<input type="button" value="+" onClick="feld_plus();"> <br><br>
32
33
<div id="dynamic_input"></div>

Hier getestet funktioniert es prinzipiell auch ganz gut: 
http://htmlcodeeditor.com/

Nur habe ich noch folgende Probleme:

Wenn ein neues Feld hinzugefügt wird, haben alle bisherigen Felder 
wieder ihren Startwert und die bereits eingetragenen Werte sind 
verloren.

Es wird nur ein Feld hinzugefügt.
Wobei, dass würde ich schon hinbekommen ;-)

Dann muss aber jeden Formular einzeln übertragen bzw ausgewertet werden.

Ist die Aufgabe zu groß für mich,
um sie an diesem Wochenende zu lösen?

von Michael (Gast)


Lesenswert?

"ist die aufgabe zu groß" - wahrscheinlich
wieso musst du formulare einzeln übertragen? alle auf einmal geht nicht?

von Oliver J. (skriptkiddy)


Lesenswert?

Websockets könnten auch was sein, um die Daten zwischen Browser und 
ESP8266 zu übertragen. Der cnlohr hat was echt beeindruckendes 
entwickelt:
https://www.youtube.com/watch?v=8ISbmQTbjDI

Grüße Oliver

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.