Forum: Mikrocontroller und Digitale Elektronik [ESP8266]: Verständnisfrage AT-Firmware


von A. (Gast)


Lesenswert?

Hallo zusammen,

ich möchte die AT-Firmware des ESP8266 verwenden, um vom 
angeschlossenen Mikrocontroller über WLAN eine TCP-Verbindung zu einem 
PC aufzubauen.

Das ESP-Modul ist bestellt, aber noch nicht eingetroffen. Praktische 
Tests sind daher noch nicht möglich. :-(

Folgende Fragen stellen sich mir vorab:

1.) Ich baue eine Verbindung zur Gegenstelle auf (AT+CIPSTART) und sende 
Daten dorthin (AT+CIPSEND), ich warte und erhalte ein "SEND OK" als 
Quittung, dass der Versand geklappt hat und ich ein neues Kommando 
absetzen darf. Wie kommen die Antwortdaten jetzt zu meinem µC? Ich 
vermute, dass diese einfach als Rohdaten aus der ESP8266-UART 
rauspurzelen und nicht in irgendein Frame (o.ä.) eingepackt sind, 
richtig?

Wenn ich jetzt mittendrin z.B. ein AT+CIFSR absetze und zeitgleich Daten 
über die offene Verbindung erhalte - wie kann ich dann unterscheiden, ob 
die eingehenden Daten jetzt die Antwort auf meinen letzten AT-Befehl 
oder die Daten aus der offenen TCP-Verbindung sind?

2.) Angenommen ich habe z.B. 2 TCP-Verbindungen offen. Wie kann ich 
unterscheiden, ob die eingehenden Daten über Verbindung 1 oder 2 
reinkommen?

3.) Die Seite von Electodragon scheint ja irgendwie die Referenz zu 
sein: http://www.electrodragon.com/w/Wi07c . Gibt es irgendwo eine 
offizielle Liste der unterstützten AT-Kommandos? Und wo ist die beste 
AT-Firmware Anlaufstelle?

Vielen Dank.


PS: Die Lua-Firmware kenne ich, möchte mich aber (zunächst?) mit der 
AT-Firmware befassen.

von Max H. (hartl192)


Lesenswert?

A. schrieb:
> Wie kommen die Antwortdaten jetzt zu meinem µC?
1
+IPD,0,296:<Daten>
2
     |  ^- Länge
3
     ^- Nr. der Verbindung

> 2.) Angenommen ich habe z.B. 2 TCP-Verbindungen offen. Wie kann ich
> unterscheiden, ob die eingehenden Daten über Verbindung 1 oder 2
> reinkommen?
Anhand der Nr. der Verbindung, siehe oben

von A. (Gast)


Lesenswert?

Prima, vielen Dank.
Der ESP8266 sendet also von sich aus "+IPD" usw., d.h. ich muss nichts 
abfragen/pollen. Gut.
Wie sind dann die <Daten> codiert? Vermutlich Binärdaten. Darin dürfen 
dann ja auch \r und \n vorkommen?! Das Ende von <Daten> läßt sich ja 
über die Längeninfo ermitteln.

Wenn hier noch jemand ein kurzes "ja, so ist es" nachschieben könnte, 
wäre ich rundum glücklich. :-)

Danke.

von Max H. (hartl192)


Lesenswert?

A. schrieb:
> Wie sind dann die <Daten> codiert?
Ich hab bis jetzt nur mit dem Browser Daten ausgetauscht (GET-Request 
beantwortet) und da was alles ASCII.

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.