沒錯,的確如此,因為AT COMMAND的功能被你的Arduino code取代了。
後來我找到方式,其實是可以燒回去的,首先你要找到AT Command Firmware檔。
http://bbs.espressif.com/viewtopic.php?f=46&t=1451
版本 ESP8266_AT_v0.51 基于 ESP8266_NONOS_SDK_V1.5.0
使用這一版本Firmware注意一件事,必須使用新版的ESP8266-01 ,通常是黑色底版。
從當前版本 ESP8266_AT_v0.51 起,AT 固件所需空間增大,無法再使用 4Mbit (512KB) Flash,請使用 8Mbit (1MB) 或以上容量 Flash。
下載下來並解壓縮,內容會如下所示
進入bin才是我們要的內容
接下來開啟readme.txt,會告訴你每一種不容量的版子,你需要燒錄什麼檔案在什麼位置
以ESP8266-01來看,就是8Mbit(1MB) 512k+512k
燒錄指令如下(需要先入手esptool工具https://github.com/themadinventor/esptool)
燒錄指令如下(需要先入手esptool工具https://github.com/themadinventor/esptool)
sudo esptool.py -p /dev/cu.SLAB_USBtoUART -b 115200 write_flash 0x00000 boot_v1.6.bin 0x01000 ESP8266_NONOS_SDK/bin/at/512+512/user1.1024.new.2.bin 0xfc000 ESP8266_NONOS_SDK/bin/esp_init_data_default.bin 0x7e000 ESP8266_NONOS_SDK/bin/blank.bin
接著等待它跑
esptool.py v1.0.1 Connecting... Erasing flash... Took 0.13s to erase flash block Wrote 4096 bytes at 0x00000000 in 0.4 seconds (81.1 kbit/s)... Erasing flash... Took 2.60s to erase flash block Wrote 419840 bytes at 0x00001000 in 41.0 seconds (81.9 kbit/s)... Erasing flash... Took 0.09s to erase flash block Wrote 1024 bytes at 0x000fc000 in 0.1 seconds (85.2 kbit/s)... Erasing flash... Took 0.15s to erase flash block Wrote 4096 bytes at 0x0007e000 in 0.4 seconds (85.4 kbit/s)... Leaving...
整個過程大約30秒。
如果一直顯示無法連接ESP8266,先確認線是否有接好,尤其是GPIO0 必須為GND。
如果還是失敗,先將ESP8266 斷電,重新RUN一次指令,等connecting..出現時立刻上電。
應該這樣幾次就會成功了,建議使用有開關的麵包板供電模組,不要直接用Usb To TTL供電。
沒有留言:
張貼留言