找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12541|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

從小白一步步走來,ESP8266模塊使用,環(huán)境搭建,編譯和燒錄

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
      經(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版本


        解壓后:
       雙擊AiThinkerIDE_V0.5_setup安裝程序,選擇一個解壓目錄,默認(rèn)是D盤。我在D盤新建個文件夾“WIFI_ESP8266”,這里要注意文件夾名稱不要有中文和空格和小數(shù)點(diǎn),要不后面編譯程序時不會成功。

解壓完成后,打開目錄

下面以個名字了解下,其中安信可的AiThinker_IDE.exe將一些煩瑣的步驟簡化了。

文件名
描述
備注
Cygwin.execygwin和xtensa編譯器環(huán)境含ESP8266 和 ESP31B/ESP32 開發(fā)環(huán)境
Eclipse.exeeclipse 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)境
第一步:雙擊這個 。

第二步:先點(diǎn)擊“Dafult”按鈕,將用到的程序自動關(guān)聯(lián)起來。然后點(diǎn)擊“Save”保存設(shè)置。


步驟2:運(yùn)行





第二章 如何使用安信可 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。
   
先說第一種導(dǎo)入方式:以安信可官方下載的SDK為例
   步驟1:雙擊打開AiThinker_IDE。“File”->"Import"。項(xiàng)目欄里右擊選擇“Import”也可以。
   

步驟2:選擇“General”->"Existing Projects into Workspace"   點(diǎn)擊“next”。

步驟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)有同名文件了。

       由于程序默認(rèn)已加載了“ESP8266_NONOS_SDK”,跟我們現(xiàn)在要導(dǎo)入的文檔是一樣的,重復(fù)了,所以要把以前的刪除。按下“del”鍵,或者右鍵單擊,選擇“Delete”。

      在彈出的對話框內(nèi)如下圖,將“Delete project contents on disk......”前打上勾。然后點(diǎn)擊OK。就將項(xiàng)目名稱連同workspace文件夾內(nèi)的文檔全部刪除了。
      
         


       重新按以上步驟導(dǎo)入下,成功后,先選擇“clean project”,防止出錯。然后再右鍵單擊選擇“bulid project”或者工具欄上的那個小錘子。
      


      
OK,開始編譯。完成后,如下圖


    第二種導(dǎo)入方式,針對第三方云平臺項(xiàng)目用第一種方法無法導(dǎo)入問題。例如“機(jī)智云”生成的項(xiàng)目文件夾。
步驟1:解壓從機(jī)智云下載的項(xiàng)目并復(fù)制到project文件夾內(nèi)。雙擊"OpenWorkSpace"批處理文件,自動打開。簡化步驟



步驟2:將項(xiàng)目手動復(fù)制進(jìn)去。下圖選中的就是我剛才復(fù)制的項(xiàng)目文件夾。

步驟3:雙擊打開該文件夾,直到定位到有“MakeFile”的文件夾處。并復(fù)制文件路徑,到安信可IDE內(nèi)用。注意路徑上有文件名,不能出現(xiàn)中文。

步驟4:雙擊打開AiThinker_IDE!癋ile”->"Import"。圖略了。
步驟5:雙擊下圖的“Existing Code as Makefile Project”

步驟6:將剛才復(fù)制的路徑直接粘貼到“Existing Code Location”處,省地點(diǎn)“Browse”按鈕一層層找了。下面選"Cygwin GCC"。 點(diǎn)“Finish”。


導(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



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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:515684 發(fā)表于 2019-10-9 19:20 | 只看該作者
mark一下,后面需要來學(xué)習(xí)。
回復(fù)

使用道具 舉報

板凳
ID:111843 發(fā)表于 2020-3-3 11:17 | 只看該作者
MARK,很詳細(xì),感謝分享
回復(fù)

使用道具 舉報

地板
ID:728207 發(fā)表于 2020-4-13 14:31 | 只看該作者
大佬,鏈接失效了,能重分享一個鏈接嗎?
回復(fù)

使用道具 舉報

5#
ID:738546 發(fā)表于 2020-4-26 15:55 | 只看該作者
請問esp8266使用都需要這樣后才能用嗎
回復(fù)

使用道具 舉報

6#
ID:516946 發(fā)表于 2020-7-10 12:12 | 只看該作者
dehermano 發(fā)表于 2020-4-26 15:55
請問esp8266使用都需要這樣后才能用嗎

可以使用arduino開發(fā),但是有時候出錯不容易查找
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表