nannerbm:
I created a login on arduino.cc specifically to thank pert for helping out with a shield that generates so much conflicting advice, blog posts and dummy spits.
I'm glad if I'm able to be helpful.
nannerbm:
My shield came with firmware that reported the AI_something AP SSID by default. It responds OK to AT but I can t visit it's advertised 192.168.4.1 web interface. Connection to that page times out although host is pingable. Do I need this web interface (for example to slow the interface - see SoftwareSerial question below)? Should I refflash the firmware?
There are two different firmwares these shields come with: DOIT and AT. The shields I bought from Aliexpress about a year ago came with the DOIT firmware installed. Posts on this forum indicate that the shields purchased from Jaycar come with the AT firmware. Since you are able to sent AT commands to your shield that shows it has the AT firmware installed. The link I previously posted (Quick Start | ESP8266-Based Serial WiFi Shield for Arduino----User Manual), which mentions the web configuration of the shield by connecting to the AP and opening 192.168.4.1 is specifically for the DOIT firmware and thus doesn't apply to you as long as you are using the AT firmware. You can do any necessary configuration of your shield by using the appropriate AT commands or the WiFiEsp library.
nannerbm:
Should I refflash the firmware? I. Plan to use the AT command set but am not sure if there is a 'best' firmware image for driving with AT commands.
There are two different "flavors" of the AT firmware. AI-thinker and Espressif. Espressif is the manufacturer of the ESP8266, AI-Thinker is the manufacturer of the ESP8266 modules. I don't have a lot of knowledge on the differences between the two. I haven't found any official information on the AI-Thinker firmware. AI-Thinker's website is in Chinese and Google Translate doesn't work on it. Espressif provides fairly good documentation of their firmware. My understanding is the AI-Thinker has additional AT commands that allow you to control the GPIO pins of the ESP8266. I don't see that feature as being terribly useful because it's much easier to just use the pins on the Arduino. Other than that they should be interchangeable for the most part. I have used the WiFiEsp library with the AI-Thinker AT firmware that came on a different style of ESP8266 shield I bought about a year ago. I have also used it with a fairly recent version of the Espressif AT firmware I installed on my DOIT shield (AKA "duinotech"). The WiFiEsp library does specify a minimum AT firmware version. I'm not sure whether the two flavors follow a similar versioning scheme. My preference is to always use the latest Espressif firmware but if the one you have is working for you already it might be best to leave it as is for now to avoid any unnecessary complications. You can use an AT command to do an OTA firmware update. Espressif waits a while to make their latest firmware available via OTA updates to make sure it's stable so you may not get the new and shiny unless you do a manual update, which is significantly more complex. Jaycar does provide a download with AT and DOIT firmwares and the update tool and instructions. I haven't looked closely to see what exactly this is.
nannerbm:
When I run SoftwareSerial at 115200 on Uno pins 6,7 communicating to shield D0, D1 (not stacked, dip switches set) and report debug info over HW/USB Serial to the monitor, I see some pretty wild ascii at times (eg, the reported ssid will have 8 out of 10 characters correct). Am I barking up the wrong tree to simultaneously attempt reliable Comms with unstacked shield and readable debug?
That's a reasonable approach. It's nice to be able to get some debug output instead of working blind but there are some drawbacks. The SoftwareSerial library does use more memory and slows things down and you lose two pins.
nannerbm:
Does sw serial run reliably at 115200?
I haven't used SoftwareSerial but my understanding is it does not run reliably at 115200, which is the default baud rate of the shield.
nannerbm:
Short of using the shield's unavailable web interface, can I dial down the shield serial speed to something that might reduce errors?
Yes, there are AT commands that allow you to change the speed. I'm referring to the user manual linked from the Jaycar product page as that has the best chance of applying to the firmware their shield ships with:
https://www.jaycar.com.au/medias/sys_master/images/8936207220766/XC4614-manualMain.pdf
It says you use the AT+IPR command to change the baud rate. This is disturbing to me because recent versions of Espressif AT firmware use "AT+UART_CUR" or "AT+UART_DEF" for this, which indicates there are significant differences between the AI-Thinker firmware and the Espressif firmware.
nannerbm:
Lastly, in my search for anything that works today, I upped the HardwareSerial Tx and Rx buffers to 256 bytes in the HardwareSerial.h header file. Nothing I've seen here suggests that to be necessary and it's a bit chunk of the Uno's ram. Should I roll that back?
Since you're using SoftwareSerial I don't think that is necessary.