ESPRESSIF - 标志

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 兆赫
蓝牙 协议 Bluetoothv4.2 BRJEDR 和 BLE 规范开启
收音机 NZIF 接收器,灵敏度为 -97 dBm
1 类、2 类和 3 类发射器
房颤
声音的 CVSD 和 SBC
硬件 模块接口 UART,重新。 EBUS2,JTAG,通用输入输出口
片上传感器 霍尔传感器
集成水晶 40 MHz 晶振
集成 SPI 闪存 8 兆字节
集成 DCDC 转换器
工作量tage!电源
3.3 伏,1.2 安
12 伏/24 伏
电源提供的最大电流 300 毫安
推荐的工作温度范围 -40'C + 85'C
模块尺寸 (18.00±0.15) 毫米 x (31.00±0.15) 毫米 x (3.10±0.15) 毫米

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.768 kHz 晶振输入)、ADC1_CH4、TOUCH9、RTC_GPIO9
IO33 9 输入/输出 GPIO33、XTAL_32K_N(32.768 kHz晶振输出)、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
甲苯二异氰酸酯 14 输入/输出 GPIO12、MTDI
+5 伏 15 PI 5 V电源输入
地线 16、17 PI 地面
车辆识别号 18 输入/输出 12 V / 24 V 电源输入
中枢肌钙蛋白 19 输入/输出 GPIO13、MTCK
时差 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.3 伏 34 PO 3.3V电源输出

硬件准备

硬件准备
  • ESP32-WATG-32D 模组
  • 乐鑫射频测试板(载板)
  • 一个 USB 转 UART 加密狗
  • 电脑、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. 将载板连接到 24 V 适配器供电。
  5. 在下载过程中,通过跳线将 IO0 短接到 GND。 然后,将电路板“打开”。
  6. 使用 ESP32 下载工具将固件下载到闪存中。
  7. 下载后,将 IO0 和 GND 上的跳线去掉。
  8. 再次给载板通电。 ESP32-WATG-32D 将切换到工作模式。
    初始化时芯片会从闪存中读取程序。

笔记:

  • 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='export PATH=”$HOME/esp/xtensa-esp32-elf/bin:$PATH”'

3.重新登录验证.profile. 运行以下命令检查 PATH:printenv PATH
$ 打印环境路径

/home/user-name/esp/xtensa-esp32-elf/bin:/home/user-name/bin:/home/username/.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 错误消息。 这可以通过将当前用户添加到拨出组来解决。

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 工具链的标准设置
安装点:
sudo 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=”export PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH”
输入 get_esp322 将工具链添加到 PATH。

获取 ESP-IDF

安装工具链(包含编译和构建应用程序的程序)后,您还需要 ESP32 特定的 API/库。 它们由 Espressif 在 ESP-IDF 存储库中提供。 要获取它,请打开终端,导航到要放置 ESP-IDF 的目录,然后使用 git clone 命令克隆它:

git clone –递归 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.
单击 New... 并添加一个新的系统变量 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/tools:$PATH”

运行以下命令检查 IDF_PATH:
打印环境 IDF_PATH

运行以下命令检查 idf.py 是否包含在 PAT 中:
哪个 idf.py
它将打印类似于 ${IDF_PATH}/tools/idf.py 的路径。
如果您不想修改 IDF_PATH 或 PATH,也可以输入以下内容:
导出 IDF_PATH=~/esp/esp-idf
导出 PATH=”$IDF_PATH/tools:$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-to-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 上将用户添加到拨出

当前登录的用户应该可以通过 USB 对串行端口进行读写访问。
在大多数 Linux 发行版上,这是通过使用以下命令将用户添加到拨出组来完成的:

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 的应用程序。

笔记:

  • 对于某些串行端口接线配置,需要在终端程序中禁用串行 RTS 和 DTR 引脚,然后 ESP32 才能启动并产生串行输出。 这取决于硬件本身,大多数开发板(包括所有 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 menuconfig

Python 2.7 安装程序将尝试将 Windows 配置为将 .py 文件与 Python 2 相关联。如果其他程序(例如 Visual Studio Python 工具)已与其他版本的 Python 相关联,idf.py 可能无法正常工作(该文件将在 Visual 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 detect –flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/ bootloader.bin 0x8000 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 detect –flash_freq 40m 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000 hello-world.bin esptool.py v2.3.1 正在连接...。 检测芯片类型... ESP32 芯片为 ESP32D0WDQ6 (revision 1)
特点:WiFi、BT、双核上传存根……正在运行存根……正在运行存根……将波特率更改为 460800 已更改。 配置闪存大小... 自动检测到的闪存大小:4MB 闪存参数设置为 0x0220 压缩 22992 字节到 13019... 在 22992 秒内在 13019x0 写入 00001000 字节(0.3 压缩)(有效 558.9 kbit/s)... 数据哈希验证。 将 3072 字节压缩为 82……在 3072 秒内将 82 字节(0 压缩)写入 00008000x0.0(有效 5789.3 kbit/s)……数据哈希验证。 将 136672 字节压缩为 67544……在 136672 秒内(有效 67544 kbit/s)在 0x00010000 处写入了 1.9 字节(567.5 压缩)……已验证数据哈希。 离开……通过 RTS 引脚硬重置……

如果闪存过程结束时没有问题,模块将被重置,“hello_world”应用程序将运行。

以色列国防军监视器

要检查“hello_world”是否确实在运行,请键入 idf.py -p PORT monitor(不要忘记将 PORT 替换为您的串行端口名称)。
此命令启动监控应用程序:

$ idf.py -p /dev/ttyUSB0 monitor 在目录 [...]/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 — et Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) et 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 前amples,请到 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-32D, 模块

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *