當下正是物聯網最好的時代,學習新的技術怎么能只學習ESP8266呢?要知道ESP8266還有一個孿生兄弟呢,最重要的是這個孿生兄弟要比ESP8266是更厲害的,所以我們也是非常有必要學習一下的,其實這篇文章去年就已經寫了,不過是在自己的個人主頁上更新的,然而百度的SEO不曉得哪里出了毛病,一直檢索不到我的主頁,可能是沒花錢競價排名吧,尷尬臉.jpg~
其實按理說,我們應該也跟ESP8266一樣,從第“零”認知篇開始,但是這篇文章已經寫好了,索性就先更新這篇吧,最近看到了很多關於ESP32優秀的項目,看的我也手癢癢的,以后我們ESP8266和ESP32穿插進行,現在ESP8266更新的文章全是不帶操作系統的,可能跟ESP32不太一樣,大家在學習的時候也要注意思維的轉變喲~
以下為搬運的內容:
前言
前幾天看到樂鑫的公眾號推送了一篇文章,說是ESP8266最新的SDK風格已經和ESP32相近,又想着自己已經好久沒有接觸過ESP8266了,想搭建個環境玩一下,結果一言難盡,鼓搗了半天愣是沒弄成,突然遭受的挫折讓人有些無奈,於是想還是先學習一下ESP32吧,之前也接觸過,但是當時主要是玩ESP8266,其兩者的代碼風格以及開發方式大相徑庭,於是也就沒有細致的深入學習,現在看來ESP8266跟ESP32的開發方式大有‘合攏’之勢,當然不是完全一樣,只是樂鑫的攻城獅在努力的封裝成一樣的,貌似從頭學習一下ESP32也是很有必要的。
ESP8266跟ESP32真是這兩年物聯網行業的一匹黑馬,不得不說的是樂鑫是一家本土企業,其總部在上海,芯片出貨量已經達到1億顆,看到國內的企業能夠有如此成就真的也很高興。樂鑫官網感興趣的同學可以去樂鑫官網看看~
其硬件開發環境搭建也很簡單,網上也有很多教程,這里就簡單說一下。
下載安裝相關工具
下載安裝相關工具
工具鏈
工具鏈在這里主要是用來編譯我們編寫的代碼的,就是類似於編譯器,這里樂鑫給我們已經打包好了工具鏈所需要的運行環境,我們只需要下載解壓就好。下載地址點這里:工具鏈,大家可以根據自己的開發平台選擇。我這里使用的是Windows操作系統,后面的步驟都是在此操作系統下講解。
工具鏈安裝
工具鏈安裝很簡單,解壓到某個路徑下就可以了,不過不支持帶有空格的路徑和中文路徑。

我這里是在G盤新建了一個espressif文件夾,將工具鏈直接下載到了此文件夾,並解壓到了當前文件夾,msys32就是解壓出來的文件。
下載ESP-IDF(SDK)
這里我們使用git去下載,請確保已經安裝了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 此命令會自動初始化並更新倉庫中的每一個子模塊,不要遺漏此選項,否則后面編譯會報錯。
設置IDF_PATH

打開esp32_toolchain.sh,不要雙擊打開,也不要用記事本打開,可以看到已經有了IDF_PATH,這里我們追加一條PATH,其路徑就是你剛剛下載的ESP-IDF的路徑。設置完成后關閉mingw32,再重新打開,這里主要是讓剛剛設置的PATH生效,如果你有Linux使用經驗的話,也可以用source的方法。
下面我們看一下是否設置成功:

如果打出的路徑跟你設置的一樣,那就沒問題了,到此為止環境就搭建成功了。
編譯hello world工程
環境搭建完成后,當然是來到了激動人心的hello world環節了!我們先不做任何更改直接編譯官方給出的例子。
cd $IDF_PATH/examples/get-started/hello_world/
make menuconfig
執行完上面的命令,會出現一個界面我們選擇Serial flasher config,然后將第一項的端口修改成我們的開發板的端口,e.g. COM7,這是Windows上的端口格式。

make all #編譯速度可能有點慢,實測需要2分20秒左右,將配置 app 和 bootloader 並根據配置生成分區表 make flash #燒錄用戶程序,bootloader,分區表

make monitor #打開監視器,查看串口打印

可以看到成功打印出了hello world,並每十秒重啟一次。下面我們修改一下代碼,讓它每隔一秒打印 www.makingfun.xyz
我們先將這個工程copy到別的文件夾,我們不在原工程上進行修改。
mkdir ~/projects && cd projects cp -r $IDF_PATH/examples/get-started/hello_world ./

然后我們打開這個工程main文件夾下的hello_world_main.c文件,修改成跟上圖一樣。修改完成后我們需要重新編譯一下,之前我們已經把整個SDK編譯了一遍,所以這里我們只需要編譯用戶文件就好,不用重復去編譯整個的文件。
make app #僅創建應用程序 make app-flash #僅燒錄應用程序 make monitor

可以看到成功打印出了我們想要的日志,到這里,我們不僅完成了開發環境的搭建,也編譯了例程,而且還通過修改代碼了解了大體的開發流程。
這里給分享一下官方的編程指南和API參考指南。
很多內容都是英文,尤其是API指南,全都是英文的,但大體都是很好理解的,現在各種翻譯軟件也很多,遇到實在不懂的,可以用用翻譯軟件查看一下。
最后附上我的Github倉庫,后面關於ESP32的代碼都會在這個倉庫更新,歡迎大家star~
您的star是我最大的動力。
QQ交流群:592587184
