樂鑫 - 標誌

ESP32-WATG-32D
使用者手冊

ESPRESSIF ESP32 WATG 32D 客製化 WiFi-BT BLE MCU 模組 - 圖標初步版本 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 所示。

引腳說明

ESPRESSIF ESP32 WATG 32D 客製化 WiFi-BT BLE MCU 模組 - 腳位說明

圖 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電纜
硬體連接
  1. 將 ESP32-WATG-32D 焊接到載板上,如圖 2 所示。
    ESPRESSIF ESP32 WATG 32D 客製化 WiFi-BT BLE MCU 模組 - 硬體連接
  2. 透過 TXD、RXD 和 GND 將 USB 轉 UART 加密狗連接到載板。
  3. 透過 Micro-USB 連接線將 USB 轉 UART 轉接器連接到 PC。
  4. 將載板連接至24V適配器供電。
  5. 在下載過程中,通過跳線將 IO0 短接到 GND。 然後,將電路板“打開”。
  6. 使用 ESP32 下載工具將韌體下載到快閃記憶體。
  7. 下載後,將 IO0 和 GND 上的跳線去掉。
  8. 再次給載板上電。 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 加密狗的連接並將其重新連接,以驗證哪個連接埠從清單中消失然後再次顯示。

ESPRESSIF ESP32 WATG 32D 定制 WiFi-BT BLE MCU 模組 - 檢查 Windows 上的端口

圖 4-1。 Windows 裝置管理員中 USB 轉 UART 加密狗的 USB 轉 UART 橋

ESPRESSIF ESP32 WATG 32D 定制 WiFi-BT BLE MCU 模組 - 檢查 Windows 2 上的端口

圖 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)的屏幕截圖。 請記住選擇與您在上述步驟中確定的完全相同的串行端口。

ESPRESSIF ESP32 WATG 32D 客製化 WiFi-BT BLE MCU 模組 - 驗證串列連接

圖 4-3。 在 Windows 上的 PuTTY 中設置串行通信

ESPRESSIF ESP32 WATG 32D 定制 WiFi-BT BLE MCU 模組 - 檢查 Windows 3 上的端口

圖 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 組件
  • 組件名稱:...
  • 元件路徑:…(更多行建構系統輸出)
[527/527] 產生 hello-world.bin esptool.py v2.3.1

項目搭建完成。 要刷機,請運行以下命令:
../../../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、模組模組

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *