ESP32-H2-DEV-KIT-N4
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
产品简介
ESP32-H2-DEV-KIT-N4 是一款体积小巧,搭载多种数字接口的微控制器开发板。
在硬件上,采用 ESP32-H2-MINI-1 模组,其搭载有 RISC-V 32 位单核处理器,主频高达 96 MHz,内置 320 KB SRAM、128 KB ROM、4 KB LP memory;板载 CH343 串口 和 CH334 USB HUB 双芯片,可通过一个 USB-C 接口进行 USB 和 UART 使用和开发,引脚接口兼容 ESP32-H2-DevKitM-1 开发板,可兼容扩展多种外围设备,使用更方便。
在软件上,可选择 ESP-IDF 开发环境或在 Arduino IDE 上进行开发,从而可以轻松快速地入门,并将其应用于产品中。
产品特性
- 采用 ESP32-H2-MINI-1 模组,搭载 RISC-V 32 位单核处理器,主频高达 96 MHz
- 集成 320 KB SRAM、128 KB ROM、4 KB LP memory 以及 4MB Flash 存储器
- 集成低功耗蓝牙 (Bluetooth LE) 无线通信 和 IEEE 802.15.4 技术,具有优越的射频性能
- 采用 USB Type-C 接口,无需纠结正反插
- 板载 CH343 与 CH334 芯片,通过一个 Type-C 接口就可以满足 USB 和 UART 开发使用需求
- 引出丰富的外设接口,引脚兼容 ESP32-H2-DevKitM-1 开发板,兼容性和扩展性强
- 邮票孔设计,可直接焊接集成到用户自主设计的底板上
- 支持多种低功耗工作状态,可调节通信距离、数据率和功耗之间的平衡,满足各种应用场景的功耗需求
功能框图
资源接口
引脚分布
产品尺寸
ESP-IDF下使用
以下开发系统默认为Windows,推荐使用VSCode插件进行开发
使用VSCode插件开发
安装VSCode
- 打开VSCode官网的下载页面,选择对应系统和系统位数进行下载
- 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
- 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
- 第三项开启后,选择打开方式时,可以直接选择VSCode
安装Espressif IDF插件
- 注:当前插件最新版本为V1.6.4,为体验一致,用户可以选择与我们一样的版本
- 打开VSCode,使用快捷键 Shift+Ctrl+X ,进入插件管理器
- 在搜索栏中,输入 Espressif IDF ,选择对应的插件点击 install即可
- 使用快捷键 F1 ,输入
esp-idf: configure esp-idf extension
- 选择express(此教程针对第一次安装的用户,故只讲述初次的通用安装教程)
- 选择下载服务器,我们推荐国内用户使用Espressif作为你的下载服务器
- 选择想要现在的ESP-IDF版本,我们选择最新的V5.1.1(注意ESP-IDF从V5.1版本后才开始支持ESP32-H2)
- 下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,
- 注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
- 配置完成后,点击 install 进行下载
- 进入下载页面,其会自动安装对应工具与环境,稍等片刻即可
- 安装完成后,会进入以下界面,说明安装完成
官方例程使用教程
创建例程( 示例 )
- 使用快捷键 F1 ,输入
esp-idf:show examples projects
- 选择你当前的IDF版本
- 以Hello world例程为例
- ①选择对应例程
- ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
- ③点击创建例程
修改COM口
- 此处显示使用对应的COM口,点击可以修改对应COM口
- 请根据设备对应COM口进行选择,建议优先使用 USB 对应的COM口(可通过设备管理器查看)
- 若出现下载失败的情况请点击复位按键1秒以上,等待 PC 端重新识别到设备后再次下载
- 选择使用的工程或者例程
- 然后我们的COM口就修改好了
修改驱动对象
- 此处显示的是使用的驱动对象,点击可以修改对应驱动对象
- 选择使用的工程或者例程
- 点击后需要稍等片刻
- 选择我们需要驱动的对象,也就是我们的主芯片为ESP32H2
- 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
其余状态栏简介
- ①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
- ②全部清理,清空所有编译文件,
- ③编译
- ④当前下载方式,默认为UART
- ⑤烧录当前固件,请在编译后进行
- ⑥打开串口监视器,用于查看串口信息
- ⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)
编译、烧录、串口监视
- 点击我们之前介绍的 编译,烧录,打开串口监视器按键
- 编译可能需要较长时间才能完成,尤其是在第一次编译时。
- 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
- 若是新工程首次烧录程序,将需要选择下载方式,选择 UART
- 后续也可在 下载方式 处进行修改(点击即可弹出选项)
- 因为板载自动下载电路,无需手动操作即可自动下载
- 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
示例演示
Hello Word
- 官方示例路径:get-started -> hello_world
- 示例效果:在 TERMINAL 窗口以10秒间隔输出 Hello world!
软件操作
- 根据上方教程创建官方示例 hello_world ( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
GPIO
- 官方示例路径:peripherals -> gpio -> generic_gpio
- 示例效果:LED以1秒间隔进行闪烁
硬件连接
ESP32-H2 LED GPIO18(或GPIO19) LED+ GND LED-
软件操作
- 根据上方教程创建官方示例 generic_gpio ( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
- 进入程序宏定义位置,查看实际处理的GPIO
- 右键,进入GPIO定义位置
- 实际处理的GPIO为GPIO8、GPIO9
RGB
- 官方示例路径:get-started -> blink
- 示例效果:板载RGB灯珠以1秒间隔进行闪烁
软件操作
- 根据上方教程创建官方示例 blink ( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
UART
- 官方示例路径:peripherals -> uart-> uart_async_rxtxtasks
- 示例效果:短接GPIO4与GPIO5情况下进行 UART 的数据自收发
硬件连接
ESP32-H2 ESP32-H2(同一块) GPIO4 GPIO5
软件操作
- 根据上方教程创建官方示例 uart_async_rxtxtasks( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
- 根据使用的GPIO进行硬件连接
- 可转到定义文件中查看实际使用的GPIO(选中 GPIO_NUM_4 -> 右键 -> Go to Definition)
I2C
- 官方示例路径:peripherals -> lcd-> i2c_oled
- 示例效果:点亮0.96inch OLED (A),显示一段字符
硬件连接
0.96inch OLED (A) ESP32-H2 VCC 3V3 GND GND DIN GPIO3 CLK GPIO4 CS GND D/C GND RES GPIO9
软件操作
- 根据上方教程创建官方示例 i2c_oled( 创建示例 )
- 修改程序使之兼容0.96inch OLED (A)
- 适配0.96inch OLED (A),定义 RES 引脚为 GPIO9
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
- 效果如下
- 可查看实际使用的GPIO
SPI
- 官方示例路径:peripherals -> spi_master-> lcd
- 示例效果:在2.4inch LCD Module上动态显示图片
硬件连接
2.4inch LCD Module ESP32-H2 VCC 3V3 GND GND DIN GPIO5 CLK GPIO4 CS GPIO1 D/C GPIO10 RES GPIO11 BL GPIO12
软件操作
- 右键VScode图标,以管理员身份运行VScode
- 根据上方教程创建官方示例 lcd( 创建示例 )
- 修改程序使之兼容2.4inch LCD Module
- 跳转到定义位置
- 当前使用的为ESP32-H2,屏蔽其他芯片定义
- 并宏定义 ESP32-H2 , CONFIG_IDF_TARGET_ESP32H2
//#define CONFIG_IDF_TARGET_ESP32 1 #define CONFIG_IDF_TARGET_ESP32H2 1
- 等待读取ID
- 添加读取延时,防止读取失败
vTaskDelay(100 / portTICK_PERIOD_MS);
- 修改背光
- 改为 gpio_set_level(PIN_NUM_BCKL, 1);
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
- 效果如下
Bluetooth
- 官方示例路径:bluetooth -> bluedroid -> ble -> gatt_server
- 示例效果:ESP32-H2与手机端蓝牙调试助手进行数据传输
软件操作
- 在手机端安装蓝牙调试助手(也可使用其他蓝牙调试软件)
- 根据上方教程创建官方示例 gatt_server( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 蓝牙名称以及UUID,蓝牙名称为 ESP_GATTS_DEMO
- 修改好COM口及驱动对象(建议优先使用 USB 对应的COM口,可通过设备管理器查看),点击编译并烧录即可运行程序
- 在手机端连接 ESP_GATTS_DEMO蓝牙设备
- 连接成功效果如下
- 根据程序中UUID的值可知为下方两个服务器,选择其中一个进行上行发送
- ESP32-H2接收到数据
Zigbee
- 官方示例1路径:Zigbee-> light_sample-> HA_on_off_switch
- 官方示例2路径:Zigbee-> light_sample-> HA_on_off_light
- 示例效果:两块ESP32-H2,使用其中一块(烧录 HA_on_off_switch 程序)的 BOOT 按键控制另一块的RGB灯珠的亮灭
- 注:请先往一块烧录 HA_on_off_switch 程序,再往另一块烧录 HA_on_off_light 程序
软件操作1
- 根据上方教程创建官方示例 HA_on_off_switch( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(请使用 UART 对应的COM口,可通过设备管理器查看) ,点击编译并烧录即可运行程序
软件操作2
- 根据上方教程创建官方示例 HA_on_off_light( 创建示例 )
- 程序兼容ESP32-H2,无需修改程序内容即可使用
- 修改好COM口及驱动对象(请使用 UART 对应的COM口),点击编译并烧录即可运行程序(需要等待片刻,让两块芯片建立连接)
- 连接成功,对应的按键程序和LED程序会打印相关数据
- 若出现初始化失败的情况,则可能是由于这个设备有残留的其他网络信息,可以擦除设备信息( 擦除教程),再重新组网。
擦除设备Flash
- 解压软件资源包(Flash 调试软件)
- 打开 flash_download_tool_3.9.5.exe软件,选择ESP32-H2及UART
- 选择UART的端口号,点击 START (不选择任何 bin 文件)
- 等待烧录完成,点击擦除
- 等待擦除完成
Arduino下使用
请注意,Arduino 3.0.0-alpha 基于 ESP-IDF v5.1开发,与此前基于 ESP-IDF V4.X 有较大差异,在进行以下操作后,原先程序可能需要进行一些调整才可使用
请注意,电脑用户名必须是英文
搭建环境
- 安装 Arduino IDE
- 安装完成后打开 Arduino IDE
- 进入首选项
- 添加 JSON 链接
https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
- 将项目文件夹修改为 C:\Users\Waveshare\AppData\Local\Arduino15\packages(其中 Waveshare 为计算机用户名)
- 进入开发板管理器,搜索 esp32 ,在下方的 esp32 by Espressif Systems 中选择 3.0.0-alpha3 版本并点击安装(若不能正常安装可使用手机热点尝试)
- 安装完成重启 Arduino IDE 即可使用
若安装失败则展开
- 安装 3.0.0-alpha3 版本失败
- 下载资源文件
链接:https://pan.baidu.com/s/1u99HFx8lAyNLZzj7ja13lA 提取码:0755
- 从资源管理器按路径 “C:\Users\Waveshare\AppData\Local\Arduino15\staging\packages” 进入(其中 Waveshare 为计算机用户名,需要开启显示隐藏文件)
- 将上方下载的文件解压至 packages 文件夹下
- 重新执行安装操作
- 安装完成重启 Arduino IDE 即可使用
创建示例
- 上方将项目文件夹更改为 c:\Users\Waveshare\AppData\Local\Arduino15\packages 后
- 可通过文件下的项目文件夹中的示例进行例程创建
- 以下演示创建 RGB 闪烁的示例(处于File -> Sketchbook -> esp32 -> hardware -> esp32 -> 3.0.0-alpha3 -> libraries -> ESP32 -> examples -> GPIO 下的 BlinkRGB )
- 选择开发板和端口
- 搜索 esp32h2 ,选择 ESP32H2 Dev Module 和 下载端口
- 选择完成,点击上传,Arduino IDE 将编译并烧录该程序
- 上传完成,即可在开发板上看到现象
资料
软件
编程软件
CH343
串口
Flash 烧录
蓝牙调试
原理图
数据手册
ESP32-H2
CH343
官方文档
ESP32官方文档
FAQ
方法1:点击复位按键1秒以上,等待 PC 端重新识别到设备后再次下载
方法2:可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。
在VSCode中点击快捷键 F1,搜索 Espressif IDF,会发现被定为不被信任的扩展,设置为信任即可。
对程序烧录没有影响,如果弹出 无法识别的USB设备 后要使用 USB对应的COM口,请断开于电脑的连线,重新连接设备。也可以通过长按复位按键实现。
请在切换ESP后重新选择COM口及驱动对象再编译并烧录。
检查USB口的供电电压是否小于5V,一般情况下USB口的供电电压在4.9V以上,模块的两路USB口均可正常使用,若低于4.9V,则有可能出现供电不足,usb口掉线的情况,此种情况须更换足电压的USB口使用。
可能是由于这个设备有残留的其他网络信息,可以擦除设备信息( 擦除教程),再重新组网。
请将两块板子的 COM 口都选择 UART 对应的 COM 口,再进行程序烧录。
关闭下方OpenOCD,并重新开启OpenOCD。