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