ESP -> Kommunikationsproblem

Hallo miteinander !.

ich bin zwar etwas weiter gekommen aber nicht wirklich viel.......

ich hänge immernoch beim esp8266 fest...

ich hab jetzt geschafft, diesen sketch ans laufen zu bringen:

http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/

und das hat bisher leider nicht geklappt:

ich hab schon etliche artikel zum esp durch, aber leider kein einfaches, verständliches beispiel für meine zwecke gefunden......

und zwar suche ich nach einer möglichkeit vom laptop aus etwas zu senden (über eine htmldatei, die auf dem laptop liegt oder zum testen über "packedsender" (udp/tcp))

und das dann mit dem esp zu empfangen und an den arduino weiterzuleiten und mir über den seriellen monitor ausgeben zu lassen......

und umgekehrt !

hat da vielleicht jemand eine idee oder besser noch ein beispiel, ohne viel drumherum ?

quasi in die richtung:

void setup()  
{   Serial.begin(9600);
    Serial1.begin(115200);
    Serial.println("====================================");
}

void loop()
{
   if (Serial1.available())       
  Serial.write(Serial1.read());   
 
     if (Serial.available())       
  Serial1.write(Serial.read());
    
}

Vom Laptop zum ESP über WLAN und dort per Ser.Monitor ausgeben hatte ich dir ja schon mal gezeigt:

Hier, Post #13

Ist doch schon mal ein Anfang...

ja, aber wenn ich das richtig verstanden hab, nutzt du nur den esp ???

mir gehts ja darum, den esp nur zum durchreichen zu nutzen ......
naja und die sache auf der empfängerseite hab ich noch nicht verstanden....

ich würde halt gern zb buttons in html mit den befehlen belegen.......
hatte es bei dem sketch:
http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/

mal versucht, ein button mit http://ip/LED=An usw zu belegen, beim klicken wurde aber die seite aufgrufen......
hab ich http://ip/LED=An hingegen in browser iengegeben, hats funktioniert.....

ich suche eigentlich genau dashier:

nur für laptop und statt tcp/udp commander würde ich gern was in html (oder zur not in basic oder c++) machen......

ich hab bloss noch nicht ganz beegrifen, wie das mit der kommunikation mit dem esp funktionieren soll.....

Wie das mit den AT Befehlen über vom Arduino zu ESP geht weiß ich auch nicht - nie probiert.

Aber eigentlich kann der ESP auch alles was der Arduino kann. Wozu dann noch extra einen Arduino dazwischen? Oder möchtest du nicht, dass sich dein Arduino arbeitslos melden muss...

Wie das mit den Buttons-Befehl-Senden in HTML geht würde mich auch interessieren. Submit?!

Das mit der TCP UDP-App hab ich auch schon probiert - funktioniert prima. Da kannst du z.B. Buttons mit Befehlen anlegen.
Schon cool: Ich drücke auf dem Smartphone im WoZi ein Button und im Arbeitszimmer geht die LED an - fand sogar meine Frau interessant. :grin:

magictrips:
ja, aber wenn ich das richtig verstanden hab, .....

ich suche eigentlich genau dashier:
Steuern mit WLAN

nur für laptop und statt tcp/udp commander würde ich gern was in html (oder zur not in basic oder c++) machen......

ich hab bloss noch nicht ganz beegrifen, wie das mit der kommunikation mit dem esp funktionieren soll.....

Das glaube ich auch. Wieso willst du dem ESP8266 eine HTML Seite schicken? Das ist doch kein Browser, sondern ein Server. An Server schickt man Anfragen und die schicken Antworten zurück. Die Antwort KANN eine HTML Seite sein, auf der du dann einen Button drücken kannst, was dann wiederum eine LED schaltet.
Das Beispiel auf hjbernd erwartet eine Anfrage und antwortet mit einfachem Text, nicht mit HTML.
Dazu muss folgendes gegeben sein:
Sketch und Verdrahtung etc. wie angegeben
AT Firmware auf dem ESP8266
Esp8266 auf 9600 baud eingestellt (!!!)
Notebook per Wlan mit dem ESP8266 verbunden
Notebook muss eine IP aus dem 192.168.4.xxx Bereich haben. Weiss jetzt nicht, ob dhcp funktioniert. Glaube aber eher nicht. Also dem NB manuell 192.168.4.2 mit Maske 255.255.255.0 zuweisen
Dann kann mit dem Aufruf von 192.168.4.1/1 im Browser des Notebooks die LED eingeschaltet werden und mit 192.168.4.1/0 wieder aus.

Ich hoffe, ich habe nichts vergessen

Der ESP reicht von den Anschlüssen bei weitem nicht (:

Bei mir funktioniert das leider nicht mit der APP...........

habs jetzt sicher schon 10 mal versucht........

mags dus vielleicht auch mal hiermit probieren:

und wie hast du das mit der app ans laufen gekriegt ?

hab den gleichen sketch, nur pin 13 und 115200 baud !!!!!!

und die ip im esp hab ich auf 192.168.1.7 geändert.....

und statt port 333 hab ich 80............

tut sich nichts ):

@ elespanol

will ich doch gar nicht ?

ich will eine html-seite (oder eventuell ein basic oder c++ programm) auf dem laptop haben und von da aus befehle schicken oder messwerte empfangen.......
ohne dieses html-gedöne, das in dem led-sketch verwendet wird, ehr so wie die sache mit dem smartphone (;

so langsam fang ich an eine starke abneigung gegen den esp zu entwickeln.....

ich habe jetzt diese einstellungen hier:

// Baudrate
AT+CIOBAUD=9600

// Als Accesspoint
AT+CWMODE=2

// Name, Passwort, Kanal und offener zugriff
AT+CWSAP="ESP","12345678",10,3

// Als soft AP und DHCP an
AT+CWDHCP=0,0

// Ip adresse ändern
AT+CIPAP="192.168.1.7"

// multiconnection
AT+ CIPMUX=1

// TCP oder UDP
AT+CIPSTART=1,"UDP","192.168.1.7",80

// reset
AT+RST

diese smartphonegeschichte klappt nicht ):

und mit dem sketch:
void setup()
{ Serial.begin(9600);
Serial1.begin(9600);
Serial.println("====================================");
}

void loop()
{
if (Serial1.available())
Serial.write(Serial1.read());

if (Serial.available())
Serial1.write(Serial.read());

}

empfange ich kontinuierlich "kaudawälsch"......

wenn cih das richtig verstanden habe, müßte ich doch mit dem sketch etwas empfangen, wenn ich vom smartphone aus was sende?

Klappt denn das Schalten der ESP-LED am GPIO2 wenn du vom Schlepptop sendest?

Auf dem Smartphone hab ich folgende Einstellung:

Settings

Target IP: 192.168.100.60 (IP vom ESP - im Router als feste IP eingestellt)
UDP/TCP: TCP
Target Port: 80
Incomming Port: 9998

Button "LEDan"
Command: /gpio/1

das weiß ich nicht ?

da ich ja nur mit dem esp + arduino arbeite.......

also vom smartphone klappt nichts....

ich habe es vorhin geschafft zumindest eine verbindung aufzubauen und mit 192.168.1.7/1 oder /0
kam dann im seriellen monitor "LED ist AUS"

jetzt bekomme ich nichtmal
AT+CIPSTART=1,"UDP","192.168.1.7",80

eingestellt = ERROR

welche firmware hast du denn ? das modul zickt so unglaubich rum, obwohl ich (glaube ich) die neuste firmeware hab

@magictrips: Meist sitzt das Problem vor dem Computer. Um Fehler einzugrenzen, bricht man das ganze auf den kleinsten Teil herunter. Also zuerst mal den Arduino weg.
ESP8266 mit usb2serial 3,3v Adapter an den PC, Programmiermodus aktivieren, neu mit AT FW flashen, damit du einen definierten Ausgangszustand hast.
Dann mit Terminalprogramm den ESP8266 manuell konfigurieren.
dann vom Smartphone oder Notebook per Wlan konnekten und Anfragen senden und sehen, was im Terminal ankommt.
Arduino als usb2serial sehe ich grundsätzlich als ungeeignet an.

ja, kla, macht sinn so vorzugehen......

nur hat ja zb diese led-steuerung problemlos funktioniert.......

eine udp verbindung aufbauen konnte ich auch........

neu geflashed hatte ich den gestern erst.......

welche firmware habt ihr denn ?

ich hab zB grade rausgefunden, das ich zB beim AT+RST grundsätzlich (und auch so zwischendurch) kaudawelsch empfange, wenn ich den mit einer baudrate von 9600 betreibe ...

mit 115200 läufts wesentlich sauberer

Ich lasse mir zwar Daten vom ESP am ser. Monitor anzeigen - ist aber etwas trickie.

Manchmal muss ich mehrfach Terminalfenster neu aufrufen und ESP resetten um eine Anzeige zu bekommen. Terminalfenster steht auf 115200baud cr+lf.

Wie ElEspanol schon sagte: Möglichst die ser. Verbindung weglassen, scheint Fehleranfällig zu sein.

Gibt es eigentlich ein "Einfach-Simpel-Display" für den ESP? Wär für die "Programmkontrolle" nicht schlecht...

das hier scheint mir nicht "Einfach-Simpel" zu sein. Und das hier hab ich noch nicht kapiert...

ich werds jetzt nochmal mit neuer frimware und dem esp-programm testen.......

aber die serielle ausgabe wegzulassen macht bei mir ja recht wenig sinn oder nicht ?

ich will den esp doch nur fürs wlan nutzen und mit einem arduino die befehle senden und empfangen.....

der esp hat leider nicht genug pins (:

den esp solo werd ich aber in einem anderen projekt verbauen (:
da gibts auch einige schöne tutorials............

Der nodeMCU hat viele Beinchen mehr dran. Schau dir den mal an. Hab mir auch einen bestellt. Hat praktischer Weise auch gleich den USB dran. Sollte eigentlich für viele Anwendungen reichen...

Wenn man genau wissen will, was zwischen Arduino und ESP8266 vorgeht, dann "belauscht" man die Kommunikation mit zwei usb2serial. Da schließt man jeweils nur den Rx Pin an die beiden Datenleitungen vom Arduino an den ESP8266 an, öffnet 2 Terminalprogramme und dann sieht man die Komplette Kommunikation.

Und dann siehst du auch, dass es nicht so abläuft, wie du es dir vorstellst.

Man muss genug mit dem ESP8266 seriell rumgespielt haben, bevor man den an einen Arduino hängt.

Um so schöner/besser wäre doch ein Display?!

Bin in Thailand fündig geworden. Gibt sogar eine lib dafür.

Ach die Thais haben das auch schon hinbekommen? Das I2C Display läuft bei mir schon lange am ESP8266.
Da kann man sogar bei Wire die Pins frei definieren.
Guggst du hier

Damit siehst du aber auch nicht, was auf der seriellen los ist. Glaub mir, mit 2 (oder mit Dioden sogar 3) usb-seriell Adapter zum Lauschen bist du bestens bedient.

so bin wieder ein schritt weiter.......

mit dem userprogramm funktioniert das schonmal sehr gut und hab auch die neue firmware 1.1 drauf.....

ich kann im userprogramm mit dem esp alles empfangen (auch diese smartphone-app-sache funktioniert und sogar der PacketSender) nur kann ich mit dem esp nichts senden......

immer wenn ich versuche was an mein notebook (PacketSender) zu schicken, kommt im monitor vom esp userprogramm ERROR.........

was mir auch aufgefallen ist, das man nach dem einstellen dees severs usw den esp nicht reseten sollte ! war ein fehler, der mir viel ärger gemacht hat......

ich brauche jetzt eine möglichkeit, aus einer html-datei heraus, ein string per tcp an ip + port zu senden.........weiß da zufällig jemand was ? ...........kann natürlich auch java script sein (;