跳到主要内容

ESP-IDF 开发说明

本章节包含以下部分,请按需阅读:

ESP-IDF 入门教程

初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

备注

以下教程基于 Windows 开发环境,使用 VS Code 进行开发。

信息

ESP-IDF 从 v4.3 版本开始支持 ESP32-S3。为保证功能完整性和开发稳定性,建议使用 v4.4 及以上版本,新项目优先采用 v5.1+

请参考 微雪 ESP-IDF 入门教程 - 第 1 节 搭建环境 完成 ESP-IDF 开发环境配置。

运行乐鑫官方示例程序

创建例程

  • 使用快捷键 F1 ,在命令面板中输入 ESP-IDF: Show Examples Projects

    esp32-7670 TO Program 1.webp

  • 选择与你当前 ESP-IDF 环境一致的 IDF 版本(建议选择状态栏或当前终端显示的版本)

    esp32-7670 TO Program 2.webp

  • 以 Hello world 例程为例

    • ① 选择对应例程

    • ② 其 readme 会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)

    • ③ 点击创建例程

      esp32-7670 TO Program 3.webp

  • 选择放置例程的路径,要求无例程同名文件夹

    esp32-7670 TO Program 4.webp

修改 COM 口

  • 此处显示当前使用的 COM 口,点击可以修改对应 COM 口

    esp32-vscod-18

  • 本开发板板载 USB 转串口芯片为 CH343,不同电脑会枚举为不同的 COM 口
    请根据“设备管理器”中实际显示的 COM 口进行选择

    esp32-vscod-19

  • 选择使用的工程或者例程

    esp32-vscod-20

  • 修改完成后,状态栏会显示新的 COM 口

选择目标芯片(Target)

  • 此处显示当前使用的目标芯片,点击可以修改

    esp32-vscod-21

  • 选择使用的工程或者例程

    esp32-vscod-20

  • 点击后需要稍等片刻

    esp32-vscod-22

  • 选择我们需要驱动的对象,即主芯片 ESP32-S3

    esp32-vscod-23

  • 选择 OpenOCD 的路径

    说明

    该项仅影响 JTAG/OpenOCD 调试功能,如不使用调试功能,可按默认路径选择即可

    esp32-vscod-24

其余状态栏简介

  • ① SDK 配置编辑器:ESP-IDF 的很多功能与配置可以在其内修改

  • ② 全部清理:清空所有编译文件

  • ③ 编译

  • ④ 当前下载方式:默认为 UART(板载 USB 转串口下载属于正常情况)

  • ⑤ 烧录当前固件:请在编译成功后进行

  • ⑥ 打开串口监视器:用于查看串口输出信息,如提示端口占用,请先关闭占用串口的软件或停止 monitor

  • ⑦ 编译 + 烧录 + 打开串口监视器一体按键(调试时最常用)

    esp32-vscod-25

编译、烧录、串口监视

  • 点击上方介绍的编译、烧录、打开串口监视器一体按键

    esp32-vscod-29

  • 编译可能需要较长时间,尤其是在第一次编译时

    esp32-vscod-26

    • 首次编译会下载依赖并生成缓存文件,占用 CPU 较高,属于正常现象
    • 后续再次编译速度会明显提升
  • 本开发板使用 CH343 作为 USB 转串口芯片,并配有自动下载电路,无需手动按键即可自动进入下载模式

    esp32-vscod-27

  • 下载成功后,会自动进入串口监视器,可以看到芯片输出的对应信息,并提示 10S 后重启

    esp32-vscod-28

定位与网络通信示例

示例路径:ESP32-S3-A-SIM7670X-4G-V2 → ESP-IDF

GNSS

硬件连接

  • 请将 GNSS 陶瓷天线连接至 GNSS 天线接口,并放置在空旷的室外环境进行测试(阴雨天气可能影响搜星效果)。模块上电后通常需要等待约 1 分钟才能接收到有效的定位信号。
备注

由于 GNSS 在室内环境下搜星不稳定,建议将模块或天线放置在阳台、窗边或无遮挡的户外环境下进行测试,以获得更好的定位效果。

软件操作

  • 根据上方教程完成开发环境搭建后,修改对应的 COM 口及驱动配置,点击编译并烧录程序。运行后可在串口接收到 GNSS 输出的 NMEA 报文,完成定位后即可获取经纬度等信息,效果如下图所示:

    esp32-gnss

TCP

硬件连接

  • 请将 4G 天线连接至 LTE 天线接口,并插入有效的 SIM 卡,确保信号覆盖良好。建议在信号稳定的环境下进行测试。

软件操作

  • 完成开发环境配置后,可根据实际需求修改示例中的服务器地址、端口号及 APN 参数,确认串口号设置正确后进行编译与烧录。程序运行后,可在 TCP 服务器端查看模块发送的数据内容,如下图所示:

    esp32-s3-a-sim7670x-4g-tcp

说明

本例程使用互联网公开的 TCP 测试服务器。 该服务器仅用于功能验证,实际项目中建议自行搭建专用服务器。

HTTP

硬件连接

  • 请连接 4G 天线并插入可正常使用的数据 SIM 卡,确保模块成功注册网络并获取 IP 地址。

软件操作

  • 完成开发环境搭建后,根据实际需求修改 HTTP 示例中的 URL 地址及相关参数,确认 COM 口设置正确。编译并烧录程序后,打开串口监视器即可查看 HTTP 请求过程及服务器返回的响应数据,如下图所示:

    esp32-s3-a-sim7670x-4g-http

说明

本例程使用 微雪云平台的 HTTP 服务器。 该接口仅用于测试验证,实际项目中可根据需求自行选用或搭建服务器。