Forum: Mikrocontroller und Digitale Elektronik Zeilenende bei ESP-8266 AT Command Firmware


von Stefan F. (Gast)


Lesenswert?

Hallo, alle.

Ich habe vor etwa einem Jahr ein paar ESP-01 Module (mit AT Command 
Firmware 0.9.1) gekauft. Es sind noch welche übrig, so dass ich noch 
keine neuen kaufen möchte.

Jetzt habe ich ein Stück Code als Open-Source veröffentlicht und möchte 
gerne sicherstellen, dass andere Leute sie ohne grobe Fehler verwenden 
können.

Bei meinen Modulen müssen AT-Befehle mit '\r' abgeschlossen werden. 
Obwohl einige Webseiten '\r\n' vorgeben. Aber wenn ich das mache, 
erhalte ich unnötige Leerzeilen im Echo der Befehle und deutlich 
spürbare Performance-Nachteile. Also möchte ich möglichst bei '\r' 
bleiben.

Ich bin aber unsicher, ob aktuelle Module immer noch mit '\r' klar 
kommen oder ob bei denen plötzlich '\r\n' Pflicht ist. Weiss jemand, wie 
sich die aktuell verkauften Module in dieser Hinsicht verhalten?


Ich habe noch eine Frage, nur so aus Neugier:

Mir ist aufgefallen, dass die AT Firmware über WLAN nichts empfangen 
kann, während sie einen AT+CIPSEND Befehl abarbeitet. Alles, was während 
dessen empfangen wird, landet offensichtlich nicht in einem Buffer, 
sondern wird verworfen. Das ist sicher nicht Im Sinne des TCP 
Protokolls.

Da frage ich mich: Wie viel RAM hat der ESP8266 Chip eigentlich? ich 
habe zig Datenblätter durchforstet, aber keine konkrete Angabe gefunden. 
kann doch nicht sein - bin ich blind?

PS:
Bitte schlagt mir jetzt nicht vor, den Chips selbst (in C oder LUA) zu 
programmieren. Ich kenne diese Alternative und werde sie sicher auch in 
Betracht ziehen. Meine obigen Fragen beziehen sich jedoch ausdrücklich 
auf die AT Firmware, mit der die ESP-01 Module verkauft werden.

von Michael U. (amiga)


Lesenswert?

Hallo,

habe gerade mal einen aktuellen ESP-8266-01 rangesteckt und mit HTerm 
probiert:
/r/n ist Pflicht, Firmware 1.4
/r wird ignoriert, /n gibt einen Error.

Ram hat er rund 80kB, die AT-Software habe außer für kurze Experimente 
am Anfang nie benutzt, LUA habe ich kurz reingeschaut und dann 
ignoriert.
C/C++ und die ArdioniIDE haben bei mir eindeutig gewonnen und bei oft 
ist der AVR dann auch eingespart worden...

Die -01er sind zwar etwas sparsam mit I/O ausgerüstet, dank OTA-Update, 
MQTT usw. durchaus brauchbar. Inzwischen ahben die ja auch einen 
8MBit-Flash drauf.

Mir ist gestern aufgefallen, daß sich ein -01 von den Störungen eines 
elektronischen Halogentrafos aus dem Tritt bringen lassen, bis zu einem 
Abstand von ca. 10cm zu Trafo und Kabeln scheint er nicht mehr sauber zu 
starten. Ein -07 mit der Abschirmung drauf hat das ignoriert.

Gruß aus Berlin
Michael

von Stefan F. (Gast)


Lesenswert?

Vielen Dank, hast mit gut geholfen.

von Stefan F. (Gast)


Lesenswert?

Ich mache das jetzt so:
Beim Programmstart sende ich "AT\r" und warte 200ms lang auf ein OK. 
Wenn das nicht kommt, sende ich noch ein "\n" hinterher.

Danach weiß das Programm, welches Zeilen-Ende Format das richtige ist.

von Michael U. (amiga)


Lesenswert?

Hallo,

hoffentlich ist bei den AT-Kommandos nicht zuviel geändert worden, sonst 
hast Du da evtl. auch noch eine Abfragerunde je nach Firmware-Version.
Naja, kannte man ja schon von Webbrowsern, jeder interpretierte anders.

Meine Oma hat zu mir immer gesagt:
Der Mensch kann noch so dämlich sein, er muß sich nur zu helfen 
wissen... ;-)

Gruß aus Berlin
Michael

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.