乐鑫发布 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 快速体验

Try it with ESP Launchpad

esp-iot-solution v2.0 同时提供了 esp-iot-solution-launchpad, 用户可以通过网页端烧录预编译固件,无需安装任何开发环境,即可快速体验最新功能。

在这里插入图片描述

更多特性

esp-iot-solution v2.0 支持的完整组件列表如下,您可以通过点击链接查看更多详细信息。欢迎大家下载体验,如果您有任何问题或建议,请在 esp-iot-solution/discussions 中提出。

ComponentVersion
aht20Stable v1.0.0
at581xStable v1.0.0
avi_playerStable v1.0.0
ble_anpBeta v0.1.0
ble_conn_mgrBeta v0.1.2
ble_hciStable v1.0.0
ble_hrpBeta v0.1.0
ble_htpBeta v0.1.0
ble_otaBeta v0.1.12
ble_servicesBeta v0.1.0
bootloader_support_plusBeta v0.2.6
buttonStable v3.4.0
cmake_utilitiesStable v1.0.0
drv10987Beta v0.1.0
elf_loaderBeta v0.1.0
esp_lcd_axs15231bStable v1.0.0
esp_lcd_ek79007Stable v1.0.1
esp_lcd_gc9b71Stable v1.0.2
esp_lcd_hx8399Stable v1.0.1
esp_lcd_jd9165Stable v1.0.1
esp_lcd_jd9365Stable v1.0.1
esp_lcd_nv3022bStable v1.0.0
esp_lcd_panel_io_additionsStable v1.0.1
esp_lcd_sh8601Stable v1.0.0
esp_lcd_spd2010Stable v1.0.2
esp_lcd_st7701Stable v1.1.1
esp_lcd_st7703Stable v1.0.1
esp_lcd_st77903_qspiStable v1.0.0
esp_lcd_st77903_rgbStable v1.0.0
esp_lcd_st77916Stable v1.0.0
esp_lcd_st77922Stable v1.0.2
esp_lcd_touch_spd2010Stable v1.0.0
esp_lcd_touch_st7123Stable v1.0.0
esp_lcd_usb_displayStable v1.0.0
esp_lv_decoderBeta v0.1.2
esp_lv_fsStable v1.0.0
esp_mmap_assetsStable v1.3.0
esp_msc_otaStable v1.0.0
esp_sensorless_bldc_controlStable v1.0.0
esp_simplefocStable v1.0.0
esp_tinyuf2Stable v1.0.0
extended_vfsBeta v0.3.2
gprofBeta v0.1.0
i2c_busStable v1.0.0
ina236Beta v0.1.0
iot_usbhBeta v0.2.1
iot_usbh_cdcBeta v0.2.2
iot_usbh_modemBeta v0.2.1
ir_learnStable v1.0.0
keyboard_buttonStable v1.0.0
knobStable v1.0.0
led_indicatorStable v1.0.0
lightbulb_driverStable v1.3.3
ntc_driverStable v1.1.0
openaiStable v1.0.1
pwm_audioStable v1.1.2
spi_busStable v1.0.0
touch_proximity_sensorBeta v0.1.2
usb_device_uacStable v1.0.0
usb_device_uvcStable v1.1.2
usb_streamStable v1.4.0
xzStable v1.0.0
zero_detectionBeta v0.0.6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/480233.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【爬虫框架:feapder,管理系统 feaplat】

github:https://github.com/Boris-code/feapder 爬虫管理系统 feaplat:http://feapder.com/#/feapder_platform/feaplat 爬虫在线工具库 :http://www.spidertools.cn :https://www.kgtools.cn/1、feapder 简介 对于学习 Python…

uni-app 蓝牙开发

一. 前言 Uni-App 是一个使用 Vue.js 开发(所有)前端应用的框架,能够编译到 iOS、Android、快应用以及各种小程序等多个平台。因此,如果你需要快速开发一款跨平台的应用,比如在 H5、小程序、iOS、Android 等多个平台上…

C语言——海龟作图(对之前所有内容复习)

一.问题描述 海龟作图 设想有一只机械海龟,他在C程序控制下在屋里四处爬行。海龟拿了一只笔,这支笔或者朝上,或者朝下。当笔朝下时,海龟用笔画下自己的移动轨迹;当笔朝上时,海龟在移动过程中什么也不画。 …

【Maven】继承和聚合

5. Maven的继承和聚合 5.1 什么是继承 Maven 的依赖传递机制可以一定程度上简化 POM 的配置,但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本,且这些模块之间不存在依赖关系,这就导致同一个依赖…

Android 性能优化:内存优化(理论篇)

内存作为App程序运行最重要的资源之一,需要运行过程中做到合理的资源分配与回收,不合理的内存占用轻则使得用户应用程序运行卡顿、ANR、黑屏,重则导致用户应用程序发生 OOM(out of memory)崩溃。喜马直播随着近些年的业…

技能之发布自己的依赖到npm上

目录 开始 解决 步骤一: 步骤二: 步骤三: 运用 一直以为自己的项目在github上有了(之传了github)就可以进行npm install下载,有没有和我一样萌萌的同学。没事,萌萌乎乎的不犯罪。 偶然的机…

【选择排序和交换排序】直接选择排序、堆排序、冒泡排序、快速排序

【选择排序和交换排序】直接选择排序、堆排序、冒泡排序、快速排序 1. 选择排序1.1 直接选择排序1.1.1详细过程1.1.2 代码实现1.1.3 复杂度和稳定性 1.2 堆排序 2. 交换排序2.1 冒泡排序2.1.1 代码实现2.1.2 复杂度和稳定性 2.2 快速排序——挖坑法2.2.1详细过程2.2.2 代码实现…

DI依赖注入详解

DI依赖注入 声明了一个成员变量(对象)之后,在该对象上面加上注解AutoWired注解,那么在程序运行时,该对象自动在IOC容器中寻找对应的bean对象,并且将其赋值给成员变量,完成依赖注入。 AutoWire…

51c大模型~合集79

我自己的原文哦~ https://blog.51cto.com/whaosoft/12661268 #还是回谷歌好 创业一年半,胖了30斤,AI大佬感叹 回到大厂,和老领导重聚。 「由于工作强度和不健康的生活方式,我已胖了 15 公斤。」 本周一,知名 AI 学…

工业AI质检 AI质检智能系统 尤劲恩(上海)信息科技有限公司

来的现代化工厂,将逐步被无人化车间取代,无人工厂除了产线自动化,其无人质检将是绕不开的话题。尤劲恩致力于帮助工业制造领域上下游工厂减员增效、提高品质效率,真正实现无人质检IQC/IPQC/OQC的在线质检系统。分析生产环节真实品…

【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…

ELK(Elasticsearch + logstash + kibana + Filebeat + Kafka + Zookeeper)日志分析系统

文章目录 前言架构软件包下载 一、准备工作1. Linux 网络设置2. 配置hosts文件3. 配置免密登录4. 设置 NTP 时钟同步5. 关闭防火墙6. 关闭交换分区7. 调整内存映射区域数限制8. 调整文件、进程、内存资源限制 二、JDK 安装1. 解压软件2. 配置环境变量3. 验证软件 三、安装 Elas…

视频汇聚平台Liveweb国标GB28181视频平台监控中心设计

在现代安防视频监控领域,Liveweb视频汇聚平台以其卓越的兼容性和灵活的拓展能力,为用户提供了一套全面的解决方案。该平台不仅能够实现视频的远程监控、录像、存储与回放等基础功能,还涵盖了视频转码、视频快照、告警、云台控制、语音对讲以及…

Linux 内核 调用堆栈打印函数

文章目录 内核函数调用堆栈打印1. dump_stack()一、作用二、工作原理三、实现方式四、示例实际演示 2.WARN_ON()3. panic()一、函数作用二、函数行为三、panic() 函数的参数四、使用场景 4. BUG_ON()使用场景 内核函数调用堆栈打印 1. dump_stack() dump_stack()是Linux内核中…

C语言——指针初阶(一)

目录 一.什么是指针??? 指针是什么? 指针变量: 总结: 总结: 二.指针和指针类型 指针-整数: 总结: 指针的解引用 总结: 三.野指针 如何规避野指针 往期…

【Redis】Redis 预备知识

目录 1. 基本全局命令 KEYS EXISTS DEL EXPIRE TTL TYPE 2. 数据结构和内部编码 3. 单线程架构 Redis 提供了5种数据结构,理解每种数据结构的特点对于 Redis 开发运维非常重要,同时掌握每种数据结构的常见命令,会在使用 Redis 的时…

Facebook广告无法投放是什么原因?

Facebook作为全球知名的社媒平台,同时也成为许多知名海外企业的广告首选。但很投手在投放过程中也发现,Facebook 广告投放失败或者被拒投,那到底为什么呢? 其实Facebook广告有着非常严格的审核制度,通常投放失败可能是…

【uniapp】轮播图

前言 Uniapp的swiper组件是一个滑块视图容器组件&#xff0c;可以在其中放置多个轮播图或滑动卡片。它是基于微信小程序的swiper组件进行封装&#xff0c;可以在不同的平台上使用&#xff0c;如微信小程序、H5、App等。 效果图 前端代码 swiper组件 <template><vi…

【JavaEE】多线程(3)

首先回顾一下线程不安全的原因&#xff1a; 线程是随机调度&#xff0c;抢占式执行的修改共享数据&#xff0c;多个线程修改同一个变量多个线程修改共享数据的操作不是原子性&#xff0c;&#xff08;count是3个CPU指令&#xff0c;但是赋值操作就是原子性的&#xff09;内存可…

(0基础保姆教程)-JavaEE开课啦!--12课程(Spring MVC注解 + Vue2.0 + Mybatis)-实验10

一、常见的SpringMVC注解有哪些&#xff1f; 1.Controller&#xff1a;用于声明一个类为 Spring MVC 控制器。 2.RequestMapping&#xff1a;用于将 HTTP 请求映射到特定的处理方法上。可以指定请求类型&#xff08;GET、POST等&#xff09;和URL路径。 3.GetMapping&#xff…