硬體介紹
對于ESP32的硬體介紹其實沒什麼必要,直接上比較常見的開發闆的對比。
arduino UNO R3 | BluePill | NodeMCU | ESP32 | 樹莓派3代B型 | |
晶片 | ATMega328P | STM32F103C8T6 | ESP8266 | ESP32 | BCM2837 |
架構 | AVR 8位 | ARM cortex M3 32位 | Xtensa 32位 單核 L106 | Xtensa 32位 雙核 LX6 | ARM Cortex-A53 1.2GHZ 4核 |
核心數 | 1 | 1 | 1 | 2 | 4 |
預設主頻 | 16MHZ | 72MHZ | 80MHZ | 160MHZ | 1.2GHZ |
SRAM(運存) | 2KB | 20KB | 160KB | 521KB | 1GB |
FLASH(閃存) | 32KB | 64KB | 4M~16M | 4~16MB | Micro SD卡決定 |
GPIO | 14 | 37 | 17 | 36 | 40 |
PWM通道 | 6 | 15 | 8 | 16 | 4 |
ADC引腳 | 6/10bit | 10/12bit | 1/10bit | 18/12bit | |
DAC引腳 | 2 | ||||
接口 | SPI/I2C/UART | SPI/I2C/UART/CAN | SPI/I2C/UART/I2S | SPI/I2C/UART/I2S/CAN | SPI/I2C/UART |
WIFI功能 | 無 | 無 | 有 | 有 | 有 |
藍牙 | 無 | 無 | 無 | 有 | 有 |
工作電壓 | 5V | 3.3V | 3.3V | 3.3V | 5V |
把樹莓派放上去其實沒什麼必要,這東西相當于一個微型電腦,對于可能的大部份應用場景來說價格上沒有絲毫優勢 。
開發環境的選擇
ESP32常見的開發環境是三種
- 官方釋出的開發套件ESP-IDF目前已經是v5.0版本,提供官方中文指南文檔,包括安裝和API參考:https://docs.espressif.com/projects/esp-idf/zh_CN/v5.0/esp32/index.html比較推薦使用該開發套件,不管安裝還是使用都不會有那種未入門就想退出的感受。
- vscode,由微軟研發的一款免費、開源的跨平台代碼編輯器,要利用該工具當做ESP32的開發工具在國内環境目前還是比較不理想,vscode是依靠安裝PlatformIO IDE或ESP-IDF插件來進行ESP32的開發,但插件的安裝過程對于新手十分不友好。
- arduino IDE,新手或小白入門比較合适的一個開發環境,最大的缺點是缺少調試功能,在開發較複雜的項目時無法快速定位異常。
總結來說,如果不是vscode開發環境的狂熱愛好者,在ESP32的開發中,不太推薦該開發環境。如果是在學習中,推薦是用arduino IDE。入門後對該開發闆有相對的了解後或考慮開發比較複雜的項目時再去嘗試用ESP-IDF。
因為本文為入門,後面會介紹在arduino IDE環境下安裝ESP32開發闆的支援。
安裝arduino IDE和ESP32開發闆支援
arduino IDE的安裝比較友好,隻要下載下傳安裝包,輕按兩下安裝,最好選擇一下安裝的目錄,沒什麼需要注意的地方。
下載下傳位址:https://arduino.me/download
注意,目前最好是下載下傳舊版的1.18.19,因為新版的2.0.xx目前未支援安裝插件,ESP32的SPIFFS檔案系統功能需要安裝第三方的插件才能實作。
如果目前還沒有打算或需求使用SPIFFS檔案系統功能也可以嘗試下載下傳2.0.xx,其它功能基本相似。
因為需要安裝ESP32開發闆的支援,同時也要點選"ESP32離線安裝包"。可以按照裡面的教程安裝好ESP32開發闆的支援。
安裝ESP32檔案上傳到SPIFFS檔案系統插件
SPIFFS檔案系統相當于電腦的硬碟,把一些比如啟動需要初始化的資料或配置儲存在裡面。這也是開發闆比較常見的任務之一,在出現異常重新開機或停電重新開機仍然保留可用的資訊。當然,如果需要用ESP32開發一個小形的WEB伺服器,也可以把頁面檔案(如html,css,json)儲存在裡面。
插件項目位址:https://github.com/lorol/arduino-esp32fs-plugin
該插件的說明和關于SPIFFS檔案系統的說明可以在我的另一篇文章得到詳細的介紹:https://blog.csdn.net/m0_50114967/article/details/126961233