I’ve set up an ESP8266 as a socket server and an android app with a couple of buttons to turn a light on and off… no problem. If you press the buttons continuously as fast as possible, most of the time everything is fine but eventually the ESP8266 will lock up after returning a “busy s…” signal. Incidentally I’ve tried this with the unit operating as a router – or simply logging into my main WIFI router. Result is the same – both work well but the former is a pain if the thing locks up as the reset kills the internal router.
As of yesterday there IS an update which takes us part way there… we’ve been provided us with not only the latest FLASH update but additionally an AT+XRST command. If you use this update you will likely find your default baud rate set back to 9600 initially. You need to use AT+XIPR=115200 if for example your working baud rate is 115200. That is stored in EPROM and survives reset/power cycle.
Here’s the link for the update..
Another article suggests adjusting the timeout as below…I’ve not yet tested to see if that gets one out of every situation… let me know if you have any success with this.. It HAS gotten me out of most situations up to now.
AT+CIPSTO=60 Sets the socket timeout period to 60 seconds
AT+CIPSTO? gets the current timeout value
If you install the latest update and are unsure you can go back to the 0922 software here … http://www.electrodragon.com/w/Wi07c
Incidentally the only change you have to make to wiring to blow the firmware is to take the GPIO0 line (the upper left green line in my diagram) and ground it. Cycle the power as it does not know it’s in programming mode until you do that… run the update software on the BIN file and you’ll see it updating.. I’ve had this work even when the whole board has gone heywire due to a bad update… when you get there – in my case it says it’s not coming out of update mode – ignore that, reconnect the GPIO0 line as normal and reboot – it will initially power up at 9600 baud and you can use the relevant command to put it back to whatever you use – 115200 in my case. AT+CIOBAUD? Tells you the current baud rate, to set the baud rate you can use AT+CIOBAUD=9600,19200,38400,57600,74880,115200,460800, 921600
Click on the image above right to enlarge.
None of this really sorts the BUSY problem…. but for example with the CIPSTO set to 10 seconds – I have on and off buttons on an Android App and a status indicator updating every 1/2 second (state of the lamp). It is working and if it screws up – that timeout gets me out of it – UP TO NOW…