經(jīng)過一陣子的搗漿糊,無數(shù)次的迷茫,困惑,終于慢慢看到點(diǎn)希望的曙光。網(wǎng)上的資料很多,但都不系統(tǒng),講地也不詳細(xì),一半靠努力學(xué),一半靠悟。阻擋了很多菜鳥的進(jìn)步,我現(xiàn)在把我的經(jīng)驗(yàn)分享出來,希望少點(diǎn)痛苦多點(diǎn)成就感。
學(xué)習(xí)這個主要分兩大塊,第一塊,是APP端建立,第二塊是MCU端建立。以下文章是從MCU端建立來說的。
MCU端建立又分為SOC程序建立和單片機(jī)程序建立。前者是利用esp8266本身來寫,優(yōu)點(diǎn)是少了單片機(jī),體積更小,成本更低。缺點(diǎn)是入門得化了半月一月的,端口資源也少。 如果利用自己熟悉的單片機(jī)來開發(fā)進(jìn)度就快多了,這就是后者單片機(jī)端的建立。 優(yōu)點(diǎn)是自身熟悉,操作流暢,端口資源豐富,缺點(diǎn)就是體積和成本都要增加。需要ESP8266+MCU,MCU建議有采用有兩個串口的。
開始我們學(xué)習(xí)之路吧。
第一章 ES8266 WIFI模塊開發(fā)環(huán)境搭建 本人有開發(fā)單片機(jī)的基礎(chǔ),但對于WIFI智能模塊需要用到的軟件是小白一枚,這幾天看了安信可和機(jī)智云的開發(fā)教程,很多細(xì)節(jié)都沒寫清楚,走了許多轉(zhuǎn)路,針對學(xué)習(xí)中遇到的痛苦經(jīng)歷,以及官方資料不詳盡,本人把這些寫下來一則備忘,二則為了和我同樣的小白們少浪費(fèi)些時間。 選擇安信可的AiThinker_IDE的原因是,它不需要搭建linux和虛擬機(jī),非常方便。解壓后在windows環(huán)境下直接就能用。現(xiàn)在支持XP,win7了。 第一步,如何安裝安信可一體化開發(fā)環(huán)境 ESP8266 SKD的開發(fā)環(huán)境有很多,官方的開發(fā)環(huán)境配置比較復(fù)雜,這里介紹使用安可信出品的集成開發(fā)環(huán)境ESP8266 IDE,其實(shí)就是eclipse集成了相關(guān)的開發(fā)插件,用起來還是挺方便的。 安信可一體化開發(fā)環(huán)境有以下特點(diǎn): · 支持ESP8266 NONOS和FreeRTOS環(huán)境開發(fā) · 支持ESP31B/ESP32 FreeRTOS環(huán)境開發(fā) · 下載即用,無需另外配置環(huán)境 · 可直接編譯所有樂鑫官方推出的SDK開發(fā)包 下載地址:http://pan.baidu.com/s/1skRvR1j (百度云盤) 下載紅框內(nèi)的最新版本。其它的老版本不用下了。 已更新支持 XP 支持ESP32 支持OpenOCD 支持GCC 5.2版本
112055ppepojz68prlprl4.png (20.04 KB, 下載次數(shù): 105)
下載附件
2019-1-25 03:43 上傳
解壓后:
112103gz622ul52e2pcp8t.jpg (13.62 KB, 下載次數(shù): 114)
下載附件
2019-1-25 03:43 上傳
雙擊AiThinkerIDE_V0.5_setup安裝程序,選擇一個解壓目錄,默認(rèn)是D盤。我在D盤新建個文件夾“WIFI_ESP8266”,這里要注意文件夾名稱不要有中文和空格和小數(shù)點(diǎn),要不后面編譯程序時不會成功。
112109j70fzu9eret0r7e3.jpg (13.69 KB, 下載次數(shù): 98)
下載附件
2019-1-25 03:43 上傳
解壓完成后,打開目錄
112115px7y72kk7xo2nxxx.jpg (33.29 KB, 下載次數(shù): 102)
下載附件
2019-1-25 03:43 上傳
下面以個名字了解下,其中安信可的AiThinker_IDE.exe將一些煩瑣的步驟簡化了。
文件名 | 描述
| 備注 | Cygwin.exe | cygwin和xtensa編譯器環(huán)境 | 含ESP8266 和 ESP31B/ESP32 開發(fā)環(huán)境 | Eclipse.exe | eclipse c/c++ 開發(fā)工具,僅在官網(wǎng)版本基礎(chǔ)上打包了jre運(yùn)行環(huán)境 | 本機(jī)已經(jīng)安裝 eclipse cdt 環(huán)境的的無需重復(fù)下載 | AiThinker_IDE.exe | 一體化開發(fā)環(huán)境配置工具 |
---------------------------------------------------------------------------------------------------------------------------------
開始整合編譯環(huán)境
第一步:雙擊這個
112618ngo9dgbs0w6do07b.jpg (3.96 KB, 下載次數(shù): 99)
下載附件
2019-1-25 03:43 上傳
。
第二步:先點(diǎn)擊“Dafult”按鈕,將用到的程序自動關(guān)聯(lián)起來。然后點(diǎn)擊“Save”保存設(shè)置。
112657b61u5i616oiu5466.jpg (44.85 KB, 下載次數(shù): 109)
下載附件
2019-1-25 03:43 上傳
步驟2:運(yùn)行
112706in411fz1nyotrdh4.jpg (3.72 KB, 下載次數(shù): 114)
下載附件
2019-1-25 03:43 上傳
112745flrkrtrhzhrvktt7.jpg (27.38 KB, 下載次數(shù): 123)
下載附件
2019-1-25 03:43 上傳
第二章 如何使用安信可 ESP 系列一體化開發(fā)環(huán)境
以導(dǎo)入一個SDK為例,按官方的步驟有問題,反正我沒成功。我總結(jié)了一下,有兩種導(dǎo)入方式有些差別:
第一種,當(dāng)File->Import彈出對話框后,選“General”里的"Existing Projects into Workspace" 導(dǎo)入。第二種,選"C/C++"里的"Existing Code as Makefile Project" 導(dǎo)入。當(dāng)?shù)谝环N導(dǎo)入不成功時,可嘗試用第二種導(dǎo)入。機(jī)智云生成的SDK都是用第二種方法導(dǎo)入的。網(wǎng)絡(luò)上eclipse大都用的第一種,為什么這樣我沒有去深究,我覺得還是先學(xué)好怎么用吧。
兩種方法的共同點(diǎn)是,所需的項(xiàng)目文檔一定要導(dǎo)入AiThinkerIDE_V0.5cygwinhomeaithinkerproject文件夾,這個文件夾類似eclipse官方資料常提到的workspace文件夾,否則編譯不成功,不成功,不成功(重要的事說三遍)。這一步卡了我三天,誰讓我是小白呢,下面我按我的流程詳細(xì)寫下來備忘。 安信可IDE安裝好后,已經(jīng)給我們準(zhǔn)備好了打開的快捷方式。我們打開剛才解壓縮的"AiThinkerIDE_V0.5"文件夾,可以看到有個“OpenWorkSpace" 批處理文件。雙擊打開,會自己定位到所要導(dǎo)入的文件夾,該文件夾內(nèi),就是已經(jīng)導(dǎo)入好的項(xiàng)目SDK。
113137g42a0w0ks3yqabb3.jpg (33.97 KB, 下載次數(shù): 108)
下載附件
2019-1-25 03:43 上傳
先說第一種導(dǎo)入方式:以安信可官方下載的SDK為例
步驟1:雙擊打開AiThinker_IDE。“File”->"Import"。項(xiàng)目欄里右擊選擇“Import”也可以。
113218bb13zleorqqqpype.jpg (26.2 KB, 下載次數(shù): 106)
下載附件
2019-1-25 03:43 上傳
步驟2:選擇“General”->"Existing Projects into Workspace" 點(diǎn)擊“next”。
113050jzmhhshss5h2ilq2.jpg (50.11 KB, 下載次數(shù): 91)
下載附件
2019-1-25 03:43 上傳
步驟3:如圖,選擇桌面上解壓好的的esp8266_nonos_sdk_v1.5.4文件夾。下面又要注意了,文件夾名稱不能有小數(shù)點(diǎn),不能是中文名,并且將“Options”欄里,"Copy projects into workspace",前打勾。意思是將該文件夾復(fù)制進(jìn)文章開頭提到的project文件夾內(nèi)。一定要打勾,否則編譯又是不成功!不成功!不成功!。
就是該項(xiàng)目文件夾一定要放到AiThinkerIDE_V0.5cygwinhomeaithinkerproject文件夾內(nèi)。可以自己手動復(fù)制,也可以讓軟件自己復(fù)制。
廢話多一點(diǎn),自己多注意點(diǎn)。
如果出現(xiàn)這種樣子,就是文件夾內(nèi)有同名文件了。
113243ey7o517fyk4i5322.jpg (69.11 KB, 下載次數(shù): 100)
下載附件
2019-1-25 03:43 上傳
由于程序默認(rèn)已加載了“ESP8266_NONOS_SDK”,跟我們現(xiàn)在要導(dǎo)入的文檔是一樣的,重復(fù)了,所以要把以前的刪除。按下“del”鍵,或者右鍵單擊,選擇“Delete”。
113256ls3sngrngc3e3ro1.jpg (32.9 KB, 下載次數(shù): 103)
下載附件
2019-1-25 03:43 上傳
在彈出的對話框內(nèi)如下圖,將“Delete project contents on disk......”前打上勾。然后點(diǎn)擊OK。就將項(xiàng)目名稱連同workspace文件夾內(nèi)的文檔全部刪除了。
113421lr008d3n8lnh0rrm.jpg (34.06 KB, 下載次數(shù): 106)
下載附件
2019-1-25 03:43 上傳
113513kqbbwbgpw00wrplg.jpg (31.38 KB, 下載次數(shù): 115)
下載附件
2019-1-25 03:43 上傳
重新按以上步驟導(dǎo)入下,成功后,先選擇“clean project”,防止出錯。然后再右鍵單擊選擇“bulid project”或者工具欄上的那個小錘子。
113541to67h7qyno8eooi5.jpg (32.9 KB, 下載次數(shù): 93)
下載附件
2019-1-25 03:43 上傳
OK,開始編譯。完成后,如下圖
113638ou05l3gs14sw3r3l.jpg (6.47 KB, 下載次數(shù): 95)
下載附件
2019-1-25 03:43 上傳
第二種導(dǎo)入方式,針對第三方云平臺項(xiàng)目用第一種方法無法導(dǎo)入問題。例如“機(jī)智云”生成的項(xiàng)目文件夾。
步驟1:解壓從機(jī)智云下載的項(xiàng)目并復(fù)制到project文件夾內(nèi)。雙擊"OpenWorkSpace"批處理文件,自動打開。簡化步驟
113744gx5o1lstrblstusl.jpg (24.3 KB, 下載次數(shù): 105)
下載附件
2019-1-25 03:43 上傳
步驟2:將項(xiàng)目手動復(fù)制進(jìn)去。下圖選中的就是我剛才復(fù)制的項(xiàng)目文件夾。
113752a4xscqpqdrz0oz7p.jpg (42.55 KB, 下載次數(shù): 116)
下載附件
2019-1-25 03:43 上傳
步驟3:雙擊打開該文件夾,直到定位到有“MakeFile”的文件夾處。并復(fù)制文件路徑,到安信可IDE內(nèi)用。注意路徑上有文件名,不能出現(xiàn)中文。
113809xzfw8pdzsvftupf4.jpg (52.85 KB, 下載次數(shù): 87)
下載附件
2019-1-25 03:43 上傳
步驟4:雙擊打開AiThinker_IDE!癋ile”->"Import"。圖略了。
步驟5:雙擊下圖的“Existing Code as Makefile Project”
113832gz02usfy5cscbly5.jpg (51.82 KB, 下載次數(shù): 96)
下載附件
2019-1-25 03:43 上傳
步驟6:將剛才復(fù)制的路徑直接粘貼到“Existing Code Location”處,省地點(diǎn)“Browse”按鈕一層層找了。下面選"Cygwin GCC"。 點(diǎn)“Finish”。
113843aysdkswdhqs77ss1.jpg (68.72 KB, 下載次數(shù): 92)
下載附件
2019-1-25 03:43 上傳
導(dǎo)入成功,但還有些地方需要修改,否則編譯不成功。我是從機(jī)智云論壇上看來的,目前我還沒整明白。就是雙擊打開MakeFile,將下面這段程序參數(shù)修改下。
BOOT?=none
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=0
改成
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6 boot賦值為new,意思就是可以升級 APP 賦值為1,就可以生成user1的bin 文件 如果需要OTA云端升級,就要用到user2文件,只要在這里將APP值賦為2就行了。
SPI_SPEED是下載的速度 SPI_MODE是下載模式 SPI_SIZE_MAP是flash的大小這個可以看上面那個文檔詳細(xì)介紹 賦值為0表示使用的flash是512k 有一處沒搞清楚,安信可官方的SPI_SIZE_MAP?=2 機(jī)智云論壇上的那位大神是SPI_SIZE_MAP?=4,而下面有位版主說要改成SPI_SIZE_MAP?=6 反正都能編譯成功。 具體可以查看這人的文章 http://blog.csdn.net/chen244798611/article/details/51375337
試驗(yàn)了下。 編譯后生成的bin文件名稱不同?磚ser1.1024.new.2.bin那行。 SPI_SIZE_MAP?=2 Flash容量是1024Kb
114408tzu2r3puow3goish.jpg (24.46 KB, 下載次數(shù): 110)
下載附件
2019-1-25 03:43 上傳
SPI_SIZE_MAP?=4 文件名:user1.4096.new.4.bin SPI_SIZE_MAP?=6 文件名是user1.4096.new.6.bin Flash容量為4096Kb沒有改變。 機(jī)智云SDK生成的文件名是user1.4096.new.6.bin 故我們先寫成SPI_SIZE_MAP?=6
114419rdrcdd4amkardkee.jpg (28.5 KB, 下載次數(shù): 87)
下載附件
2019-1-25 03:43 上傳
|