【PIO系列2】與ESP32創(chuàng)建串口連接

本章節(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)程序的鏈接:

以上驅(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 串口:

USB to UART bridge of ESP32-DevKitC in Windows Device Manager

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

Two USB Serial Ports of ESP-WROVER-KIT in Windows Device Manager

Windows 設(shè)備管理器中的兩個(gè) USB-WROVER-KIT 串行端口

如下圖所示,本電腦未能正確自動(dòng)安裝ESP32 DevKitC的驅(qū)動(dòng),仍需手動(dòng)安裝。


本次實(shí)驗(yàn)中未能正確自動(dòng)安裝驅(qū)動(dòng)

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


ESP32-DevKit驅(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è)置。

Setting Serial Communication in PuTTY on Windows

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

Setting Serial Communication in PuTTY on Linux

在 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)控器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 大學(xué)的時(shí)候,幫朋友寫的操作系統(tǒng)調(diào)研的作業(yè),最近整理過去的文檔時(shí)候偶然發(fā)現(xiàn),遂作為博客發(fā)出來。 從串口驅(qū)動(dòng)到Linu...
    free_will閱讀 7,685評論 7 59
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 學(xué)習(xí)stm32gpio 學(xué)習(xí)linux 程序員的三大方向 程序員的方向,一般可以分為3類:專業(yè)領(lǐng)域、業(yè)務(wù)領(lǐng)域、操作...
    王公民閱讀 957評論 0 3
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,606評論 9 468
  • 二爹最近在醫(yī)院持續(xù)發(fā)燒,小腿腫得和大腿一般這么粗。始終不能退燒也不能消腫。這是痛風(fēng)引起的,也是平時(shí)生活習(xí)慣飲食不注...
    無言好名字閱讀 225評論 0 0

友情鏈接更多精彩內(nèi)容