Messwert von Arduino Uno auf Webserver ESP8266 01S

Ja, ist auch ok. Genau wie deine Anleitung, die ist für Anfänger ideal.
Mal abwarten, ob noch was kommt, außer "hilft mir nicht weiter". :wink:

Wenn man damit durch ist, ist die Fips Seite relativ einfach :wink:

Sollte man annehmen. Aber leider ist das nicht immer so, wie das im parallel Forom gezeigt wurde. Selbst mit der deutlichen Erklärung wurde über die Seite hergezogen.
Also hat derjenige es nicht verstanden, was aber nicht an der Dokumentation und Seite liegt.

So Is Es, der Type hat aber allgemein Probleme (meine Boom....)

Stimmt....

Der hat nicht nur Probleme, der ist eins.

Gruß Tommy

@combie
Vielen Dank für den Hinweis. Ich weiß das der ESP mit 3,3V arbeitet. Deshalb hab ich auf dem Steckboard auch das Netzteil drauf, welches neben den 5V auch die 3,3V liefert und ihn dort auch angeschlossen( außer RX/TX natürlich). Jedoch gehen auch hier wieder die Meinungen auseinander. Einige Leute sagen, 5V sind zuviel für RX/TX, andere sagen, das macht ihm gar nichts.

@agmue
Auch Dir vielen Dank. Ich werde mir Deinen Code mal ansehen und ein wenig damit experimentieren, so wie ich es bis jetzt eigentlich immer gemacht habe. Manchmal kommt man aber nicht mehr weiter.

Der Webserver ist auf dem ESP schon drauf, falls man es Webserver nennen kann. Ist wirklich sehr schlicht, aber für meine Bedürfnisse völlig ausreichend. Damit schalte ich die Pumpe ein und aus. Vorher hatte ich dafür einen GPIO vom ESP genommen und ein Kabel zu einem Arduino Port gelegt. Hatte mich dann aber gefragt, ob das nicht auch anders funktionieren kann, z.B. seriell.
Ich sitze mit meinen fast 60 Jahren jeden Tag vor meinem Projekt und überlege, wie man so einige DInge umsetzen kann. Deswegen auch das Starterkit. Da hab ich von allen Bauteilen etwas und kann mich dran versuchen. Aus den mitgelieferten Beispielen bastle ich mir dann meinen Code zusammen und lese natürlich auch viel.

Hier mal der Sketch vom ESP und der dazu gehörende Teil vom Arduino. Dort werden Pin 2 + 3 vom ESP geschalten. Muss ehrlicherweise gestehen, das stammt nicht alles von mir.

// -- -- -- -- -- -- -- -- -- -- -- -- -auf ESP 8266 01S -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

#include <ESP8266WiFi.h>

const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxxxxxxxxxxxxxxxxxxx";

WiFiServer server(80);

void setup() {
Serial.begin(9600);
delay(10);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
}

// Start the server
server.begin();
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

while (!client.available()) {
delay(1);
}

// Read the first line of the request
String req = client.readStringUntil('\r');
client.flush();

String html = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n

LED 1

<form action="192.168.178.29/index.html" method="GET"> <input type="radio" name="led1" value="1" />AN
<input type="radio" name="led1" value="0" />AUS
<input type="submit" name="absenden" value="schalten!" />
\n";

// HIER SOLL MAL DER FUELLSTAND IN LITER STEHEN

// Match the request
int val = -1;
if (req.indexOf("?led1=0") != -1)
val = 0;
else if (req.indexOf("?led1=1") != -1)
val = 1;
else if (req.indexOf("/index.html") != -1)
client.print(html);
else {
//Serial.println("invalid request");
client.stop();
return;
}

if (val != -1) {
Serial.println(val);
client.flush();

// Send the response to the client
client.print(html);
delay(1);

}
}

//-------------------------auf Arduino Pin 2 + 3 schalten über RX TX-----------------------------------

void setup() {

Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}

void loop() {

if (Serial.available() > 0)
delay(10);
int status_led = Serial.read();
if (status_led == 48)
digitalWrite(2, LOW);
if (status_led == 49)
digitalWrite(2, HIGH);

if (Serial.available() > 0)
delay(10);
if (status_led == 48)
digitalWrite(3, LOW);
if (status_led == 49)
digitalWrite(3, HIGH);
}

Besser?

Setze doch bitte deinen Code in CodeTags, damit man ihn lesen kann. Danke

Jungspund :smile:

Meine ESP32 haben die 5 V schon mehrfach überlebt. Eine Garantie gibt Dir das Datenblatt aber nicht. Also Zocken oder Sicherheit? Bei Sicherheit verwendest Du einen Levelshifter.

Ich mache das nach dem Vorbild von Fips mit Events server.on ( "/led", esp32Led );. Das scheint mir der einfachere Weg.

Und, um auch das gleich loszuwerden, die ESPs haben ein eigenes Dateisystem SPIFFS oder LittleFS1), das sich lohnt zu nutzen.


Anm.:

  1. Bitte LittleFS bevorzugen.

Ja, fast 60 Jahren. Mir raucht hier jeden Tag der Kopf. Einfach zu viel Input in den letzten Wochen.
Ich werde auf Dein Anraten nun doch noch RX/TX 5V durch Widerstände begrenzen. Sicher ist sicher.
Den Programmcode den Du gepostet hast habe ich bereits eingefügt und wurde auch anstandslos von der IDE geprüft. Wenn es funktionieren sollte liegt es jetzt sicher nur noch daran, das der HTML Code angepasst werden muss und dann endlich auch der Füllstand erscheint.
Noch eine Frage zu LittleFS. Muss ich mir das so vorstellen, das es auch Dateiordner gibt? Falls ja, könnte man dann dort auch einen Button im jpeg Format ablegen, um diese häßlichen Radiobutton zu ersetzen? Das wäre allerdings nur Kosmetik und nicht so wichtig.
Da die Frage aufkam, warum keinen Wemos oder NodeMCU. Einfach zu wenig Pins. Ich möchte ca. 10 Magnetventile, Pumpe und ca. 5 Sensoren anschließen. Ich weiß, da reicht der UNO auch nicht mehr. Allein 2 Ultraschallsensoren und 2 Feuchtigkeitssensoren belegen schon mehrere Ports. Beim LCD Display bin ich schon auf I2C umgestiegen. Dann hol ich mir den MEGA, der hat genügend.

Ja, ebenso wie Style Sheets (css), Javascript-Dateien und dergleichen.

Der Blick durchs Schlüsselloch ins Füllhorn kann einen verängstigen, aber erfahrene Männer können das aushalten, einer der wenigen Vorteile des Alters :face_with_hand_over_mouth:

Und die Tipps dieser solltest du @anon56418722 bitte nicht ignorieren.

das Aussehen von Radiobuttons macht man eigentlich mit CSS.
jpgs dafür waren eher Ende der 90er.

Wenn "Wifi" gefragt ist, macht auch ein Mega für mich nur mehr wenig Sinn.
Wenn ein Wemos/ESP8266 NodeMCU zu wenig Pins hat ---> schau dir mal einen ESP32 an.
Ansonsten gilt immer: wenn zu wenig Pins --> I2C Expander.
Aber Hauptsache nur ein Microcontroller, nur ein Code und somit nur ein Problem.

Uns allerdings auch, wenn wir deinen Sketch (Post #28) lesen sollen.
Du wurdest in Post #29 darum gebeten, diesen hier richtig und gut lesbar einzustellen.
Warum machst du das nicht ?
Das kannst du in deinem obigen Post auch noch nachträglich machen.
Dann können alle den sauber lesen.