乐鑫发布 esp-iot-solution v2.0 版本

今天,乐鑫很高兴地宣布,esp-iot-solution v2.0 版本已经发布,release/v2.0 分支下的正式版本组件将为用户提供为期两年的 Bugfix 维护(直到 2027.01.25 ESP-IDF v5.3 EOL)。该版本将物联网开发中常用的功能进行了分类整理,包括显示、照明、传感器、音频、电机控制、输入设备、USB 等。每个类别下都包含了多个功能丰富的组件,用户可以通过 ESP 组件管理器来单独安装、使用和更新。此外,该版本还提供了丰富的示例代码,帮助用户快速上手。以下将选取一些有代表性的组件进行介绍,更多组件的详细信息请参考 esp-iot-solution v2.0 文档

基础组件

button

在物联网设备中,按键功能是不可缺少的一部分。在 esp-iot-solution v2.0 中,button 组件提供了一套完整的按键驱动和事件处理功能,支持单击、双击、长按等多种事件。支持多种按键类型,包括普通按键、ADC 按键、矩阵按键、自定义按键等。除外,还提供了按键防抖、按键休眠等功能。基于 button 组件,用户无需深入了解按键的底层驱动,只需关心按键的事件处理即可。

led_indicator

LED 指示灯同样是物联网设备中基础且必要的功能,它通过提供及时的视觉反馈,帮助用户快速了解设备状态 。在实际产品设计中,如何有效定义和管理 LED 指示灯,增强其灵活性和易用性,是一个值得思考的问题。esp-iot-solution v2.0 提供了一套完整的 LED 指示灯解决方案 led_indicator,涵盖以下功能: LED 灯效设计(包括色彩、亮度、闪烁)、LED 优先级管理、LED 灯效切换。该组件兼容多种 LED 类型,包括单色 LED、RGB LED、WS2812 等。

电工照明

lightbulb_driver

面向专业开发者和照明系统集成商,乐鑫提供了一套高性价比的照明解决方案,使用户能够快速开发出高性能、低功耗的智能照明产品。lightbulb_driver 组件整合了多种调光方案,通过一个抽象层简化了开发者的应用集成,全面支持 ESP32 系列的所有芯片。组件支持 PWM、IIC 及单总线等多种调光方案,包括 RGB+冷/暖色温、RGB+CCT/亮度等。同时,该组件提供丰富的功能,如渐变动效、白平衡校准、断电记忆和多达五种灯珠的组合配置,具有功率限制和低功耗特性。

zero_detection

过零检测是调光器的重要组成部分,用于检测电压或电流波形的零交叉点,以便在最佳时机对灯具进行调节,这不仅可以实现平滑无闪烁的调光效果,还能减少电磁干扰 (EMI),以及延长灯具的寿命。zero_detection 使用 MCPWM 捕捉或 GPIO 中断,检测信号周期和触发边缘,并判断信号的有效性、无效性、是否超出预期的频率范围以及信号丢失情况,并以事件的形式返回给用户进行实时处理,为调光器的设计提供了基础支持。

显示组件

display/lcd

乐鑫为开发者提供了从零开始构建 LCD 驱动的解决方案指南,详细覆盖 LCD 驱动开发到 GUI 应用的全过程。基于 ESP-IDF 的 esp_lcd 组件,提供了众多 LCD 驱动,支持 QSPI、RGB、MIPI 等多种接口。此外,该版本还创新性地提供了 esp_lcd_usb_display 组件,支持将 ESP32 的显示内容通过 USB 投射在 PC 上,显著提升调试和开发效率。

display/tools

针对资源有限的设备,esp-iot-solution v2.0 提供了一套轻量级的文件系统管理工具:esp_mmap_assets。该组件支持图像数据的快速加载和显示。同时为了更好的支持 GUI 应用,向 LVGL 提供一套与文件系统交互的接口,支持从文件系统中加载字体、图片等资源。

USB 组件

usb_device_uvc

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

esp_msc_ota 是一套基于 USB MSC (Mass Storage Class) 的固件升级方案,支持通过 USB 存储设备将固件自动更新到 ESP32 设备中。用户只需将固件文件拷贝到 USB 设备(如 U 盘)中,插入 ESP 设备的 USB 主机接口,即可实现固件升级。基于该组件,用户可以在无网络的条件下轻松实现固件升级。这一方案适用于一些无网络环境的设备,如户外广告屏、广告灯箱等。

电机控制

esp_sensorless_bldc_control

无刷直流 (Brushless Direct Current, BLDC) 电机,通过电子换向来实现更好的转速-转矩特性和快速的动态响应,已经成为现代工业和消费电子领域的重要组成部分。esp_sensorless_bldc_control 是一套完整的无感方波控制方案,支持 ADC 采样和比较器采样两种方式,支持位置估算、堵转保护、过流和欠压保护等功能。除此以外,我们还提供了一套完整的 BLDC 智能电风扇解决方案,支持无极调速、自然风、Rainmaker 远程控制等功能。

esp_simplefoc

SimpleFOC 是一个流行的开源 FOC 控制库,esp_simplefoc 是基于 SimpleFOC 的 ESP32 适配版本,对外设接口进行了封装,使其支持任何带有 LEDC 或 MCPWM 的 乐鑫芯片,同时对 FOC 浮点计算进行了优化,进一步提高了控制效率。通过查看 esp-iot-solution 中提供的 FOC 示例,用户可以快速上手 FOC 控制,实现电机的高效控制。

大模型 (LLM) 接入

openai

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 中提出。

Component Version
aht20 Stable v1.0.0
at581x Stable v1.0.0
avi_player Stable v1.0.0
ble_anp Beta v0.1.0
ble_conn_mgr Beta v0.1.2
ble_hci Stable v1.0.0
ble_hrp Beta v0.1.0
ble_htp Beta v0.1.0
ble_ota Beta v0.1.12
ble_services Beta v0.1.0
bootloader_support_plus Beta v0.2.6
button Stable v3.4.0
cmake_utilities Stable v1.0.0
drv10987 Beta v0.1.0
elf_loader Beta v0.1.0
esp_lcd_axs15231b Stable v1.0.0
esp_lcd_ek79007 Stable v1.0.1
esp_lcd_gc9b71 Stable v1.0.2
esp_lcd_hx8399 Stable v1.0.1
esp_lcd_jd9165 Stable v1.0.1
esp_lcd_jd9365 Stable v1.0.1
esp_lcd_nv3022b Stable v1.0.0
esp_lcd_panel_io_additions Stable v1.0.1
esp_lcd_sh8601 Stable v1.0.0
esp_lcd_spd2010 Stable v1.0.2
esp_lcd_st7701 Stable v1.1.1
esp_lcd_st7703 Stable v1.0.1
esp_lcd_st77903_qspi Stable v1.0.0
esp_lcd_st77903_rgb Stable v1.0.0
esp_lcd_st77916 Stable v1.0.0
esp_lcd_st77922 Stable v1.0.2
esp_lcd_touch_spd2010 Stable v1.0.0
esp_lcd_touch_st7123 Stable v1.0.0
esp_lcd_usb_display Stable v1.0.0
esp_lv_decoder Beta v0.1.2
esp_lv_fs Stable v1.0.0
esp_mmap_assets Stable v1.3.0
esp_msc_ota Stable v1.0.0
esp_sensorless_bldc_control Stable v1.0.0
esp_simplefoc Stable v1.0.0
esp_tinyuf2 Stable v1.0.0
extended_vfs Beta v0.3.2
gprof Beta v0.1.0
i2c_bus Stable v1.0.0
ina236 Beta v0.1.0
iot_usbh Beta v0.2.1
iot_usbh_cdc Beta v0.2.2
iot_usbh_modem Beta v0.2.1
ir_learn Stable v1.0.0
keyboard_button Stable v1.0.0
knob Stable v1.0.0
led_indicator Stable v1.0.0
lightbulb_driver Stable v1.3.3
ntc_driver Stable v1.1.0
openai Stable v1.0.1
pwm_audio Stable v1.1.2
spi_bus Stable v1.0.0
touch_proximity_sensor Beta v0.1.2
usb_device_uac Stable v1.0.0
usb_device_uvc Stable v1.1.2
usb_stream Stable v1.4.0
xz Stable v1.0.0
zero_detection Beta v0.0.6
相关推荐
gb42152873 小时前
com.github.gavlyukovskiy依赖是做什么的呢?
github
万维组态5 小时前
web组态可视化编辑器
前端·物联网·低代码·编辑器·人机交互·iot
xnqys7 小时前
怎么自己创建一个网站? 开发语言首选 java,使用CMS网站内容管理系统是不错的选择
java·开发语言·github
丸丸丸子w14 小时前
Github中PAT和SSHKeys区别
github
Yubaibaioo14 小时前
Github提交Pull Request教程 & Git基础扫盲(零基础易懂)
git·github
zyy2918291814 小时前
嵌入式Linux(SOC带GPU树莓派)无窗口系统下搭建 OpenGL ES + Qt 开发环境,并绘制旋转金字塔
linux·运维·数据库·嵌入式硬件·qt·物联网·系统架构
saku20 小时前
重要的AIGC开源热点都在这里了 AIGC Weekly #1
开源·github·资讯
前端 贾公子21 小时前
POP3/SMTP服务、获取授权码(以QQ为例)
git·github
油泼辣子多加21 小时前
2024年12月2日Github流行趋势
github
云卓SKYDROID1 天前
无人机主控芯片技术与算法详解!
科技·算法·安全·无人机·云卓科技