Count me in on the "still having problems with initial WIFI based registration and serial reflash journey through hell" team... I hope this trip report helps someone else...
One of my 10 Oaks (the first I tried, of course) worked exactly as expected. I've developed an interesting model railroad CTC and field unit based control system using WIFI/MQTT as a code line; it runs on Oak, Photons an raw ESP8266's with I2C peripherals.
Now it is time to deploy the rest of the Oaks out to the layout, and I'm stuck: The other 9 Oaks are FAILing 100% of the time to do the IOS wifi setup dance (stuck in 'Saving settings to your device...'), even after using the serial process to re-flash the firmware.
[Edit: in desperation, I gave up on the iPhone and tried the digistu.mp/oakconfig URL on my Mac, where things "just worked". Even the 'remember my credentials' nit I mentioned below are handled... Is this a IOS -vs- MacOS issue? ]
For those on a similar journey, I got stuck with an esptool error(A fatal error occurred: Invalid head of packet) with multiple Oaks, using several prolific USB adapters. The tool Connected, erased and then got stuck writing at random percentages - between 30 and 60, always at about the 20 second time mark. The Oak simply stopped responding and needed a full power cycle to do anything else.
This ESP8266 thread (
http://www.esp8266.com/viewtopic.php?f=6&t=2791&start=20) shed a clue - apparently there is a brownout issue with programming large blocks and cheap usb power sources. The esptool "fix" that worked for me is to reduce the buffer sizes to lessen the power consumption duty cycle:
- Edit esptool.py so that:
ESP_RAM_BLOCK = 0x180
ESP_FLASH_BLOCK = 0x40
Unfortunately, even with the new firmware, the IOS Oak WiFi Config program STILL hangs forever on the "Saving settings" page...
Help! There has to be a better way! I've got a 90% failure rate using the iPhone/IOS web app! [Edit: using MacOS and Chrome, things worked quickly and correctly...]
There are some medium sized bugs in the web claim-a-device tool itself:
- IOS: The web "app" should have a way to remember my particle info and my local wifi info between runs (cookies?) - 10x devices times dozens of retries to get the process to work = bad usability.
- The list of SSIDs shows duplicates - 1, 2 or even 3 copies of my home SSID show up on the list - something is caching things and not filtering dups
- The browser's back button doesn't restart the app when it hangs - I need to reload it from the digistump site every time. See the usability comment above...
- Please, someone with wiki edit privs, please fix the http://digistump.com/wiki/oak/tutorials/serial_through_arduino page !!!