使用Arduino IDE開發(fā)ESP8266
????????ESP8266對于大部分電子愛好者來說并不陌生。大部分都是從這個WIFI串口透傳模塊ESP01S開始接觸ESP8266的。這個模塊支持AT指令集,單片機通過串口發(fā)送AT指令就可以讓單片機通過串口實現(xiàn)無線網絡連接。這個模塊的核心芯片為ESP8266EX。ESP8266EX可以理解為是一款帶有WIFI功能的單片機。

特點:
????????802.11 b/g/n內置 Tensilica L106 超低功耗 32 位微型 MCU,主頻支持 80 MHz 和 160 MHz,支持 RTOS內置 10bit 高精度 ADC內置 TCP/IP 協(xié)議棧內置 TR開關、balun、LNA、功率放大器 和 匹配網絡內置PLL、穩(wěn)壓器和電源管理組件,802.11b 模式下 +20dBm 的輸出功率A-MPDU 、A-MSDU 的聚合和 0.4s 的保護間隔WiFi @ 2.4GHz,支持 WPA/WPA2 安全模式支持 AT遠程升級 及云端 OTA升級支持 STA/AP/STA+AP 工作模式支持 Smart Config 功能(包括 Android 和 iOS 設備)HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO深度睡眠保持電流為 10uA,關斷電流小于 5uA2ms 之內喚醒、連接并傳遞數據包待機狀態(tài)消耗功率小于 1.0mW (DTIM3)工作溫度范圍:-40℃- 125℃。
????????ESP8266EX 集成了 32 位 Tensilica 處理器、標準數字外設接口、天線開關、射頻 balun、功率放大器、低噪放大器、過濾器和電源管理模塊等,僅需很少的外圍電路,可將所占 PCB 空間降低。ESP8266EX 內置超低功耗 Tensilica L106 32 位 RISC 處理器,CPU 時鐘速度最高可達 160 MHz,支持實時操作系統(tǒng) (RTOS) 和 Wi-Fi 協(xié)議棧,可將高達 80% 的處理能力留給應用編程和開發(fā)。作為款高性能32位處理器,其片上外設也是十分豐富,像是GPIO、UART、SPI、I2C、I2S等常用的外設,ESP8266EX上也是都有的。


????????上圖所示是在使用ESP8266EX時需要設計的電路圖,主要包括時鐘電路、FLASH存儲器及部分電阻、電容、電感。對于其電路這里只是做簡單的介紹,因為在實際應用中購買ESP8266模組是大多數人的選擇。因為這些模組只需要對其進行供電和一些簡單的配置,就可以進行使用,省去了電路設計及測試的環(huán)節(jié),而且模組的性價比較高。比如文章開頭提到的ESP8266串口透傳模塊就是一個可以直接使用的模組。
????????這些模組在出廠時都燒有特定的固件,比如ESP01S模塊內部燒寫的是AT指令固件。我們在使用時也可以找一些其他的硬件進行燒寫,有時候一些固件并不能滿足我們的需求,這個時候就需要根據需要編寫相應的程序。在進行程序的開發(fā)時一般都是以使用官方的SDK為主,官方的SDK使用起來較為復雜,而使用Arduino IDE也可以對ESP8266進行開發(fā),所以本次主要介紹一下如何使用Arduino對ESP8266進行程序開發(fā)。


????????Arduino IDE在之前的文章中就已經介紹過了,這里就不在敘述了。由于Arduino IDE是進行Arduino 開發(fā)板的程序開發(fā)的,所以在軟件內部并沒有ESP8266開發(fā)板可供選擇。所以使用Arduino IDE進行ESP8266開發(fā)時,需要在Arduino中安裝相應的開發(fā)板。

????????首先,選擇文件->首選項。

????在頁面的附加開發(fā)板管理器網址上填寫如下鏈接:????????? ??http://arduino.esp8266.com/stable/package_esp8266com_index.json
????填好后,確認、關閉即可。

????????接下來,選擇工具->開發(fā)板->開發(fā)板管理器。

????????在搜索欄中搜索ESP8266就可以查找到相應的開發(fā)板信息,點擊安裝即可。

????????安裝完成以后,就可以看到相應許多關于ESP8266的開發(fā)板信息。在使用的時候根據實際情況進行選擇就可以。
????????接下來燒錄一個配網的程序。打開自動配網示例程序。

????????自動配網程序庫的獲取方式可以看文章末尾。這個自動配網示例程序的主要功能是,模塊上電以后會從芯片內部存儲器中讀取出WIFI信息,然后進行連接,如果WIFI信息不正確,模塊會自動進入配網模式,在配網模式中,模塊會生成一個指定的WIFI,用戶通過手機連接對應的WIFI進入配網界面。

????????配置好開發(fā)板及串口等信息。

????????對模塊ESP01進行燒錄時的接線。作者這里對ESP01串口調試模塊進行了改造,如下圖所示,在進行燒錄操作時,通過條線和跳冒進行短接即可。


????????一起準備工作就緒以后,點擊編譯和上傳。

????????當程序編譯完成以后,就開始進行上傳。上傳完成以后重新插拔一下USB接口即可。


????????重新上電以后打開手機無線功能,可以看到名稱為“AutoConnectAP”的WIFI,是無密碼形式的,直接連接即可,連接成功后會跳轉到配網菜單界面,點擊配置WIFI按鈕。就可以對無線網進行配置。

????????根據實際情況填寫無線名稱和密碼點擊保存即可。如果配置的無線信息正確,“AutoConnectAP”這個無線就會消失,模塊連接到對應的無線網上。
????????自動配網庫下載地址:
????????https://github.com/tzapu/WiFiManager
????????具體的使用方法感興趣的小伙伴自行研究。有問題也可以和作者交流。