轉載自 古月居
侵權聯系刪除
今天給大家普及一下ESP8266的開發環境和VScode Arduino的開發環境配置。我們這一系列的ESP8266開發都是基于VScode來的,而不是使用Arduino IDE開發的,原因下面會介紹。我使用的ESP8266模組是ESP-12F,開發板是我模仿NodeMcu畫的,區別不大,只是體積上比較小,更適合放進一些設備中吧。
1. 開發環境
安信可一體化開發環境<SDK>(推薦)
支持ESP8266 NONOS和FreeRTOS環境開發(新版 ESP8266 RTOS SDK V3.0以上版本)
支持ESP32 FreeRTOS環境開發
下載即用,無需另外配置環境
可直接編譯樂鑫官方推出的SDK開發包
圖形化界面開發
ESP8266環境搭建:http://wiki.ai-thinker.com/ai_ide_install
ESP8266文檔中心:http://wiki.ai-thinker.com/esp8266/docs
Arduino IDE開發方式(推薦)
優點:集編程和燒錄一體,使用很方便。語言執行效率高,節省資源,庫函數比較多,開發語言簡單,能夠很快上手。
缺點:Arduino IDE需要寫較長的代碼時,不是很方便,如果需要查看底層函數或者方法,非常費勁。所以我們要使用VScode進行開發,因為有最愛的代碼提示
AT指令開發(不推薦)
優點:開發簡單,資料較多。只需知道AT指令集,以及它的通信方式即可。
缺點:浪費資源,需要MCU與其通信,不能獨立完成某項功能。
-
資源:
NodeMCU的Lua開發(不推薦)
優點:節省資源,開發簡單,代碼量少。
缺點:lua解釋器執行效率較低,最終換成ArduinoIDE開發,就是因為讀取傳感器數據時,總是漏掉一個數據。前期準備比較麻煩。需要準備相應功能的固件,燒錄進去,然后使用lua語言和工具與之調試。
2. 搭建Arduino開發環境
2.1
添加ESP8266庫
首先從Arduino中文論壇、Arduino官方 下載最新版本的 Arduino IDE 軟件并安裝。
安裝完成以后,進入首選項(Preferences),找到附加開發板管理器地址(Additional Board Manager URLs),并在其后添加如下信息:http://arduino.esp8266.com/stable/package_esp8266com_index.json
國外同學的配置
上面的方法適合在國外的同學使用,在國內的同學就直接下載我下面提供的包直接安裝就行了。
https://www.jianguoyun.com/p/Dc1zwEcQq5TaCBjYmrMD
當下載完后,直接雙擊安裝即可。
安裝完后,會發現在項目-加載庫中多了很多的庫,如下圖:
ESP8266庫
也可以發現工具-開發板(xxx)中添加了很多ESP8266硬件,如下圖:
ESP8266硬件
當做完這一步時,我們就可以開始燒程序了。??
2.2
燒程序測試
本例讓我們成為點燈工程師,點亮第一個燈吧。
我們準備好開發板,通過查看原理圖,找到可以被我們點亮的LED燈接的管腳。
我準備的是一塊自己設計的開發板,類似于NodeMCU。
AD模型
LED燈原理圖
我們可以從圖中看到,當GPIO4為低電平時,LED1就會被點亮,知道了點燈的邏輯,我們就開始讓燈閃爍吧。(其他板子都類似)
源代碼:
void setup() {
效果:
LED實則是在閃爍
3. 配置VScode Arduino開發環境
3.1
下載Arduino插件
首先從VScode官網上下載軟件。
安裝完后,就可以安裝Arduino插件了,如下圖。
第三步因為我已經安裝過了,所以這里并沒有顯示install 沒有安裝的同學直接install就可以了。
3.2
配置Arduino插件
- 第一步:VScode進行系統參數設置,快捷鍵Ctrl+, 打開后在搜索框里寫入arduino。
- 第二步:在配置項中找到Path,隨后在輸入框中輸入自己安裝arduino的路徑即可。
這樣設置后,vscode就可以正常運行Arduino了。
3.3
創建Arduino程序
接下來我們拿blink程序來示范一下。
首先用vscode打開自己的arduino目錄,然后新建文件夾Blink再新建一個Blink.ino文件。
首先,我們先點擊下面狀態欄中的<Select Board Type>選擇開發板類型,在這里,因為我們主要學習的是ESP8266,所以我們選擇Generic ESP8266 Module.
選擇好后,我們連接上我們的開發板,并且點擊下面狀態欄的<Select Serial Port>,找到自己ESP8266的設備端口。
接下來就是寫代碼的時刻了。
源代碼:
void setup() {
Q1
為什么出現很多紅色波浪線?
當我們同學在寫程序的時候會發現編輯框內不但沒有代碼提示,而且有很多的紅色波浪線,會覺得“啊呀,博主是個騙子,明明不能代碼提示還搞這么久”。
當然不是啦,我帶大家下坑,肯定會帶大家一起填坑的。
解決方案:
自己在配置VS Code Arduino開發環境中遇到的問題,類似這種,錯誤顯示未定義標識符。關于VS Code配置Arduino開發環境 網上有需多,我就不在敘述了,我只是記錄我自己遇到的問題。主要問題是頭文件索引丟失,intellisense不能自動找到需要的頭文件路徑。需要在用戶設置中強制intellisense使用Tag Parser,遞歸方式檢索頭文件。
添加方式方式如下:
首先
其次在輸入框輸入Arduino,檢索。
打開settings.json 配置相關文件:
添加如下所示的2行代碼。
“C_Cpp.intelliSenseEngineFallback”: “Disabled”,
“C_Cpp.intelliSenseEngine”: “Tag Parser”,
自己的配置代碼如下:
其中 “arduino.path”: “D:\work\Arduino”,是自己安裝Arduino的路徑。
{
保存之后,發現未定義標識錯誤消失了。
*Reference from: *
https://blog.csdn.net/weixin_45488643/article/details/105966613
好的,接下來就是下載程序啦。在下載程序之前需要知道,當GPIO15為低電平啟動時,ESP8266才處于下載模式。
所以我這里需要先按住flash按鍵(將GPIO15電平拉低),再按下RST按鍵(這樣就能讓ESP8266處于下載模式)
進入下載模式后,我們電腦上選擇下圖框出來的地方。他就開始自動下載了。
Q2
輸出內容出現亂碼?
沒有問題的同學往下移~
解決方案:
1、找到vscode的arduino拓展的安裝目錄,找到util.js這個文件,以我電腦上的為例,(注意不同電腦下,路徑不同,一般是在用戶文件夾下,找不到的話就直接用文件管理器搜索):
C:\Users\Administrator\.vscode\extensions\vsciot-vscode.vscode-arduino-0.3.1\out\src\common\util.js
2、找到文件中的215行左右如下代碼
if (os.platform() === "win32") {
3、將上述的代碼注釋掉
/*
4、重啟Vscode
最終效果:
Reference from:
https://blog.csdn.net/weixin_42225355/article/details/104906950
解決完亂碼問題,我們下載后出現如下圖所示的內容,說明下載成功,只需要把ESP8266重啟即可(按下RST按鈕),或者重新上電。
效果:
和之前Arduino IDE下載的程序效果一致。
4. 總結
今天這章是這個系列的第二章,有同學會問:“為什么我給出的AD模型和我焊接好的板子長得不一樣”,其實我當時設計錯了。我原本是想用CH340G的,但是沒注意到晶振走線問題,所以導致連接電腦沒有反應,于是我就換成了CH340C,自帶晶振,這樣一來又可以空出地方給大家添加模塊。
PCB原理圖和程序我會分享到我的碼云,也請大家可以為我的項目點個?,謝謝大家。
碼云鏈接:
https://gitee.com/maochengkai/esp8266_from_entry_to_entry/tree/master