[Adruino,ESP8266]ESP8266 ESP01 第一次就上手 韌體燒錄篇

因為專題需要從淘寶上淘了兩顆ESP8266來玩,玩到差點失去耐心,連續跑了電子街買好好多材料,最後才發現網路上關於ESP8266的文章多少都有點錯誤或是不清楚...導致我的ESP8266只會丟亂碼出來(非鮑率設定錯誤),這邊就寫一篇經驗+教學文

注意事項

網路上有一些使用ARDUINO燒錄ESP8266的方式,經過測試均無法成功(燒出來會產生亂碼或是無法燒錄),還是準備一個USB轉TTL的工具

如果ESP8266吃電不足會導致燒錄失敗或是下指令無回覆

有一些人可能會不小心買到盜版的PL2303HX那麼就只能使用2009年以前的驅動(WIN 10下可正常運作),在我的下載連結裡面有附,詳細可以參考這裡


準備

主要硬體
ESP8266 ESP01
USB TO TTL (必要,此篇採用PL2303HX)

電源穩壓(擇一)
方案一  5V降壓:AME 1117/AMS 1117 (5V to 3.3V) + 10u電解電容*1
方案二  額外供電:18650電池*1
※這邊非常重要,在反覆測試中發現如果直接接USB上的3.3V會導致ESP8266無法工作或是回應

軟體/韌體準備
ai-thinker-v1.1.1-115200.bin (安信可釋出的簡易燒錄韌體)
FLASH_DOWNLOAD_TOOLS_v2.4_150924 (燒錄軟體)
ARDUINO IDE (測試AT指令用)
這裡下載

※有些非安信可(ai-thinker)出版的ESP8266可能會無法正常使用AT功能,這時候建議燒錄官方SDK

燒錄接線


在燒錄的時候會把GPIO0接地來啟動燒錄模式

切記ESP8266的工作電壓是3.3V~3.6V,不可接5V會燒毀
下面製作穩壓器的原因在ESP8266吃電大,ARDUINO或是USB供電的3.3Vㄉ都不太足夠,可能無法使ESP8266穩定驅動

ESP01 DATASHEET


USB TO TTL(PL2303HX) 接線

建議先把PL2303HX的GND拉到麵包版上再進行以下接線

※1117 的 左邊腳:GND 中間腳:Vout(3.3V) 右邊腳Vin(5V)

EP8266 的 TX > PL2303HX的RX
EP8266 的 RX > PL2303HX的TX


然後把PL2303HX的5V跟GND 拉到1117上面
PL2303HX 的 5V     > 1117 5V
PL2303HX 的 GND > 1117 GND



最後在把ESP8266的VCC、CH_PD、GND、GPIO0接上
ESP8266 的 VCC     > 1117 的 3.3V
ESP8266 的 CH_PD > 1117 的 3.3V
ESP8266 的 GND     > GND
ESP82662的 GPIO0 > GND (進入燒錄模式)

使用額外供電

用單心線把18650正負極拉出來即可,不用經過1117降壓(18650額定3.6V),接線方式同上




開始燒錄

接線完畢後需要將ESP8266重新接電才能進行燒錄動作

這邊的示範使用安信可釋出的簡易燒錄檔,如果想要使用官方的SDK燒錄位置可以參考下載的壓縮包裡面的README.md(在bin>at),ESP-01對應的是Flash size 8Mbit: 512KB+512KB

※COM PORT依據自身電腦設定

ESP_DOWNLOAD_TOOL_V2.4


其中根據官方文件需注意 SPI MODE需要使用DIO或是DOUT

就是因為SPI MODE設置錯誤導致8266一直丟亂碼出來啊....


測試

燒錄完畢後拔除GPIO0接地,解除燒錄模式,然後重新接電
開啟ARDUINO IDE選擇好COM PORT,然後開啟序列阜監控視窗(注意鮑率選擇和選擇NL&CR的結尾方式)


一開始會有一些亂碼 然後出現

Ai-Thinker Technology Co. Ltd.

invalid
即代表系統就緒

如果是使用官方SDK則是會出現" READY"
這時候試著輸入"AT",8266就會回復"OK"

參考

ESP8266官方
官方入門指南
安信可韌體GITHUB



留言

這個網誌中的熱門文章

[Arduino]電子秤平 重量感測條+HX711AD模組

cpe練習筆記 UVa401 Palindromes

cpe練習筆記 UVa10019 Funny Encryption Method