ESP8266-12E是ESP8266-12的增強版,完善外圍電路,增強阻抗匹配,信號輸出更佳,無論是穩定性還是抗干擾能力,都得到了大幅度的提升!對於之前選擇ESP-12的用戶,即使已經做出產品也沒關係,增強版完全兼容之前固件,引腳在ESP-12的基礎上又新增六個IO口、SPI口引出,開發更加便捷,應用更加廣泛!
為了專題的研究買了ESP8266-12E這塊板子WiFI(感覺比較猛),但是網路上的教學內容都不是很清楚,不斷出現放棄的念頭...早知道買ESP01?? 經過我好研究一陣子的成果與大家分享(教學部分內容源自網路)
一.匯入WiFiEsp函式庫
https://github.com/bportaluri/WiFiEsp
Arduino IDE 上方草稿碼-匯入程式庫-選擇本ZIP檔
Arduino IDE 上方草稿碼-匯入程式庫-選擇本ZIP檔
二.準備組件材料
- Arduino uno R3板 x1
- ESP 8266-12e WiFi模組 x1 (已買轉接版焊好)
- 杜邦線 x1
- 麵包版 x1
- 電阻10k(或以上) x6
3.連接方式
電阻其中四個作為上拉電阻(連接到3.3V),其中兩個作為下拉電阻(連接到GND),網路上雖禁止要使用者接Arduino的內建電源,不過我是沒有理它啦...
三.刷韌體
刷入ESP SDK 1.5.2(Non-OS SDK)以上版本
打開程式照下圖設定
- 下載Firmware(壓縮檔裡的BIN資料夾就是) https://github.com/espressif/ESP8266_NONOS_SDK (最新版本-推)
- 下載Flash Download Tools https://www.espressif.com/en/support/download/other-tools
https://bbs.espressif.com/download/file.php?id=1079 (1.5.2)
(BAUD 選11520)
注意
- 將GPI00插到下拉- 才可進行Flashing
- 程式的路徑不能有中文,可以都放桌面
- 案下Start後,可以將WIFI版進行REST(插GND後拔出)
- 如果一直失敗,重新插電、重插腳位、resr、換板子、換鮑率、換版本我都試過,可能有時候會不穩定,一直試可以的但是記得腳為要接正確(gpi00- TX RX)
相關設定資訊(本版子是32Mbit )
文件名称 | 8Mbit 地址分配 | 16Mbit 地址分配 | 32Mbit 地址分配 | 备注 |
boot.bin | 0x00000 | 0x00000 | 0x00000 | 由乐鑫在 SDK 中提供,建议一直使用最新版本 |
user1.bin | 0x01000 | 0x01000 | 0x01000 | 主程序,由代码编译生成 |
user2.bin | 0x81000 | 0x81000 | 0x81000 | 主程序,由代码编译生成 |
esp_init_data_default.bin | 0xFC000 | 0x1FC000 | 0x3FC000 | 由乐鑫在 SDK 中提供 |
blank.bin | 0xFE000 | 0x1FE000 | 0x3FE000 | 由乐鑫在 SDK 中提供 |
*************** Flash Info ***************
512+512(較穩定)/1024+1024
SPI MODE: DOUT
SPI SPEED: 40MHZ
Flash Size: 32Mbits
*****************************************
四.AT設定
四.AT設定
- Plug your Arduino to USB port.
- Open your Arduino IDE.
- Open the "Tools" menu.
- Select your board : Arduino/Genuino Uno.
- Select your Arduino COM port.
- Open Serial Monitor.
- On the bottom right part select "Both NL & CR"
- Then select your serial baud rate. My esp-12 default is 9600. Some got 115200 for default.
接著將GPI00接回上拉+
進行一次RESR應能看到有東西輸出
看到Ready才是正確讀到,如果沒有出現可以嘗試Rest或更換baud rate,再次檢查接腳
成功就可以輸入指令 調整傳輸鮑率(必設)
AT+UART_DEF=9600,8,1,0,0
參考AT指令
http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module#AT_Commands
五.測試連線狀態
- 打開IDE檔案-範例-WIFIesp-test-BasicTest
- 更改語法
- SoftwareSerial Serial1(2, 3); // RX, TX
- SSID與密碼
- 將原本接在Arduino的TX插到2 RX插到3(旋轉移位)
- 上傳測試結果
大家有任何問題歡迎留言,希望這篇教學能幫到需要的人!
延伸學習(透過MQTT傳遞資料)
https://sonyarouje.com/2016/03/15/mqtt-communication-with-arduino-using-esp8266-esp-01/
參考網站
http://www.playrobot.com/wifi-enthnet/1336-esp8266wifi-esp-12e.html
http://www.playrobot.com/wifi-enthnet/1336-esp8266wifi-esp-12e.html
http://www.instructables.com/id/Get-Your-ESP8266-12-Ready-for-AT-Commands/
https://create.arduino.cc/projecthub/thingsboard/temperature-dashboard-using-arduino-uno-esp8266-and-mqtt-5e26eb
http://wiki.ai-thinker.com/esp_download
https://www.espressif.com/zh-hans/support/explore/get-started/esp8266/getting-started-guide