ESP8266 wifi 通訊模組韌體燒錄簡介
ESP8266是一款UART轉WiFi的SoC晶片,被拿來組合成各種五花八門的擴充板,其中最常見也最容易買到的模組型號就 ESP-01,尺寸迷你價格便宜。此篇文章進行燒錄 ESP模組是使用mac os x 平台,但是如果是使用Linux平台的話做法應該是一樣。
pin 腳定義
買到手的時候會發現,模組上有八根沒有標示的 pin 腳。上網查了一下,可以知道pin 腳配置如下:UART介面的 wifi 模組
ESP8266模組到手的時候,就可以透過模組上的 Tx/Rx (UART 介面)的 pin腳來下AT command 進行簡單的 WiFi 連線。本身支援AP模式(無線網路基地台)和一般模式。通訊協定上支援 TCP 和 UDP,可在無線區域網路中扮演伺服器(Server)等候連入,或扮演客戶端(Client)去與Server連線。我一般使用可以簡單買到的 USB-UART 轉接線和ESP模組連接。而接法如下:
ESP8266 pin:
GND
UTxD ----> RxD (USB-UART 轉接線)
GPIO_2 --> 不用接
CH_PD ---> 3.3V (電源,不能接5V!會燒掉)
GPIO_0 --> 不要接!!
RST -----> 不用接
URxD ----> TxD (USB-UART 轉接線)
VCC -----> 3.3V (電源,不能接5V!會燒掉)
電流需求 : 200 ~ 300 mA
ESP8266對於電源電流供應會有一些要求,如果電源不夠力的話,會導致模組運作不穩定。使用UART 做通訊的時候記得要設定連線設定如下: (115200 8N1)
- Baudrate:115200
- byte size: 8
- Parity: None
- Stop Bit: 1
使用UART 介面進行韌體更新
ESP8266是可程式化的通用微控制器(具有WiFi功能),具有少數的 GPIO。ESP-01模組上只拉出兩根。而從拍賣網站上買到手的時候,裡面其實已經燒好最新版本的韌體來支援 AT command。網路上也流傳著許多其他版本的韌體來支援其他功能,像是較為知名的支援可在模組上執行 Lua 程式語言的韌體(nodeMCU),其原始碼就放在github上。不過要自行編譯原始碼的話會是一項大工程,所幸的是,有網站提供客製化的 nodeMCU 韌體線上編譯的免費服務,網址為http://frightanic.com/nodemcu-custom-build/
編譯好的韌體會傳送到網頁上要求輸入的 email 位址,筆者收到了兩個檔案:
nodemcu-master-7-modules-2015-09-18-02-26-58-float.bin
nodemcu-master-7-modules-2015-09-18-02-26-58-integer.bin
燒錄的時候,我是選檔案大小比較小的那個。拿到韌體之後,我們還需要一個燒錄程式,在這邊我是使用 esptool.py 這個指令工具,下載安裝之後。就可以準備開始燒錄韌體了。進行燒錄時使用下面所示的接線配置,可以使ESP模組進入燒錄模式,
- CH_PD --> 3.3v
- VCC --> 3.3V
- UTXD --> RXD (USB-UART 轉接線)
- URXD --> TXD (USB-UART 轉接線)
- GPIO0 --> GND <重點>
- GND --> GND
/dev/tty.usbserial
如果是 Linux 系統的話則是出現/dev/ttyUSB0
然後打開 command-line ,然後使用esptool.py指令:esptool.py --port /dev/tty.usbserial write_flash 0x000000 nodemcu-master-7-modules-2015-09-18-02-26-58-integer.bin
如果是 Linux 系統的話則是esptool.py --port /dev/ttyUSB0 write_flash 0x000000 nodemcu-master-7-modules-2015-09-18-02-26-58-integer.bin
接著就會出現燒錄中的訊息,等到燒錄完成後畫面是如下所示onionys$ esptool.py --port /dev/tty.usbserial write_flash 0x000000 nodemcu-master-7-modules-2015-09-18-02-26-58-integer.bin
Connecting...
Erasing flash...
Wrote 354304 bytes at 0x00000000 in 34.6 seconds (82.0 kbit/s)...
Leaving...
onionys$
如此一來,就完成燒錄的工作了。重新接線後,會發現AT command 已經不能使用了。之後,我們會再介紹如何在 nodeMCU 的韌體下使用 Lua 語言控制 ESP8266 模組。
沒有留言 :
張貼留言