今天,乐鑫很高兴地宣布,esp-iot-solution v2.0 版本已经发布,release/v2.0
分支下的正式版本组件将为用户提供为期两年的 Bugfix 维护(直到 2027.01.25 ESP-IDF v5.3 EOL)。该版本将物联网开发中常用的功能进行了分类整理,包括显示、照明、传感器、音频、电机控制、输入设备、USB 等。每个类别下都包含了多个功能丰富的组件,用户可以通过 ESP 组件管理器来单独安装、使用和更新。此外,该版本还提供了丰富的示例代码,帮助用户快速上手。以下将选取一些有代表性的组件进行介绍,更多组件的详细信息请参考 esp-iot-solution v2.0 文档。
基础组件
在物联网设备中,按键功能是不可缺少的一部分。在 esp-iot-solution v2.0
中,button
组件提供了一套完整的按键驱动和事件处理功能,支持单击、双击、长按等多种事件。支持多种按键类型,包括普通按键、ADC 按键、矩阵按键、自定义按键等。除外,还提供了按键防抖、按键休眠等功能。基于 button
组件,用户无需深入了解按键的底层驱动,只需关心按键的事件处理即可。
LED 指示灯同样是物联网设备中基础且必要的功能,它通过提供及时的视觉反馈,帮助用户快速了解设备状态 。在实际产品设计中,如何有效定义和管理 LED 指示灯,增强其灵活性和易用性,是一个值得思考的问题。esp-iot-solution v2.0
提供了一套完整的 LED 指示灯解决方案 led_indicator
,涵盖以下功能: LED 灯效设计(包括色彩、亮度、闪烁)、LED 优先级管理、LED 灯效切换。该组件兼容多种 LED 类型,包括单色 LED、RGB LED、WS2812 等。
电工照明
面向专业开发者和照明系统集成商,乐鑫提供了一套高性价比的照明解决方案,使用户能够快速开发出高性能、低功耗的智能照明产品。lightbulb_driver
组件整合了多种调光方案,通过一个抽象层简化了开发者的应用集成,全面支持 ESP32 系列的所有芯片。组件支持 PWM、IIC 及单总线等多种调光方案,包括 RGB+冷/暖色温、RGB+CCT/亮度等。同时,该组件提供丰富的功能,如渐变动效、白平衡校准、断电记忆和多达五种灯珠的组合配置,具有功率限制和低功耗特性。
过零检测是调光器的重要组成部分,用于检测电压或电流波形的零交叉点,以便在最佳时机对灯具进行调节,这不仅可以实现平滑无闪烁的调光效果,还能减少电磁干扰 (EMI),以及延长灯具的寿命。zero_detection
使用 MCPWM 捕捉或 GPIO 中断,检测信号周期和触发边缘,并判断信号的有效性、无效性、是否超出预期的频率范围以及信号丢失情况,并以事件的形式返回给用户进行实时处理,为调光器的设计提供了基础支持。
显示组件
乐鑫为开发者提供了从零开始构建 LCD 驱动的解决方案指南,详细覆盖 LCD 驱动开发到 GUI 应用的全过程。基于 ESP-IDF 的 esp_lcd 组件,提供了众多 LCD 驱动,支持 QSPI、RGB、MIPI 等多种接口。此外,该版本还创新性地提供了 esp_lcd_usb_display 组件,支持将 ESP32 的显示内容通过 USB 投射在 PC 上,显著提升调试和开发效率。
针对资源有限的设备,esp-iot-solution v2.0
提供了一套轻量级的文件系统管理工具:esp_mmap_assets。该组件支持图像数据的快速加载和显示。同时为了更好的支持 GUI 应用,向 LVGL 提供一套与文件系统交互的接口,支持从文件系统中加载字体、图片等资源。
USB 组件
UVC (USB Video Class) 是一种用于视频设备的 USB 设备类标准,usb_device_uvc
是基于 USB-OTG 外设的 UVC 设备类库,支持通过 USB-OTG 将 ESP32 的图像数据显示在 PC 等主机设备上。该组件支持多种分辨率、帧率、格式等参数设置,用户无需关心底层 USB 协议,只需注册回调函数即可按照 UVC 标准发送图像数据。基于该组件,用户可以开发标准 USB 摄像头、USB 显示器等功能。乐鑫还提供了一套完整的 UVC 设备示例,可以帮助用户将 ESP32-S3-EYE 开发板变成一个标准的 webcam。
esp_msc_ota
是一套基于 USB MSC (Mass Storage Class) 的固件升级方案,支持通过 USB 存储设备将固件自动更新到 ESP32 设备中。用户只需将固件文件拷贝到 USB 设备(如 U 盘)中,插入 ESP 设备的 USB 主机接口,即可实现固件升级。基于该组件,用户可以在无网络的条件下轻松实现固件升级。这一方案适用于一些无网络环境的设备,如户外广告屏、广告灯箱等。
电机控制
无刷直流 (Brushless Direct Current, BLDC) 电机,通过电子换向来实现更好的转速-转矩特性和快速的动态响应,已经成为现代工业和消费电子领域的重要组成部分。esp_sensorless_bldc_control
是一套完整的无感方波控制方案,支持 ADC 采样和比较器采样两种方式,支持位置估算、堵转保护、过流和欠压保护等功能。除此以外,我们还提供了一套完整的 BLDC 智能电风扇解决方案,支持无极调速、自然风、Rainmaker 远程控制等功能。
SimpleFOC 是一个流行的开源 FOC 控制库,esp_simplefoc
是基于 SimpleFOC 的 ESP32 适配版本,对外设接口进行了封装,使其支持任何带有 LEDC 或 MCPWM 的 乐鑫芯片,同时对 FOC 浮点计算进行了优化,进一步提高了控制效率。通过查看 esp-iot-solution
中提供的 FOC 示例,用户可以快速上手 FOC 控制,实现电机的高效控制。
大模型 (LLM) 接入
OpenAI 推出的 GPT 系列模型,如 GPT-3,已经成为自然语言处理领域的重要突破,为开发者提供了强大的自然语言处理能力。openai
组件是基于 OpenAI API 开发的 LLM 接入组件,支持文字、语音、图像等多种输入方式,支持多种输出格式,包括文字、语音、图像等。用户可以通过该组件使用 ESP 系列芯片快速接入 OpenAI API,实现自然语言处理功能。您可以通过 esp-box chatgpt_demo 示例了解如何使用 openai
组件。
通过 esp-launchpad 快速体验
esp-iot-solution v2.0
同时提供了 esp-iot-solution-launchpad, 用户可以通过网页端烧录预编译固件,无需安装任何开发环境,即可快速体验最新功能。
更多特性
esp-iot-solution v2.0
支持的完整组件列表如下,您可以通过点击链接查看更多详细信息。欢迎大家下载体验,如果您有任何问题或建议,请在 esp-iot-solution/discussions 中提出。