技术选型

[English]

本文档主要介绍如何选择合适的乐鑫硬件产品、AT 软件方案、以及项目初期的准备。

重要

如果您在选择乐鑫硬件产品、AT 软件方案中有任何问题,请联系 乐鑫商务 或者 技术支持

硬件选型

在开始使用 ESP-AT 之前,您需要选择一款合适的乐鑫芯片集成到您的产品中,为您的产品赋能无线功能。硬件选型是一个复杂的过程,需要考虑多方面的因素,如功能、功耗、成本、尺寸等。请阅读下面内容帮助您选型硬件。

  • 产品选型工具 可以帮助您了解不同乐鑫产品的硬件区别。

  • 技术规格书 可以帮助您了解该芯片/模组所支持的硬件能力。

  • 硬件选型入门指导 可以帮助您简要对比芯片差别,了解芯片、模组、和开发板的差别以及选择指南。

备注

技术规格书中载明的是硬件最大能力,不代表 AT 软件能力。例如,ESP32-C6 芯片支持 Zigbee 3.0 及 Thread 1.3,但是现有的 AT 软件方案暂未支持这两种无线协议。

AT 软件方案选型

AT 软件方案是乐鑫针对不同芯片提供的 AT 固件,可以帮助您快速实现无线功能。

  • 如果您想了解 ESP32 芯片详细的 AT 软件能力,请参考 AT 命令集

  • 如果您想对比 ESP32 芯片不同的 AT 固件功能,请参考 ESP-AT 固件差异

下表列出了不同芯片对应的 AT 固件简要对比图。

芯片

无线功能

推荐的 AT 固件

说明

ESP32-C6

Wi-Fi 6 + BLE 5.0

v4.0.0.0

ESP32-C3

Wi-Fi 4 + BLE 5.0

v3.3.0.0

ESP32-C2

Wi-Fi 4 (或 BLE 5.0)

v3.3.0.0

ESP32

Wi-Fi 4 + BLE v4.2 (+ BT)

v3.4.0.0

ESP32-S2

Wi-Fi 4

v3.4.0.0

推荐使用性价比更高的 ESP32-C 系列

  • (或 BLE 5.0) 表示 AT 软件方案中支持低功耗蓝牙功能,但发布的固件中未包含此功能。

  • (+ BT) 表示 AT 软件方案中支持经典蓝牙功能,但发布的固件中未包含此功能。

备注

出厂的模组或芯片中,均未烧录 AT 固件。若您有量产需求,请及时联系对接的商务人员或 sales@espressif.com,我们将提供定制生产。

我该选哪种类型的 AT 固件?

ESP-AT 固件有以下几种类型,其中下载或准备固件的工作量自上而下依次递增,支持的模组类型也自上而下依次递增。

官方发布版固件(推荐)

官方发布版固件 又称“发布版固件”、“官方固件”、“默认固件”,为乐鑫官方团队测试通过并发布的固件,固件会根据内部开发计划周期性发布,此种固件可直接基于乐鑫 OTA 服务器升级固件。如果 官方发布版固件 完全满足您的项目需求,建议您优先选择 官方发布版固件。如果官方固件不支持您的模组,您可以根据 硬件差异,选择和您的模组硬件配置相近的固件进行测试验证。

GitHub 临时固件

GitHub 临时固件 为每次将代码推送到 GiHub 时都会生成但并未达到固件发布周期条件的固件,或者说是开发中的固件,包括 官方发布版固件 的临时版本和适配过但是不计划正式发布的固件,其中前者可直接基于乐鑫 OTA 服务器升级固件。

  • 获取途径:请参考 如何从 GitHub 下载最新临时版本 AT 固件

  • 优点:

    • 实时性强,新的特性和漏洞修补都会实时同步出来。

    • 包含一些非正式发布的固件,如基于 SDIO 通讯的固件、基于 SPI 通讯的固件。

    • 获取固件工作量小。

  • 缺点:基于非正式发布的 commit 生成的固件未经过完整的测试,可能会存在一些风险,需要您自己做完整的测试。

修改参数的固件

修改参数的固件 指的是只修改参数区域而并不需要重新编译的固件,适用于固件功能满足项目要求、但只有某些参数不满足的情况下,如 UART 波特率、UART GPIO 管脚等参数的变更,此种固件可直接基于乐鑫 OTA 服务器升级固件。

  • 关于如何修改参数文件,请参考 at.py 工具

  • 优点:

    • 不需要重新编译固件。

    • 固件稳定、可靠。

  • 缺点:需要基于发布版的固件修改,更新周期长,覆盖的模组有限。

自行编译的固件

当您需要进行二次开发时可采用此种方式。需要自己部署 OTA 服务器以支持 OTA 功能。

  • 关于如何自行编译固件,请参考 本地编译 ESP-AT 工程

  • 优点:功能、周期自己可控。

  • 缺点:需要自己搭建环境编译。

如果您希望稳定性优先,推荐基于该芯片最新已发布的版本对应的分支开发您的 AT 固件。如果您希望更多新功能,推荐基于 master 分支 开发您的 AT 固件。

项目初期准备

项目初期准备阶段, 强烈建议 您选择 乐鑫开发板 开始您的项目。在项目初期,能够帮助您快速原型验证,评估硬件和软件能力,减少项目风险;在项目中期,能够帮助您快速功能集成和验证,性能优化,提高开发效率;在项目后期,能够帮助您快速模拟和定位问题,实现产品快速迭代。

如果您是 自行编译的固件,建议您优先选择 Linux 系统作为开发环境。