姓名:楊騏銘? ? 學(xué)號:21009102182
轉(zhuǎn)載自知乎https://zhuanlan.zhihu.com/p/105178847
在本篇文章中明刷,您將了解到ESP32 Wi-Fi和藍(lán)牙模塊以及如何進(jìn)行設(shè)置锅很。
什么是ESP32?
ESP8266 Wi-Fi模塊是過去幾年中最受歡迎和最實用的模塊之一牲芋。市場上有這種模塊的各種版本冯遂。
ESP32模塊是ESP8266的升級版本喉刘。除了Wi-Fi模塊膘茎,該模塊還包含藍(lán)牙4.0模塊。雙核CPU工作頻率為80至240 MHz释移,包含兩個Wi-Fi和藍(lán)牙模塊以及各種輸入和輸出引腳叭披, ESP32是物聯(lián)網(wǎng)項目的理想選擇。
ESP32模塊引腳分布
雖然ESP32的引腳數(shù)比常用的處理器少玩讳,但在引腳上復(fù)用多個功能時不會遇到任何問題涩蜘。
警告:ESP32引腳的電壓電平為3.3伏。如果要將ESP32連接到其他工作電壓為5伏的設(shè)備熏纯,則應(yīng)使用電平轉(zhuǎn)換器轉(zhuǎn)換電壓電平同诫。
電源引腳:該模塊有兩個電源引腳 - 5V和3.3V。您可以使用這兩個引腳來向其他設(shè)備和模塊供電樟澜。
GND引腳:該模塊的接地有3個引腳误窖。
啟用引腳(EN):該引腳用于啟用和禁用模塊。引腳為高電平時啟用模塊秩贰,低電平禁用模塊霹俺。
輸入/輸出引腳(GPIO):您可以使用32個GPIO引腳與LED、開關(guān)和其他輸入/輸出設(shè)備進(jìn)行通信毒费。
您可以在內(nèi)部上拉或下拉這些引腳丙唧。
注意:GPIO6至GPIO11引腳(SCK/CLK,SDO/SD0觅玻,SDI/SD1想际,SHD/SD2,SWP/SD3和SCS/CMD引腳)用于模塊內(nèi)部閃存的SPI通信溪厘,我們不建議使用它們胡本。
ADC:您可以使用此模塊上的16個ADC引腳將模擬電壓(某些傳感器的輸出)轉(zhuǎn)換為數(shù)字電壓。其中一些轉(zhuǎn)換器連接到內(nèi)部放大器畸悬,能夠以高精度測量小電壓侧甫。
DAC:ESP32模塊有兩個數(shù)模轉(zhuǎn)換器,精度為8位蹋宦。
觸摸焊盤:ESP32模塊上有10個引腳闺骚,對電容變化很敏感。您可以將這些引腳連接到某些焊盤(PCB上的焊盤)妆档,并將它們用作觸摸開關(guān)僻爽。
SPI:該模塊上有兩個SPI接口,可用于連接顯示屏贾惦、SD / microSD存儲卡模塊胸梆、外部閃存等敦捧。
I2C:SDA和SCL引腳用于I2C通信。
串行通信(UART):該模塊上有兩個UART串行接口碰镜。使用這些引腳兢卵,您可以在兩個設(shè)備之間傳輸高達(dá)5Mbps的信息。 UART0還具有CTS和RTS控制绪颖。
PWM:幾乎所有ESP32輸入/輸出引腳都可用于PWM(脈沖寬度調(diào)制)秽荤。使用這些引腳可以控制電機、LED燈和顏色等柠横。
ESP32模塊模式
ESP32芯片有5種模式:
活動模式:在這種模式下窃款,Wi-Fi和藍(lán)牙發(fā)射器和接收器的所有部分都是活動的。在這種情況下牍氛,電流消耗在80和260mA之間晨继。
調(diào)制解調(diào)器睡眠模式:處理器仍處于活動狀態(tài),但Wi-Fi和藍(lán)牙已禁用搬俊。在這種情況下紊扬,電流消耗在3到20mA之間。
輕度睡眠模式:主處理器停止工作唉擂,但RTC單元和ULP處理器單元仍處于活動狀態(tài)餐屎。電流消耗約為0.8 mA。
深度睡眠模式:只有RTC單元處于活動狀態(tài)玩祟。在這種情況下腹缩,Wi-Fi和藍(lán)牙通信的數(shù)據(jù)存儲在RTC的存儲器中。在此模式下卵凑,電流消耗在10到150μA之間庆聘。
休眠模式:除了用于時鐘的RTC定時器和連接到RTC的一些I / O引腳外胜臊,所有單元均被禁用勺卢。 RTC定時器或連接的引腳可以將芯片從此狀態(tài)喚醒。在這種情況下象对,電流消耗約為2.5μA黑忱。
有關(guān)更多信息,請查看模塊數(shù)據(jù)表勒魔。
ESP32芯片和模塊數(shù)據(jù)表
ESP32模塊及其芯片組的數(shù)據(jù)手冊可以從以下鏈接下載甫煞。
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
https://espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf
ESP32 VS. ESP8266
市場上有各種類型的ESP32和ESP8266模塊。在本節(jié)中冠绢,對ESP8266 NodeMcu和ESP32 DEV模塊進(jìn)行了比較:
ESP8266 NodeMcuESP32 DEV模塊電源3.3V3.3VCPUTensilica L106 32位Xtensa雙核32位LX6藍(lán)牙無符合藍(lán)牙v4.2 BR/EDR和BLE規(guī)范GPIO1732閃存大小最大16MB最大16MBADC10位12位DAC無2 * 8bitUART22
通常抚吠,ESP32模塊比ESP8266價格更貴。因此弟胀,如果您不需要藍(lán)牙楷力、數(shù)字轉(zhuǎn)換器喊式、許多I/O引腳和......,您可以通過購買ESP8266模塊來節(jié)省資金萧朝。
所需的材料
ESP32模塊
Arduino IDE
在Arduino IDE上安裝ESP32
ESP32的安裝過程與ESP8266的安裝幾乎相同岔留。要在Arduino IDE上安裝ESP32,請執(zhí)行以下步驟:
注意:您需要Arduino IDE 1.8.5或更高版本才能在其上安裝ESP32检柬。
第一步:從GitHub下載所需的文件
從GitHub帳戶下載ESP32 Arduino Core献联。您也可以使用直接下載鏈接。
https://github.com/espressif/arduino-esp32/archive/master.zip
第二步:將文件移動到Arduino sketchbook位置
默認(rèn)情況下何址,Arduino sketchbook位于“我的文檔”中里逆。要查找示意圖的確切路徑,請從“文件”菜單中檢查首選項头朱。
在sketchbook位置的Arduino文件夾旁邊創(chuàng)建一個名為hardware的新文件夾运悲。
在hardware文件夾中創(chuàng)建一個名為espressif的文件夾,然后在espressif文件夾中創(chuàng)建另一個名為esp32的文件夾项钮。最后班眯,您創(chuàng)建的路徑應(yīng)如下圖所示:
解壓縮您在上一步中下載的文件,并將其移至此地址烁巫。
第三步:運行g(shù)et.exe
要在Arduino軟件上安裝ESP32署隘,您需要在系統(tǒng)上安裝Xtensa GNU編譯器集合。轉(zhuǎn)到esp32> tools并運行g(shù)et.exe文件亚隙。
運行g(shù)et.exe后磁餐,所需的文件將自動下載并傳輸?shù)絫ools文件夾。此步驟可能需要一些時間阿弃。
安裝完成后诊霹,必須將新文件添加到tools文件夾中。
使用Arduino IDE在ESP32上上傳代碼
在ESP32模塊上傳代碼與其他Arduino開發(fā)板類似渣淳。您可以使用Arduino內(nèi)置示例(如Blink)來測試它脾还。
注意:如果之前未在計算機中安裝CP2102驅(qū)動程序,則應(yīng)從此處下載入愧,然后安裝鄙漏。
要上傳代碼,請從“工具”菜單中選擇開發(fā)板類型棺蛛。然后選擇連接到電路板的串口并單擊上載怔蚌。
void setup() {
? pinMode(2, OUTPUT);
}
void loop() {
? digitalWrite(2, HIGH);? // turn the LED on (HIGH is the voltage level)
? delay(1000);? ? ? ? ? ? ? ? ? ? ? // wait for a second
? digitalWrite(2, LOW);? ? // turn the LED off by making the voltage LOW
? delay(1000);? ? ? ? ? ? ? ? ? ? ? // wait for a second
}
故障排除
如果您遇到以下錯誤,請不要擔(dān)心旁赊。編程ESP32時通常會出現(xiàn)此問題桦踊。執(zhí)行以下步驟來解決問題:
1. 確保正確設(shè)置上傳波特率。通常终畅,此波特率應(yīng)為115200籍胯。
2. 按住開發(fā)板上的Boot按鈕鳄橘。
3. 單擊“上傳”選項。
4. 當(dāng)您看到消息“Writing at 0x00001000 … (100%)”時芒炼,將手指從“Boot”按鈕上移開瘫怜。
5. 上傳完成后,您可以看到提示上傳消息Done本刽。
https://www.yiboard.com/thread-1218-1-1.html
www.yiboard.com/thread-1218-1-1.html
更多有關(guān)Arduino開發(fā)板的文章鲸湃,請關(guān)注微信公眾號“一板網(wǎng)電子技術(shù)論壇”。
來自專欄
Arduino開發(fā)板雜談
天南地北客 · 35 篇內(nèi)容
MicroP