ESP32-WATG-32D
使用者手冊
初步版本 0.1
樂鑫系統
版權所有 © 2019
關於本指南
本文檔旨在協助使用者建立基礎軟體開發環境,以便使用基於 ESP32WATG-32D 模組的硬體開發應用程式。
發行說明
日期 | 版本 | 發行說明 |
2019.12 | V0.1 | 初步發布。 |
ESP32-WATG-32D簡介
ESP32-WATG-32D
ESP32-WATG-32D 是一款客製化 WiFi-BT-BLE MCU 模組,可為客戶的不同產品(包括熱水器和舒適加熱系統)提供「連接功能」。
表 1 提供了 ESP32-WATG-32D 的規格。
表 1:ESP32-WATG-32D 規格
類別 | 專案 | 規格 |
無線上網 | 協定 | 802.t1 b/g/n(802.t1n 高達 150 Mbps) |
A-MPDU 和 A-MSDU 聚合並支援 0.4 µs 保護間隔 | ||
頻率範圍 | 2400 兆赫 – 2483.5 兆赫 | |
藍牙 | 協定 | 藍牙 v4.2 BRJEDR 和 BLE 規格貓已開啟 |
收音機 | NZIF 接收器,靈敏度為 -97 dBm | |
1類、2類、3類發射機 | ||
AFH | ||
聲音的 | CVSD 和 SBC | |
硬體 | 模塊接口 | UART,重新。 EBUS2,JTAG,通用輸入輸出口 |
片上傳感器 | 霍爾感測器 | |
集成水晶 | 40 MHz 晶體 | |
集成 SPI 閃存 | 8MB | |
整合 DCDC 轉換器 操作量tage!電源 |
3.3V,1.2A | |
12伏/24伏 | ||
電源供應器提供的最大電流 | 300毫安 | |
建議工作溫度範圍 | -40'C + 85'C | |
模塊尺寸 | (18.00±0.15)mm×(31.00±0.15)mm×(3.10±0.15)mm |
ESP32-WATG-32D 有 35 個引腳,如表 2 所示。
引腳說明
圖 1:引腳佈局
表 2:引腳定義
姓名 | 不。 | 類型 | 功能 |
重置 | 1 | I | 模組使能訊號(預設內部上拉)。高電平有效。 |
I36 | 2 | I | GPIO36、ADC1_CH0、RTC_GPIO0 |
I37 | 3 | I | GPIO37、ADC1_CH1、RTC_GPIO1 |
I38 | 4 | I | GPI38、ADC1_CH2、RTC_GPIO2 |
I39 | 5 | I | GPIO39、ADC1_CH3、RTC_GPIO3 |
I34 | 6 | I | GPIO34、ADC1_CH6、RTC_GPIO4 |
I35 | 7 | I | GPIO35、ADC1_CH7、RTC_GPIO5 |
IO32 | 8 | 輸入/輸出 | GPIO32、XTAL_32K_P(32.768kHz晶振輸入)、ADC1_CH4、TOUCH9、RTC_GPIO9 |
IO33 | 9 | 輸入/輸出 | GPIO33、XTAL_32K_N(32.768kHz晶振輸出)、ADC1_CH5、TOUCH8、RTC_GPIO8 |
IO25 | 10 | 輸入/輸出 | GPIO25、DAC_1、ADC2_CH8、RTC_GPIO6 |
I2C_SDA | 11 | 輸入/輸出 | GPIO26、I2C_SDA |
I2C_SCL | 12 | I | GPIO27、I2C_SCL |
經顱磁刺激系統 | 13 | 輸入/輸出 | GPIO14、MTMS |
TDI | 14 | 輸入/輸出 | GPIO12、MTDI |
+5V | 15 | PI | 5V電源輸入 |
接地 | 16, 17 | PI | 地面 |
車架號 | 18 | 輸入/輸出 | 12V/24V電源輸入 |
TCK | 19 | 輸入/輸出 | GPIO13、MTCK |
TDO | 20 | 輸入/輸出 | GPIO15、MTDO |
總線2 | 21, 35 | 輸入/輸出 | GPIO19/GPIO22,EBUS2 |
IO2 | 22 | 輸入/輸出 | GPIO2、ADC2_CH2、TOUCH2、RTC_GPIO12、HSPIWP、HS2_DATA0 |
IO0_快閃記憶體 | 23 | 輸入/輸出 | 下載引導:0; SPI 啟動:1(預設)。 |
IO4 | 24 | 輸入/輸出 | GPIO4、ADC2_CH0、TOUCH0、RTC_GPIO10、HSPIHD、HS2_DATA1 |
IO16 | 25 | 輸入/輸出 | GPIO16,HS1_DATA4 |
5V_UART1_TX D | 27 | I | GPIO18,5V UART 資料接收 |
5V_UART1_RXD | 28 | – | GPIO17,HS1_DATA5 |
IO17 | 28 | – | GPIO17,HS1_DATA5 |
IO5 | 29 | 輸入/輸出 | GPIO5、VSPICS0、HS1_DATA6 |
U0接收數據 | 31 | 輸入/輸出 | GPIO3、U0RXD |
U0TXD | 30 | 輸入/輸出 | GPIO1,U0TXD |
IO21 | 32 | 輸入/輸出 | GPIO21、VSPIHD |
接地 | 33 | PI | EPAD,地面 |
+3.3V | 34 | PO | 3.3V電源輸出 |
硬件準備
硬件準備
- ESP32-WATG-32D模組
- 樂鑫射頻測試板(載板)
- 1 個 USB 轉 UART 轉接器
- PC,推薦Windows 7
- 微型USB電纜
硬體連接
- 將 ESP32-WATG-32D 焊接到載板上,如圖 2 所示。
- 透過 TXD、RXD 和 GND 將 USB 轉 UART 加密狗連接到載板。
- 透過 Micro-USB 連接線將 USB 轉 UART 轉接器連接到 PC。
- 將載板連接至24V適配器供電。
- 在下載過程中,通過跳線將 IO0 短接到 GND。 然後,將電路板“打開”。
- 使用 ESP32 下載工具將韌體下載到快閃記憶體。
- 下載後,將 IO0 和 GND 上的跳線去掉。
- 再次給載板上電。 ESP32-WATG-32D 將切換到工作模式。
晶片初始化時會從Flash中讀取程式。
筆記:
- IO0 內部為邏輯高電平。
- 有關 ESP32-WATG-32D 的更多信息,請參閱 ESP32-WATG-32D 數據表。
ESP32 WATG-32D 入門
靜電除塵器
樂鑫物聯網開發框架(簡稱 ESP-IDF)是基於樂鑫 ESP32 開發應用程式的框架。使用者可以基於 ESP-IDF 在 Windows/Linux/MacOS 上使用 ESP32 開發應用程式。
設定工具
除了 ESP-IDF,您還需要安裝 ESP-IDF 使用的工具,例如編譯器、調試器、Python 包等。
Windows 工具鏈的標准設置
最快的方法是從以下位置下載工具鏈和 MSYS2 zip dl.espressif.com 網站: https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip
退房
執行 C:\msys32\mingw32.exe 開啟 MSYS2 終端機。運行:mkdir -p ~/esp
輸入 cd ~/esp 進入新目錄。
更新環境
更新 IDF 時,有時需要新工具鍊或將新要求添加到 Windows MSYS2 環境。 要將任何數據從舊版本的預編譯環境移動到新版本:
使用舊的 MSYS2 環境(即 C:\msys32)並將其移動/重命名到不同的目錄(即 C:\msys32_old)。
使用上述步驟下載新的預編譯環境。
將新的 MSYS2 環境解壓縮到 C:\msys32(或其他位置)。
找到舊的 C:\msys32_old\home 目錄並將其移動到 C:\msys32。
如果不再需要,現在可以刪除 C:\msys32_old 目錄。
您可以在系統上擁有獨立的不同 MSYS2 環境,只要它們位於不同的目錄中即可。
Linux 工具鏈的標準設定
安裝先決條件
CentOS 7:
sudo yum install gcc git wget make ncurses-devel flex bison gperf python pyserial python-pyelftools
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python pythonpip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
拱:
sudo pacman -S –需要 gcc git make ncurses flex bison gperf python2-pyserial python2cryptography python2-future python2-pyparsing python2-pyelftools
設置工具鏈
64位Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-esp32-2019r1-8.2.0.tar.gz
32位Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-esp32-2019r1-8.2.0.tar.gz
1. 將檔案解壓縮到~/esp目錄:
64位元Linux:mkdir -p ~/esp cd ~/esp tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-esp32-2019r1-8.2.0.tar.gz
32位元Linux: mkdir -p ~/espcd ~/esp tar -xzf ~/Downloads/xtensa-esp32-elf-linux32-esp32-2019r1-8.2.0.tar.gz
2. 工具鏈將解壓縮到 ~/esp/xtensa-esp32-elf/ 目錄。將以下內容加入~/.profile:
導出 PATH=”$HOME/esp/xtensa-esp32-elf/bin:$PATH”
(可選)將以下內容添加到 ~/.profile:
別名 get_esp32='導出 PATH=”$HOME/esp/xtensa-esp32-elf/bin:$PATH”'
3.重新登入驗證.profile. 運行以下命令檢查 PATH:printenv PATH
$ 打印環境路徑
/home/使用者名稱/esp/xtensa-esp32-elf/bin:/home/使用者名稱/bin:/home/使用者名稱/.local/bin:/usr/local/sbin:/usr/local/bin: / usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
權限問題 /dev/ttyUSB0
對於某些 Linux 發行版,當您刷新 ESP0 時,您可能會收到 Failed to open port /dev/ttyUSB32 錯誤訊息。這可以透過將目前使用者新增至 dialout 群組來解決。
Arch Linux 用戶
要在 Arch Linux 中執行預編譯的 gdb (xtensa-esp32-elf-gdb) 需要 ncurses 5,但 Arch 使用 ncurses 6。
AUR 中提供了適用於本機和 lib32 配置的向後相容性庫:
https://aur.archlinux.org/packages/ncurses5-compat-libs/
https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
在安裝這些軟件包之前,您可能需要將作者的公鑰添加到您的密鑰環中,如上面鏈接中的“評論”部分所述。
或者,使用 crosstool-NG 編譯連結到 ncurses 6 的 gdb。
Mac OS 工具鏈的標準設定
安裝點子:
須藤easy_install pip
安裝工具鏈:
https://github.com/espressif/esp-idf/blob/master/docs/en/get-started/macossetup.rst#id1
將文件解壓縮到 ~/esp 目錄。
工具鏈將被解壓縮到 ~/esp/xtensa-esp32-elf/ 路徑中。
將以下內容添加到 ~/.profile:
導出 PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH
(可選)將以下內容添加到 〜/ .profile:
別名 get_esp32=”導出 PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH”
輸入 get_esp322 將工具鏈加入到 PATH。
獲取 ESP-IDF
安裝工具鏈(包含編譯和建置應用程式的程式)後,您還需要 ESP32 特定的 API/函式庫。它們由 Espressif 在 ESP-IDF 儲存庫中提供。要取得它,請打開終端,導航到要放置 ESP-IDF 的目錄,然後使用 git clone 命令克隆它:
git 克隆 – 遞迴 https://github.com/espressif/esp-idf.git
ESP-IDF 將被下載到 ~/esp/esp-idf。
筆記:
不要錯過 -recursive 選項。 如果您已經克隆了沒有此選項的 ESP-IDF,請運行另一個命令來獲取所有子模塊:
cd ~/esp/esp-idf
git 子模塊更新 –init
將 IDF_PATH 新增至使用者設定檔
若要在系統重新啟動之間保留 IDF_PATH 環境變數的設置,請按照以下說明將其新增至使用者設定檔。
視窗
搜尋 “Edit Environment Variables” on Windows 10.
點選新建...並新增新的系統變數 IDF_PATH。配置應包含 ESP-IDF 目錄,例如 C:\Users\user-name\esp\esp-idf。
將 ;%IDF_PATH%\tools 新增至 Path 變數以執行 idf.py 和其他工具。
Linux 和 MacOS
將以下內容添加到 〜/.profile:
匯出 IDF_PATH=~/esp/esp-idf
導出 PATH=”$IDF_PATH/工具:$PATH”
執行以下命令來檢查 IDF_PATH:
printenv IDF_PATH
執行以下命令檢查 idf.py 是否包含在 PAT 中:
哪個 idf.py
它將打印類似於 ${IDF_PATH}/tools/idf.py 的路徑。
如果您不想修改 IDF_PATH 或 PATH,您也可以輸入以下內容:
匯出 IDF_PATH=~/esp/esp-idf
導出 PATH=”$IDF_PATH/工具:$PATH”
與 ESP32-WATG-32D 建立串行連接
本節指導如何在 ESP32WATG-32D 和 PC 之間建立串行連接。
將 ESP32-WATG-32D 連接到 PC
將 ESP32-WATG-32D 模組焊接到載板上,並使用 USB 轉 UART 轉接器將載板連接到 PC。如果裝置驅動程式沒有自動安裝,請識別外接 USB 轉 UART 加密狗上的 USB 轉串口轉換晶片,在網路上搜尋驅動程式並安裝。
以下是可以使用的驅動程式的連結。
CP210x USB 轉 UART 橋接 VCP 驅動程式 FTDI 虛擬 COM 連接埠驅動程式
以上驅動主要供參考。正常情況下,驅動程式應與作業系統捆綁在一起,並在 USB 轉 UART 加密狗連接到 PC 時自動安裝。
檢查 Windows 上的連接埠
檢查 Windows 裝置管理員中已識別的 COM 連接埠清單。斷開 USB 轉 UART 加密狗的連接並將其重新連接,以驗證哪個連接埠從清單中消失然後再次顯示。
圖 4-1。 Windows 裝置管理員中 USB 轉 UART 加密狗的 USB 轉 UART 橋
圖 4-2。 Windows 裝置管理員中 USB 轉 UART 加密狗的兩個 USB 序列埠
檢查 Linux 和 MacOS 上的端口
若要檢查 USB 轉 UART 加密狗序列埠的裝置名稱,請執行此指令兩次,先拔下加密狗,然後插入加密狗。
Linux
ls /dev/tty*
蘋果系統
ls /dev/cu.*
在 Linux 上將使用者新增至 dialout
目前登入的使用者應具有透過 USB 讀取和寫入序列埠的權限。
在大多數 Linux 發行版上,這是透過使用以下命令將使用者新增至 dialout 群組來完成的:
sudo usermod -a -G 撥出 $USER
在 Arch Linux 上,這是透過使用以下命令將使用者新增至 uucp 群組來完成的:
sudo usermod -a -G uucp $USER
確保您重新登錄以啟用串行端口的讀寫權限。
驗證串行連接
現在驗證串行連接是否可操作。 您可以使用串行終端程序執行此操作。 在這個前amp我們將使用適用於 Windows 和 Linux 的 PuTTY SSH 客戶端。 您可以使用其他串行程序並設置通信參數,如下所示。
運行終端,設置識別的串口,波特率=115200,數據位=8,停止位=1,奇偶校驗=N。下面是examp在 Windows 和 Linux 上設置端口和傳輸參數(簡稱為 115200-8-1-N)的屏幕截圖。 請記住選擇與您在上述步驟中確定的完全相同的串行端口。
圖 4-3。 在 Windows 上的 PuTTY 中設置串行通信
圖 4-4。 在 Linux 上的 PuTTY 中設置串行通信
然後在終端機中打開串列埠並檢查是否看到 ESP32 列印出任何日誌。
日誌內容將取決於載入到 ESP32 的應用程式。
筆記:
- 對於某些串行埠接線配置,需要在 ESP32 啟動並產生串行輸出之前在終端程式中停用串行 RTS 和 DTR 引腳。這取決於硬體本身,大多數開發板(包括所有 Espressif 板)都沒有這個問題。如果 RTS 和 DTR 直接連接到 EN 和 GPIO0 引腳,則會出現此問題。有關更多詳細信息,請參閱 esptool 文件。
- 驗證通訊正常後關閉串行終端。在下一步中,我們將使用不同的應用程式將新韌體上傳到
ESP32。當串列埠在終端機中開啟時,該應用程式將無法存取串列埠。
配置
進入 hello_world 目錄並運行 menuconfig。
Linux 和 MacOS
cd ~/esp/你好世界
idf.py -DIDF_TARGET=esp32 選單配置
您可能需要在 Python 2 上運行 python3.0 idf.py。
視窗
cd %userprofile%\esp\hello_world idf.py -DIDF_TARGET=esp32 選單配置
Python 2.7 安裝程式會嘗試設定 Windows 以將 .py 檔案與 Python 2 關聯。 Studio 中開啟)。在這種情況下,您可以選擇每次都執行 C:\Python27\python idf.py,或變更 Windows .py 關聯檔案設定。
構建和閃存
現在您可以構建和刷新應用程序了。 跑:
idf.py 構建
這將編譯應用程式和所有 ESP-IDF 元件,產生引導程式、分區表和應用程式二進位文件,並將這些二進位檔案閃存到您的 ESP32 板。
$ idf.py 構建
在目錄 /path/to/hello_world/build 中執行 cmake 執行“cmake -G Ninja –warn-uninitialized /path/to/hello_world”... 警告未初始化的值。
- 找到 Git:/usr/bin/git(找到版本“2.17.0”)
- 由於配置而構建空的 aws_iot 組件
- 組件名稱:...
- 元件路徑:…(更多行建構系統輸出)
項目搭建完成。 要刷機,請運行以下命令:
../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detector –flash_freq 40m 0x10000 build/hello-flash_freq 0m 1000x0 build/hello-d. bootloader.bin 8000xXNUMX build/partition_table/partitiontable.bin 或執行'idf.py -p PORT flash'
如果沒有問題,在建置過程結束時,您應該會看到生成的 .bin 檔案。
閃存到設備上
透過執行以下命令將您剛剛建置到 ESP32 板上的二進位檔案刷新:
idf.py -p 端口 [-b 波特率] 閃存
將 PORT 替換為 ESP32 板的序列埠名稱。您也可以透過將 BAUD 替換為您需要的波特率來變更快閃記憶體波特率。預設波特率為 460800。
在目錄[...]/esp/hello_world 中執行esptool.py 執行「python [...]/esp-idf/components/esptool_py/esptool/esptool.py -b 460800 write_flash @flash_project_args」... esptool. py -b 460800 write_flash –flash_mode dio –flash_size detector –flash_freq 40m 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000檢測晶片類型…ESP2.3.1 晶片為 ESP32D32WDQ0(修訂版 6)
功能:WiFi、BT、雙核心 上傳存根…運行存根…存根運行…將波特率更改為 460800 已更改。配置快閃記憶體大小...自動偵測快閃記憶體大小:4MB 快閃記憶體參數設定為0x0220 壓縮22992 位元組到13019...在22992 秒內在13019x0 寫入00001000 位元組(壓縮0.3)(有效558.9bit/s).. .資料哈希已驗證。將 3072 位元組壓縮為 82…在 3072 秒內在 82x0 處寫入了 00008000 位元組(0.0 壓縮)(有效 5789.3 kbit/s)…已驗證資料的雜湊值。將 136672 位元組壓縮為 67544...在 136672 秒內在 67544x0 處寫入了 00010000 位元組(壓縮了 1.9)(有效 567.5 kbit/s)...驗證了資料的雜湊值。離開...透過 RTS 引腳進行硬重置...
如果閃存過程結束時沒有問題,模塊將被重置,“hello_world”應用程序將運行。
以色列國防軍監視器
要檢查“hello_world”是否確實正在運行,請輸入 idf.py -p PORT Monitor(不要忘記將 PORT 替換為您的序列埠名稱)。
此命令啟動監控應用程序:
$ idf.py -p /dev/ttyUSB0 監視器在目錄[...]/esp/hello_world/build 中執行idf_monitor 執行「python [...]/esp-idf/tools/idf_monitor.py -b 115200 [ ...]/esp/hello_world /build/hello-world.elf」… — idf_monitor on /dev/ttyUSB0 115200 — — 退出:Ctrl+] |選單:Ctrl+T |幫助:Ctrl+T 後按 Ctrl+H — ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 …
啟動和診斷日誌向上滾動後,您應該會看到“Hello world!” 由應用程序打印出來。
… 你好世界! 10 秒後重新啟動... I (211) cpu_start: 在 APP CPU 上啟動調度程式。 9 秒後重新啟動... 8 秒後重新啟動... 7 秒後重新啟動...
要退出 IDF 監視器,請使用快捷鍵 Ctrl+]。
如果 IDF 監視器在上傳後不久出現故障,或者,如果不是上面的消息,而是看到類似於下面給出的隨機垃圾,那麼您的電路板可能使用 26MHz 晶振。 大多數開發板設計使用 40MHz,因此 ESP-IDF 將此頻率用作默認值。
Examp萊斯
對於 ESP-IDF 前amp萊斯,請前往 ESP-IDF GitHub。
樂鑫物聯網團隊
樂鑫網
免責聲明和版權聲明
本文檔中的信息,包括 URL 參考,如有更改,恕不另行通知。
本文檔按原樣提供,不提供任何保證,包括適銷性、不侵權、適合任何特定用途的任何保證,
或任何提案、規格或 S 所產生的任何保證AMPLE。
不承擔與使用本文檔中的信息有關的所有責任,包括侵犯任何所有權的責任。 此處未通過禁止反言或其他方式明示或暗示任何知識產權的許可。
Wi-Fi 聯盟成員標誌是 Wi-Fi 聯盟的商標。藍牙標誌是藍牙 SIG 的註冊商標。本文件中所提及的所有商號、商標和註冊商標均為其各自所有者的財產,特此聲明。
版權所有 © 2019 樂鑫。保留所有權利。
文件/資源
![]() |
ESPRESSIF ESP32-WATG-32D 客製化 WiFi-BT-BLE MCU 模組 [pdf] 使用者手冊 ESP32WATG32D、2AC7Z-ESP32WATG32D、2AC7ZESP32WATG32D、ESP32-WATG-32D、客製化 WiFi-BT-BLE MCU 模組、WiFi-BT-BLE MCU 模組、MCU 模組、ESP32-WATG-32、模組模組 |