當(dāng)下正是物聯(lián)網(wǎng)最好的時代,學(xué)習(xí)新的技術(shù)怎么能只學(xué)習(xí)ESP8266呢晴裹?要知道ESP8266還有一個孿生兄弟呢被济,最重要的是這個孿生兄弟要比ESP8266是更厲害的,所以我們也是非常有必要學(xué)習(xí)一下的涧团,其實這篇文章去年就已經(jīng)寫了只磷,不過是在自己的個人主頁上更新的,然而百度的SEO不曉得哪里出了毛病泌绣,一直檢索不到我的主頁钮追,可能是沒花錢競價排名吧,尷尬臉.jpg~
重新學(xué)習(xí)ESP32(零)之環(huán)境搭建?www.makingfun.xyz
其實按理說阿迈,我們應(yīng)該也跟ESP8266一樣元媚,從第“零”認(rèn)知篇開始,但是這篇文章已經(jīng)寫好了苗沧,索性就先更新這篇吧刊棕,最近看到了很多關(guān)于ESP32優(yōu)秀的項目,看的我也手癢癢的待逞,以后我們ESP8266和ESP32穿插進(jìn)行甥角,現(xiàn)在ESP8266更新的文章全是不帶操作系統(tǒng)的,可能跟ESP32不太一樣识樱,大家在學(xué)習(xí)的時候也要注意思維的轉(zhuǎn)變喲~
以下為搬運的內(nèi)容:
前言
前幾天看到樂鑫的公眾號推送了一篇文章嗤无,說是ESP8266最新的SDK風(fēng)格已經(jīng)和ESP32相近震束,又想著自己已經(jīng)好久沒有接觸過ESP8266了,想搭建個環(huán)境玩一下当犯,結(jié)果一言難盡垢村,鼓搗了半天愣是沒弄成,突然遭受的挫折讓人有些無奈嚎卫,于是想還是先學(xué)習(xí)一下ESP32吧肝断,之前也接觸過,但是當(dāng)時主要是玩ESP8266驰凛,其兩者的代碼風(fēng)格以及開發(fā)方式大相徑庭胸懈,于是也就沒有細(xì)致的深入學(xué)習(xí),現(xiàn)在看來ESP8266跟ESP32的開發(fā)方式大有‘合攏’之勢恰响,當(dāng)然不是完全一樣趣钱,只是樂鑫的攻城獅在努力的封裝成一樣的,貌似從頭學(xué)習(xí)一下ESP32也是很有必要的胚宦。
ESP8266跟ESP32真是這兩年物聯(lián)網(wǎng)行業(yè)的一匹黑馬首有,不得不說的是樂鑫是一家本土企業(yè),其總部在上海枢劝,芯片出貨量已經(jīng)達(dá)到1億顆井联,看到國內(nèi)的企業(yè)能夠有如此成就真的也很高興。樂鑫官網(wǎng)感興趣的同學(xué)可以去樂鑫官網(wǎng)看看~
其硬件開發(fā)環(huán)境搭建也很簡單您旁,網(wǎng)上也有很多教程烙常,這里就簡單說一下。
下載安裝相關(guān)工具
工具鏈
工具鏈在這里主要是用來編譯我們編寫的代碼的鹤盒,就是類似于編譯器蚕脏,這里樂鑫給我們已經(jīng)打包好了工具鏈所需要的運行環(huán)境,我們只需要下載解壓就好侦锯。下載地址點這里:工具鏈,大家可以根據(jù)自己的開發(fā)平臺選擇驼鞭。我這里使用的是Windows操作系統(tǒng),后面的步驟都是在此操作系統(tǒng)下講解尺碰。
工具鏈安裝
工具鏈安裝很簡單挣棕,解壓到某個路徑下就可以了,不過不支持帶有空格的路徑和中文路徑亲桥。
我這里是在G盤新建了一個espressif文件夾洛心,將工具鏈直接下載到了此文件夾,并解壓到了當(dāng)前文件夾两曼,msys32就是解壓出來的文件皂甘。
下載ESP-IDF(SDK)
這里我們使用git去下載玻驻,請確保已經(jīng)安裝了git悼凑,不要下載zip格式的SDK偿枕,那樣會報錯。
git clone -b v3.1 --recursive https://github.com/espressif/esp-idf.git
-b v3.1是下載v3.1版本户辫,目前最新的release版本渐夸,ESP-IDF目前有好幾個分支。
–recursive 此命令會自動初始化并更新倉庫中的每一個子模塊渔欢,不要遺漏此選項墓塌,否則后面編譯會報錯。
設(shè)置IDF_PATH
打開esp32_toolchain.sh,不要雙擊打開奥额,也不要用記事本打開苫幢,可以看到已經(jīng)有了IDF_PATH,這里我們追加一條PATH,其路徑就是你剛剛下載的ESP-IDF的路徑垫挨。設(shè)置完成后關(guān)閉mingw32韩肝,再重新打開,這里主要是讓剛剛設(shè)置的PATH生效九榔,如果你有Linux使用經(jīng)驗的話哀峻,也可以用source的方法。
下面我們看一下是否設(shè)置成功:
如果打出的路徑跟你設(shè)置的一樣哲泊,那就沒問題了剩蟀,到此為止環(huán)境就搭建成功了。
編譯hello world工程
環(huán)境搭建完成后切威,當(dāng)然是來到了激動人心的hello world環(huán)節(jié)了育特!我們先不做任何更改直接編譯官方給出的例子。
cd $IDF_PATH/examples/get-started/hello_world/
make menuconfig
執(zhí)行完上面的命令先朦,會出現(xiàn)一個界面我們選擇Serial flasher config,然后將第一項的端口修改成我們的開發(fā)板的端口且预,e.g. COM7,這是Windows上的端口格式烙无。
make all #編譯速度可能有點慢锋谐,實測需要2分20秒左右,將配置 app 和 bootloader 并根據(jù)配置生成分區(qū)表
make flash #燒錄用戶程序截酷,bootloader,分區(qū)表
make monitor #打開監(jiān)視器涮拗,查看串口打印
可以看到成功打印出了hello world,并每十秒重啟一次迂苛。下面我們修改一下代碼三热,讓它每隔一秒打印 www.makingfun.xyz
我們先將這個工程copy到別的文件夾,我們不在原工程上進(jìn)行修改三幻。
mkdir ~/projects && cd projects
cp -r $IDF_PATH/examples/get-started/hello_world ./
然后我們打開這個工程main文件夾下的hello_world_main.c文件就漾,修改成跟上圖一樣。修改完成后我們需要重新編譯一下念搬,之前我們已經(jīng)把整個SDK編譯了一遍抑堡,所以這里我們只需要編譯用戶文件就好摆出,不用重復(fù)去編譯整個的文件。
make app #僅創(chuàng)建應(yīng)用程序
make app-flash #僅燒錄應(yīng)用程序
make monitor
可以看到成功打印出了我們想要的日志首妖,到這里偎漫,我們不僅完成了開發(fā)環(huán)境的搭建,也編譯了例程有缆,而且還通過修改代碼了解了大體的開發(fā)流程象踊。
這里給分享一下官方的編程指南和API參考指南棚壁。
ESP-IDF 編程指南 v3.1 文檔?docs.espressif.comESP-IDF 編程指南 v3.1 文檔?docs.espressif.comespressif/esp-idf?github.com
很多內(nèi)容都是英文,尤其是API指南袖外,全都是英文的,但大體都是很好理解的在刺,現(xiàn)在各種翻譯軟件也很多逆害,遇到實在不懂的,可以用用翻譯軟件查看一下魄幕。
最后附上我的Github倉庫颖杏,后面關(guān)于ESP32的代碼都會在這個倉庫更新纯陨,歡迎大家star~
imliubo/makingfunxyz-esp32?github.com
您的star是我最大的動力。
QQ交流群:592587184