乐鑫发布 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 |
相关文章:

乐鑫发布 esp-iot-solution v2.0 版本
今天,乐鑫很高兴地宣布,esp-iot-solution v2.0 版本已经发布,release/v2.0 分支下的正式版本组件将为用户提供为期两年的 Bugfix 维护(直到 2027.01.25 ESP-IDF v5.3 EOL)。该版本将物联网开发中常用的功能进行了分类整…...

动态代理如何加强安全性
在当今这个信息爆炸、网络无孔不入的时代,我们的每一次点击、每一次浏览都可能留下痕迹,成为潜在的安全隐患。如何在享受网络便利的同时,有效保护自己的隐私和信息安全,成为了每位网络使用者必须面对的重要课题。动态代理服务器&a…...
Flutter 之 InheritedWidget
InheritedWidget 是 Flutter 框架中的一个重要类,用于在 Widget 树中共享数据。它是 Flutter 中数据传递和状态管理的基础之一。通过 InheritedWidget,你可以让子 Widget 在不需要显式传递数据的情况下,访问祖先 Widget 中的数据。这种机制对…...

AI 助力开发新篇章:云开发 Copilot 深度体验与技术解析
本文 一、引言:技术浪潮中的个人视角1.1 AI 和低代码的崛起1.2 为什么选择云开发 Copilot? 二、云开发 Copilot 的核心功能解析2.1 自然语言驱动的低代码开发2.1.1 自然语言输入示例2.1.2 代码生成的模块化支持 2.2 实时预览与调整2.2.1 实时预览窗口功能…...
MyBatis-Plus介绍及基本使用
文章目录 概述介绍MyBatis-Plus 常用配置分页插件配置类注解配置 快速入门maven 依赖编写配置文件编写启动类编写 MybatisPlus 配置类 代码生成器:MybatisPlusGeneratormaven依赖代码生成器核心类 概述 介绍 MyBatis-Plus(简称 MP)是一个 M…...

SpringBoot 整合 Avro 与 Kafka
优质博文:IT-BLOG-CN 【需求】:生产者发送数据至 kafka 序列化使用 Avro,消费者通过 Avro 进行反序列化,并将数据通过 MyBatisPlus 存入数据库。 一、环境介绍 【1】Apache Avro 1.8;【2】Spring Kafka 1.2…...
支持JT1078和GB28181的流媒体服务器-LKM启动配置文件参数说明
流媒体服务器地址:https://github.com/lkmio/lkm GB28181信令,模拟多个国标设备工具:https://github.com/lkmio/gb-cms 文章目录 gop_cachegop_buffer_sizeprobe_timeoutwrite_timeoutmw_latencylisten_ippublic_ipidle_timeoutreceive_timeo…...
什么是隐式类型转换?隐式类型转换可能带来哪些问题? 显式类型转换(如强制类型转换)有哪些风险?
C 中的隐式类型转换 定义:在 C 中,隐式类型转换是指由编译器自动执行的类型转换,不需要程序员显式地进行操作。这种转换在很多情况下会自动发生,比如在表达式求值、函数调用传参等过程中。常见场景 算术运算中的转换:…...
量化交易新利器:阿布量化(AbuQuant)——金融研究者的得力助手
🚀 量化交易新利器:阿布量化(AbuQuant)——金融研究者的得力助手 🚀 文章目录 🚀 量化交易新利器:阿布量化(AbuQuant)——金融研究者的得力助手 🚀dz…...
UI设计从入门到进阶,全能实战课
课程内容: ├── 【宣导片】从入门到进阶!你的第一门UI必修课!.mp4 ├── 第0课:UI知识体系梳理 学习路径.mp4 ├── 第1课:IOS设计规范——基础规范与切图.mp4 ├── 第2课:IOS新趋势解析——模块规范与设计原则(上).mp4…...
Uniapp自动调整元素高度
获取设备的像素 如果你想让元素的高度相对于整个屏幕的高度占用一定的比例,可以通过获取屏幕的高度,然后计算出你想要的比例来设置元素的高度。以下是如何实现的示例: <script setup> import { ref, onMounted } from vue;// 定义一个…...

软考高项经验分享:我的备考之路与实战心得
软考,尤其是信息系统项目管理师(高项)考试,对于众多追求职业提升与专业认可的人士来说,是一场充满挑战与机遇的征程。我在当年参加软考高项的经历,可谓是一波三折,其中既有成功的喜悦࿰…...

安全关系型数据库查询新选择:Rust 语言的 rust-query 库深度解析
在当今这个数据驱动的时代,数据库作为信息存储和检索的核心组件,其重要性不言而喻。然而,对于开发者而言,如何在保证数据安全的前提下,高效地进行数据库操作却是一项挑战。传统的 SQL 查询虽然强大,但存在诸…...
《C++ 模型训练之早停法:有效预防过拟合的关键策略》
在 C 模型开发的复杂世界里,过拟合犹如一个潜藏的陷阱,常常使我们精心构建的模型在实际应用中表现大打折扣。而早停法(Early Stopping)作为一种行之有效的策略,能够帮助我们及时察觉模型训练过程中的异常,避…...

5.11【数据库】第一次实验
民宿预定,至少有不同的民宿,民宿下面有不同的房间(面积,房间编号) 房间类型,单价, 可预订以及不可预订 游客信息 订单信息 公司有很多课程, 学生,课程 每位学生每期…...

【CSS in Depth 2 精译_062】第 10 章 CSS 中的容器查询(@container)概述 + 10.1 容器查询的一个简单示例
当前内容所在位置(可进入专栏查看其他译好的章节内容) 【第十章 CSS 容器查询】 ✔️ 10.1 容器查询的一个简单示例 ✔️ 10.1.1 容器尺寸查询的用法 ✔️ 10.2 深入理解容器10.3 与容器相关的单位10.4 容器样式查询的用法10.5 本章小结 文章目录 第 10…...

蓝桥杯每日真题 - 第23天
题目:(直线) 题目描述(12届 C&C B组C题) 解题思路: 题目理解: 在平面直角坐标系中,从给定的点集中确定唯一的直线。 两点确定一条直线,判断两条直线是否相同,可通过…...
# Vue 入门级教程三
在前两篇 Vue 入门教程中,我们已经熟悉了 Vue 的基础语法、数据绑定、指令以及组件化开发等核心概念。在本教程中,我们将进一步探索 Vue 的高级特性,包括过滤器、自定义指令、过渡效果以及 Vue 与后端数据交互等内容,让你能够构建…...

hint: Updates were rejected because the tip of your current branch is behind!
问题 本地仓库往远段仓库推代码时候提示: error: failed to push some refs to 192.168.2.1:java-base/java-cloud.git hint: Updates were rejected because the tip of your current branch is behind! refs/heads/master:refs/heads/master [rejected] (…...

PHP 方头像转为圆图
业务需要把创建海报上的用户头像由方形转为圆形,前端的样式设置不能用。 故采用GD的函数来对方图进行裁剪处理为圆图。 目录 裁剪函数 本地图片 远程图片 效果 参考文章 总结 裁剪函数 从网上找的一个裁剪图片的函数。 代码如下: /* * 将图片切…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...

VSCode 使用CMake 构建 Qt 5 窗口程序
首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...
记一次spark在docker本地启动报错
1,背景 在docker中部署spark服务和调用spark服务的微服务,微服务之间通过fegin调用 2,问题,docker容器中服务器来后,注册中心都有,调用服务也正常,但是调用spark启动任务后报错,报错…...

成工fpga(知识星球号)——精品来袭
(如需要相关的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH,关注即送200GB学习资料,链接已置顶!) 《孩子都能学会的FPGA》系列是成工完成的第一个系列,也有一年多的时…...

夏普比率(Sharpe ratio)
具有投资常识的人都明白,投资光看收益是不够的,还要看承受的风险,也就是收益风险比。 夏普比率描述的正是这个概念,即每承受一单位的总风险,会产生多少超额的报酬。 用数学公式描述就是: 其中࿱…...