Arduino mit Esp8266

Guten Tag, Ich will meinen Arduino Uno mit einem ESP8266 verbinden und dann über Wlan von einer Internetseite oder App Daten an das Arduino übergeben. Hat jemand bereits Erfahrung mit dem Thema und kann mir Tipps geben.

Ist ein Esp8266 die richtige Wahl für so etwas oder gibt es Alternativen?

und wie kann der esp mit dem Arduino kommunizieren?

habe einige Probleme damit dass der ESP auch nur auf AT Befehle reagiert.

Vielen Dank für Eure Hilfe schon im Voraus

Die Frage wäre, ob du den Uno überhaupt brauchst und vielleicht nicht sogar alles direkt mit dem ESP8266 machen könntest?

Vermutlich ist es grundsätzlich einfacher, anstatt mit AT Befehlen den ESP direkt mit der Arduino-IDE zu programmieren. In der Arduino-Bibliothek gibt bereits diverse Beispiele hierzu (wenn man den ESP8266 in die Arduino-IDE eingebunden hat).

Ein einfaches Arduino-Beispiel wie man mit dem ESP8266 zwei Ausgänge über eine Weboberfläche schaltet, findet du hier https://blog.thesen.eu/stabiler-http-1-1-wlan-webserver-mit-dem-esp8266-microcontroller/

Solltest du den Uno tatsächlich noch benötigen, könntest du eine Kommunikation über die serielle Schnittstelle herstellen.

Ich habe mir vorgestellt das esp an den arduino über tx und rx zu verbinden und dann darüber zu kommunizieren. Währe es möglich den ganz einfachen esp der nur 8 pins hat mit der arduino ide so zu programmieren, dass er z.b. über TCP eine zahl bekommt und diese dann an den arduino weiter gibt?

peter_guf: Ich habe mir vorgestellt das esp an den arduino über tx und rx zu verbinden und dann darüber zu kommunizieren. Währe es möglich den ganz einfachen esp der nur 8 pins hat mit der arduino ide so zu programmieren, dass er z.b. über TCP eine zahl bekommt und diese dann an den arduino weiter gibt?

Wenn du RX und TX des Arduino für die Kommunikation verwendest, ist es kein Wunder, dass du damit Probleme hast. RX und TX (D0 und D1) sind auf dem Uno für USB reserviert und das macht dann Probleme. Es kann funktionieren, muss aber nicht. Verwende für die Kommunikation SoftwareSerial, da kannst du andere digitale Pins nehmen.

Währe es möglich den ganz einfachen esp der nur 8 pins hat mit der arduino ide so zu programmieren, dass er z.b. über TCP eine zahl bekommt und diese dann an den arduino weiter gibt?

Ja.

Aber warum über tx-rx? Verwende doch I2C und mache den ESP zum Master und den Arduino zum Slave/Portexpander.

Warum bespielst du den ESP nicht einfach selbst? Was du da machst ist doch unnötig. Der ESP am besten Nodemcu v2 ist per USB anschließbar und kann über die Arduino IDE programmierbar.

Hallo Heimdall,

bist du verwandt mit Whandall? :grin:

peter_guf: Guten Tag, Ich will meinen Arduino Uno mit einem ESP8266 verbinden und dann über Wlan von einer Internetseite oder App Daten an das Arduino übergeben. Hat jemand bereits Erfahrung mit dem Thema und kann mir Tipps geben.

Tipp: Programmiere den ESP über die Arduino Software. Ist zwar alles 3,3V aber das musst du auch zw. Arduino 5V und ESP 3,3V beachten.

Gibs ne Info von dir was du genau machen willst?

ich möchte eine Art Fernsteuerung für den Arduino bauen, so das ich keine potis und taster usw. an den arduino anschließen muss sondern diese durch eine website oder App ersetzen kann. Von der idee her so wie Blynk, nur eben selbstgemacht.

Schau Dir mal den Wemos D1 Mini an. Da musst Du Dich nciht mit einem USB-to-TTL-Adapter rumschlagen. Programmierung ist WESENTLICH einfacher als Arduino und ESP kommunizieren zu lassen.

Hallo peter_guf, genau wie ElCaron würde ich dir den Wemos D1 Mini empfehlen. Dort kannst du den ESP8266 direkt über die Arduino IDE programmieren, ist wesentlich einfacher und geht ziemlich fix. Außerdem ist das Ding mit 3€ einfach unschlagbar im Preis/Leistungsverhältnis!

nodemcu ist für sowas auch gut. Und wenn dann alles funktioniert, kannst du immer noch einen 01er verbauen.

Vielen Dank für eure Zahlreichen Tipps und Vorschläge. Werde mein Glück zunächst mal mit dem esp8266 12e versuchen, gibt es zu dem wemos d1 mini große Unterschiede ?

nein, nur die Benutzerfreundlichkeit, da der Wemos d1 wie der nodemcu eine USB Schnittstelle hat

Ja großer Unterschied.

Der esp ist der selbe. Nur hat der d1 mini noch einen spannungsregler, RS232 Wandler und Modeselector on Board.

Für Anfänger ist der D1 mini zu empfehlen.

Ich habe mich jetzt für ein esp8266 mit NodeMc bord entschieden und mir ist es gelungen das er über den tx pin an den arduino sendet mittesl softserial. Gibts es eine Möglichkeit,dass der arduino den Text den er bekommt z.B. Funktion1ON von Funktione2OFF unterscheidet und darauf reagiert etwa das er eine led an schaltet?

ja.

Hast du die Board Suche schon bemüht?

Tut mir leid, weiß nicht was du meinst

peter_guf:
Ich habe mich jetzt für ein esp8266 mit NodeMc bord entschieden und mir ist es gelungen das er über den tx pin an den arduino sendet mittesl softserial.
Gibts es eine Möglichkeit,dass der arduino den Text den er bekommt z.B. Funktion1ON von Funktione2OFF unterscheidet und darauf reagiert etwa das er eine led an schaltet?

Das geht über die if-Anweisung und mit strcmp.

Guckst du hier.

Danke, aber der arduino bekommt ja über softserial anscheinend int.

wenn ich mySerial.read aufrufe bekomme ich int

ist es auch möglich Strings zu bekommen, oder wie könnte ich die über den Seriellen eingang kommenden daten noch vergleichen ?