本章節(jié)介紹如何在 ESP32 和 PC 之間建立串口連接。
連接 ESP32 和 PC
用 USB 線將 ESP32 開發(fā)板連接到 PC。如果設(shè)備驅(qū)動(dòng)程序沒有自動(dòng)安裝,確認(rèn) ESP32 開發(fā)板上的 USB 轉(zhuǎn)串口芯片(或外部串口適配器)型號,在網(wǎng)上搜索驅(qū)動(dòng)程序并進(jìn)行安裝。
以下是樂鑫 ESP32 開發(fā)板驅(qū)動(dòng)程序的鏈接:
- ESP32-PICO-KIT 和 ESP32-DevKitC - CP210x USB to UART Bridge VCP Drivers
- ESP32-WROVER-KIT 和 ESP32 Demo Board - FTDI Virtual COM Port Drivers
以上驅(qū)動(dòng)僅用于參考。當(dāng)您將上述 ESP32 開發(fā)板與 PC 連接時(shí),對應(yīng)驅(qū)動(dòng)程序應(yīng)該已經(jīng)被打包在操作系統(tǒng)中并自動(dòng)安裝。
在 Windows 上查看端口
檢查 Windows 設(shè)備管理器中的 COM 端口列表。斷開 ESP32 與 PC 的連接,然后重新連接,查看哪個(gè)端口從列表中消失,然后再次顯示。
以下為 ESP32 DevKitC 和 ESP32 WROVER KIT 串口:

設(shè)備管理器中 ESP32-DevKitC 的 USB 串口轉(zhuǎn)換器

Windows 設(shè)備管理器中的兩個(gè) USB-WROVER-KIT 串行端口
如下圖所示,本電腦未能正確自動(dòng)安裝ESP32 DevKitC的驅(qū)動(dòng),仍需手動(dòng)安裝。

手動(dòng)安裝驅(qū)動(dòng)成功

在 Linux 和 MacOS 上檢查串口
要查看 ESP32 開發(fā)板(或外部串口適配器)的串口設(shè)備名稱,運(yùn)行以下命令兩次,第一次先拔下開發(fā)板或適配器,第二次插入開發(fā)板或適配器之后再運(yùn)行命令,第二次運(yùn)行指令后出現(xiàn)的端口即是 ESP32 對應(yīng)的串口:
Linux
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; display: block; overflow: auto; line-height: normal;">ls /dev/tty*
</pre>
MacOS
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; display: block; overflow: auto; line-height: normal;">ls /dev/cu.*
</pre>
在 Linux 添加用戶到 dialout
當(dāng)前登錄用戶可以通過 USB 讀寫串口。在大多數(shù) Linux 發(fā)行版中,這是通過以下命令將用戶添加到 dialout 組來完成的:
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; display: block; overflow: auto; line-height: normal;">sudo usermod -a -G dialout $USER
</pre>
重新登錄以確保串行端口的讀寫權(quán)限被啟用。
確認(rèn)串口連接
現(xiàn)在驗(yàn)證串口連接是可用的。您可以使用串口終端程序來執(zhí)行此操作。在這個(gè)例子中,我們將使用 PuTTY SSH Client ,它有 Windows 和 Linux 等平臺(tái)的版本。您也可以使用其他串口程序并設(shè)置如下的通信參數(shù)。
運(yùn)行終端,設(shè)置串口:波特率 = 115200,數(shù)據(jù)位 = 8,停止位 = 1,奇偶校驗(yàn) = N。以下是設(shè)置串口和在 Windows 和 Linux 上傳輸參數(shù)(如 115200-8-1-N)的一些截屏示例。注意選擇上述步驟中確認(rèn)的串口進(jìn)行設(shè)置。

在 Windows 上的 PuTTY 設(shè)置串口傳輸。

在 Linux 上的 PuTTY 設(shè)置串口傳輸。
在終端打開串口,檢查是否有任何打印出來的日志。日志內(nèi)容取決于加載到 ESP32 的應(yīng)用程序。下圖為 ESP32 的一個(gè)示例日志。
<pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, monospace; font-size: 12px; white-space: pre; margin: 0px; padding: 12px; display: block; overflow: auto; line-height: normal;">ets Jun 8 2016 00:22:57
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun 8 2016 00:22:57
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:3464
load:0x40078000,len:7828
load:0x40080000,len:252
entry 0x40080034
I (44) boot: ESP-IDF v2.0-rc1-401-gf9fba35 2nd stage bootloader
I (45) boot: compile time 18:48:10
...
</pre>
PIO確認(rèn)串口連接
除了以上方法確認(rèn)串口連接,PIO for VSCode 的串口監(jiān)控器也可以查看設(shè)備是否正常連接,點(diǎn)擊 Monitor 按鍵即可調(diào)用串口監(jiān)控器。