乐鑫 2023 全球开发者大会精选 Q&A

在为期两天的 2023 乐鑫全球开发者大会中,我们收到了来自众多开发者提出的技术问题,并对其进行了整理和汇总。希望本文能够为您提供有价值的参考。
HMI 智能屏解决方案
1. ESP32-S3 的 RGB 接口支持 24-bit 的 RGB888 格式吗?
不支持,ESP32-S3 仅支持 16-bit 的 RGB565 和 8-bit 的 RGB888,但是即将推出的 ESP32-P4 不仅支持 24-bit 的 RGB888,并且具有硬件图形加速功能。乐鑫后续会用 ESP32-P4 来打造更强大的 HMI 智能屏方案,敬请期待。
2. ESP-IDF 中并没有提供 QSPI LCD 的示例,请问可以在哪个仓库里找到吗?
QSPI 在智慧屏中被广泛使用,相比 SPI 接口,它能够提供更高带宽。因此在相同屏幕尺寸下,QSPI 支持更高的分辨率,从而带来更好的用户体验。由于 QSPI LCD 比较特殊,我们将相关的例程放在了 esp-iot-solution 仓库中,可以在 examples/display/lcd 目录中找到,大部分驱动已上传至包管理器。对于没有显存的 QSPI LCD,我们会在后续上架至仓库,如果您有相关需求,也请与我们客户支持团队( https://www.espressif.com/zh-hans/contact-us/sales-questions)保持联系 。
3. 可以使用 Arduino 来开发官方的 LCD 开发板吗?
乐鑫在 Github 推出了用于 Arduino 开发 LCD 应用的 ESP32_Display_Panel 库(https://github.com/esp-arduino-libs/ESP32_Display_Panel),目前正在同步更新到 Arduino IDE 的库中,使用户能够直接下载使用。但是需要注意,因为在 Arduino 上无法像 ESP-IDF 一样调整各种参数配置,所以应用很可能无法实现最佳的性能。
4. 如何在没有 TE 信号线的情况下,解决 SPI LCD 的屏幕撕裂问题?
严格来说,这种情况下是无法完全避免屏幕撕裂的,但是可以通过提高刷屏的速度来尽量缓解这个问题,比如将乐鑫芯片的性能配置到更高,或者在使用 LVGL 的时候增大缓冲。
Thread 介绍协议及其相关应用
1. Thread 和 Wi-Fi 都是支持 IP 的网络层协议,请问它们有什么不同?
Wi-Fi 主要面向高速率、低延时的应用场景,是目前应用最为广泛的网络协议;Thread 是一个比较新兴的网络协议,基于 802.15.4 作为底层,面向低功耗、低速率的场景,主要应用于控制类和传感器类的产品。
2. Thread 网络规模和组网效果怎么样?
Thread 是一个标准的 Mesh 网络,任意两个 Router 节点都可以形成链路,一个 Thread 网络最多有 32 个 Router,而每个 Router 可以带多个子节点,数量由 Router 的资源决定,一般可以带多达 20 个节点,目前一个 Thread 网络可以容纳 300 个节点左右。Thread 作为 Mesh 网络的优势是无单点失败,没有中心化的节点,任意节点掉线都不会影响网络的连通性。
3. 如果厂家在考虑做 Thread 产品,可以如何开始?
Thread 和 Wi-Fi 一样是网络层协议,一般需要通过搭配一个应用层落地。目前比较火的就是 Matter 应用层,乐鑫提供了完整的 Matter 应用解决方案(https://www.espressif.com/zh-hans/solutions/device-connectivity/esp-matter-solution),包括 Matter Wi-Fi, Matter Thread 设备,以及 Thread Border Router 和 Bridge 方案。同时用户也可以基于 Thread 的 IP 接口开发私用的应用层,满足特定的应用需求。
4. 用户可以如何选择 Thread 方案?
目前我们已经有两个款量产芯片 ESP32-H2 和 ESP32-C6 支持 Thread,两个芯片以及乐鑫 Thread Border Router 方案都已经获得 Thread 1.3 认证(https://www.espressif.com/zh-hans/news/Thread_Border_Router_Certification?position=12&list=_JTUXxRc3Q07PkEXzXz5w7u5EqduA0wB2yZpuiu1PEc)。同时我们也已经有客户基于 ESP32-H2 的产品量产上市。
5. Thread 产品的功耗和 BLE Mesh 相比怎么样呢?
从功耗角度来说,在 Thread 和 BLE 网络中都有一个特定的设备,我们称之为 “低功耗设备”。在 Thread 网络中,我们将其称为“SED (Sleep End Device)”;而在 BLE mesh 网络中为 “LPN (Low-powered Node)”。两种设备的实际功耗值取决于产品的应用层需求,例如针对控制类的设备,休眠时间可能为 2~3 秒,而对于传感器类的设备,休眠时间可能长达几十分钟以上。
6. ESP-Matter-SDK 支持 BLE 吗?
当前 Matter 应用需要使用 BLE 进行配网,在配网完成后,应用层通信是基于 IP 网络,不会用到 BLE。目前最新的 Matter 1.1 仅支持三个通信网络协议:Wi-Fi、以太网和 Thread。
ESP-ADF 和多媒体解决方案
1. Jpeg 在 ESP32-S3 上优化的性能不错,是否在 ESP32-S2 上有进行了优化?如果有,优化后的性能大概怎样?
有的,我们在 ESP32-S2 上优化了 JPEG 解码。480*320 分辨率的图片,优化了30%-40%,达到 13 FPS 左右。
2. ESP_H264 有支持 H264 的解码吗?
有的,我们已经在ESP32 S3 上对 H264 解码进行了优化,预计会在 ESP_H264 下一个大版本 v1.0.0 中释放。如果需要提前使用的客户,可以通过客户支持团队(https://www.espressif.com/zh-hans/contact-us/sales-questions)联系我们。另外,我们新的芯片ESP32-P4 支持了1080P 的 H264 编码,敬请关注。
3. RTMP 远程控制面板的方案中最多可以连接多少个屏幕?连接屏幕多少受什么限制吗?
理论上来说只受内存资源的限制,我们以往测试过 5 个屏幕连接的场景。
4. 视频对讲方案中,可以支持多大的屏幕?帧率怎么样?
可以支持 800*480 分辨率屏幕,帧率 13 帧左右。
5. 请问贵司的音频 Codec 都支持哪些?
目前市场上主流的音频编解码器都支持,乐鑫自 2016 年就开始做音频相关的产品和方案,我们也是最早基于 RTOS 做智能音箱的芯片厂家,我们已经支持的音频编解码有 MP3、MP4、OGG、FLAC、AAC、WAV、AMR 等。
6. ESP32-S3 在 320*480 分辨率下帧率能达到什么水平?如何搭配才能实现最优性能?
用 ESP32-S3R8 ,CPU 240MHz ,Flash 120MHz 的情况下,320*480 JPEG 编码在 18 帧左右,解码在 30 帧左右。
ESP32-S3 上的可定制语音命令识别
1. 如何配置 AFE 组件?例如,如何在保持其他模块禁用的情况下启用 VAD?
每个独立的组件在创建 AFE 句柄后都可以被启用或禁用。您可以参考 ESP-Skainet 中的示例(https://github.com/espressif/esp-skainet/blob/master/README_cn.md),该项目还提供了关于如何配置每个组件的详细文档。
2. 如何使用自定义命令替代默认命令?
如果您希望在默认命令的基础上添加新命令,您可以使用 esp_mn_commands_add 函数。如果您希望仅使用自定义命令,您可以首先清除默认命令,然后添加新命令。另一种选择是在烧录程序之前直接修改命令的 .txt 文件,这样您就不需要进行任何代码更改。
3. 如何使用自定义唤醒词?
我们提供构建定制唤醒词引擎的服务,现在需要一定数量的唤醒词录音,这些录音可以由我们录制或者由您提供。您可以线下联系我们(https://www.espressif.com/zh-hans/contact-us/sales-questions),以获取有关此过程的更详细信息。同时,我们正在积极开发可以减少需要人工数据的方法,期望在不久的将来可以实现不需要人工数据即可添加自定义唤醒词的技术。
4. 与其他语音命令识别系统相比,乐鑫的系统有哪些优势?
我们的系统非常轻巧且高度灵活。我们的语音命令识别系统在检测自定义命令时不需要任何额外的数据。除此之外,我们的系统是开源的,因此任何拥有 ESP32-S3 开发板的人都可以使用它并将其集成到自己的项目中。
5. 是否可以同时使用英语和中文的唤醒词或命令?
对于唤醒词来说,是的。我们的唤醒词引擎对语音语言没有要求。
对于语音命令,目前一次只支持一种语言,不能混合使用来自这两种语言的命令。
6. ESP-Skainet 一定要使用 Linux 系统吗?
如果你想要使用 ESP-Skainet 上面的例程,最好是在 Linux 环境下进行。因为我们在做开发包括测试时都使用的是 Linux 环境,但实际上 ESP-IDF 也支持多平台上的编译,只要IDF可以在您需要的平台上编译,esp-skainet 和 esp-sr 对于编译平台没有限制。
如何将 ESP-Mesh-Lite 方案与 ESP RainMaker 云结合方案及应用,在实际应用场景中工作
1. ESP-Mesh-Lite 与 ESP RainMaker 相结合主要解决的是什么问题?
ESP RainMaker 云端让网络下的每一个设备节点拥有外部 IP,能被单独发现并且控制。方便定位问题并为每一个节点实现预防性维护。ESP-Mesh-Lite 大幅度缓解了路由器覆盖距离限制和多节点通信的压力。
2. ESP RainMaker 相比于一些第三方 SAAS 平台的优势是什么?
ESP RainMaker 可以最大程度保障客户经营独立性,品牌以及产品的竞争力。同时帮助客户降低研发成本,加速产品研发进度。
3. ESP-Mesh-Lite 网络中接入的最大节点数是多少?
ESP-Mesh-Lite 中至多可以添加 100 个设备。
4. ESP-Mesh-Lite 随着加入的设备数量增多,内存资源和路由资源是否会被消耗?
ESP-Mesh-Lite 要求的内存资源并不会随着子节点增多而增加。同时路由下连接的设备数量只记录根节点数量,并不会受到大量子节点接入的影响。
5. ESP-Mesh-Lite 的最大传输距离是多少?
在没有中继节点跳转的情况下,两个 Mesh 设备节点之间可以达到 100 米以上的距离,在没有干扰的情况下通讯距离能够达到更远。
6. ESP-Mesh-Lite 网络中是否需要所有智能设备使用同一种物模型或芯片?
不需要。 只要是 ESP-Mesh-Lite 支持的乐鑫 SOC,如 ESP32-C 系列,ESP32-S 系列都可以在 Mesh 网络中互联互通,同时不需要设备物模型相同,支持一个 Mesh 网络中存在多种设备类型。
7. ESP-Mesh-Lite 和 ESP RainMaker 方案相结合对什么 SoC 芯片适用?
ESP-Mesh-Lite 和 ESP RainMaker 方案相结合适用于除 8266 以外的所有乐鑫在售 Wi-Fi 芯片模组,其内存要求极低,因此极具性价比的 ESP32-C2 也能够满足。
8. ESP-Mesh-Lite 可以匹配自己的服务器吗?
ESP-Mesh-Lite 是一个组网方案,用户可以借助它使用任何网络应用。乐鑫的 ESP RainMaker 深度适配了 ESP-Mesh-Lite,配合 ESP RainMaker 的开源固件代码,用户可以更加方便地基于 ESP-Mesh-Lite 实现自己的应用与业务逻辑。在 ESP-Mesh-Lite 的 ESP RainMaker 示例(https://github.com/espressif/esp-mesh-lite/blob/master/examples/rainmaker/led_light/README_CN.md)中,乐鑫的工程师已经实现快捷组网、组控群控、低延时操作等功能。用户可以基于上述示例进行深度定制。
通过 CI/CD 进行流水线开发
1.这两个工具可以分别单独使用吗?
可以,使用十分灵活,耦合很低。
pytest-embedded 需要的唯一接口就是编译文件的路径。不但提供了合适的默认值,也可以通过配置文件或者命令行来覆盖默认值。
idf-build-apps 也可以用于做单独的编译测试,测试项目是否能够正常编译。
2.未来对于 idf-build-apps 还有什么计划?
我们计划增加更多的格式输出支持,能够使报告更好地集成在 CI/CD 中。同时记录更多指标,例如 app 编译后的大小、app 编译的总时间和运行机等,便于后期的追踪。
3.我的项目较小,一定要用 idf-build-apps 才能用 pytest-embedded 吗?
不是的。
idf-build-apps 适用于有复杂编译矩阵的较大项目的 CI。如果项目较小,那么直接调用 idf.py build 更加简单。pytest-embedded 唯一需要的接口就是编译文件的路径。默认值就是 build 文件夹,同时也可以通过配置文件或命令行来覆盖默认值。

欢迎前往乐鑫官网(https://www.espressif.com)了解更多乐鑫产品和方案的信息。如果您寻求商务合作,或希望咨询相关问题,欢迎联系乐鑫客户支持团队(https://www.espressif.com/zh-hans/contact-us/sales-questions)。
感谢大家对乐鑫科技全球开发者大会的支持与关注,谢谢每位与我们交流互动,给予我们反馈的开发者。乐鑫将坚持创新,提供卓越的产品方案和专业的服务,回馈广大开发者。欢迎您前往“乐鑫全球开发者大会”合集专区,观看本次大会的所有演讲回放。