登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
《ESP32-S3使用指南—IDF版 V1.6》第九章 IDF组件注册表 ...
《ESP32-S3使用指南—IDF版 V1.6》第九章 IDF组件注册表
[ 复制链接 ]
颐港
7 天前
第九章 IDF组件注册表
1)实验平台:正点原子DNESP32S3开发板
2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6
3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659
4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/ATK-DNESP32S3.html
5)正点原子官方B站:https://space.bilibili.com/394620890
6)正点原子DNESP32S3开发板技术交流群:132780729
IDF组件注册表(IDF Component Registry)是一个为ESP-IDF(Espressif IoT Development Framework)开发框架提供的官方组件搜索和添加平台。开发者可以通过访问IDF组件注册表,搜索并找到所需的组件,然后按照提供的指南将组件添加到自己的ESP-IDF项目中。例如,如果开发者需要LVGL组件和USB组件,开发者可以在IDF组件注册表中搜索这两个组件,然后找到每个组件的添加代码。在终端窗口中,开发者可以输入这些添加命令来将组件添加到他们的项目中。一旦添加成功,这些组件就可以在项目中使用,从而简化了组件的集成过程。
本章将分为如下几个小节:
9.1 IDF组件注册表简介
9.2 项目工程如何添加组件
9.1 IDF组件注册表简介
IDF组件注册表是乐鑫官方专为ESP-IDF开发框架打造的一个组件搜索与添加平台。尽管ESP-IDF物联网开发框架的components文件夹内已包含诸如lwIP、MQTT等丰富的驱动程序和第三方组件,但这些组件主要服务于物联网领域,具有特定的专一性。部分第三方库并未直接集成于ESP-IDF中,为了提升开发者的工作效率,乐鑫官方推出了IDF组件注册表,其中存储了已适配的第三方组件供开发者使用。开发者只需联网,即可轻松下载并移植这些组件到自己的项目工程中。以下是IDF组件注册表的特点。
(1)简化组件搜索和集成:IDF组件注册表为开发者提供了一个集中化的平台,用于搜索和查找ESP-IDF项目中所需的组件。通过注册表,开发者可以轻松地浏览和筛选组件,根据项目的需求选择适合的组件,并快速集成到我们的项目中。
(2)提高开发效率:有了IDF组件注册表,开发者无需花费大量时间在互联网上搜索和评估各种组件。我们可以直接在注册表中找到经过验证和官方推荐的组件,这大大减少了寻找和测试组件所需的时间,从而提高了开发效率。
(3)确保组件兼容性和质量:IDF组件注册表中的组件都经过严格的测试和验证,以确保它们与ESP-IDF框架的兼容性和稳定性。这有助于减少项目中可能出现的兼容性问题,提高软件的质量。
(4)促进组件共享和复用:通过IDF组件注册表,开发者可以轻松地共享和复用他们创建的组件。这有助于推动ESP-IDF社区的发展,鼓励更多的开发者参与到组件的开发和贡献中,从而形成一个良性的生态循环。
(5)提供官方支持和文档:IDF组件注册表不仅提供了组件的搜索和添加功能,还为每个组件提供了详细的文档和官方支持。这有助于开发者更好地理解和使用组件,解决在使用过程中可能遇到的问题。
乐鑫官方的IDF组件注册表打开地址为:https://components.espressif.com/。打开以后如下图所示:
图9.1.1 IDF组件注册表
从上图可清晰看出,我们可以通过②或③选项对组件进行筛选,以排除那些不支持ESP-IDF特定版本或特定芯片的第三方库。同时,我们也可以在①处直接搜索需要添加的组件。例如,作者就通过搜索功能找到了esp_jpeg这一JPEG解码库(作者以esp_jpeg解码库组件为例,其他的组件是类似的),如下图所示。
图9.1.2 esp_jpeg解码库
在上图的页面中,我们可以轻松找到关于esp_jpeg的使用方法、芯片支持情况、使用示例以及添加组件的详细方法等内容介绍。这些内容具体如下:
1,芯片支持
esp_jpeg解码库可支持ESP32、ESP32-S3、ESP32-C3和ESP32-C6这些芯片型号,如下图所示:
图9.1.3 esp_jpeg解码库可支持芯片型号
2,使用要求
开发时,需要查看esp_jpeg组件的使用要求,才能添加到项目当中。下图是官方提供的esp_jpeg解码库组件的使用要求。
图9.1.4 esp_jpeg解码库组件使用要求
这个解码库组件对MCU、存储内存以及LCD都有明确的使用要求。如果设备未能满足这些要求,那么将无法顺利使用该解码库组件。因此,在选择和使用此组件时,务必确保设备满足相应的硬件条件。
3,使用示例
通过命令的形式就可以下载esp_jpeg解码库组件的示例工程,如下图所示:
图9.1.5 下载使用实例命令
在桌面上创建名为“test”的文件夹后,我们打开“ESP-IDF 5.1 PowerShell”窗口,并导航至该文件夹。在“test”文件夹内,我们执行命令“idf.py create-project-from-example'espressif/esp_jpeg^1.0.5~2:get_started'”来下载esp_jpeg的示例工程。如下图所示:
图9.1.6 下载esp_jpeg组件示例
这样我们就可以参考这个示例来编写自己的jpeg解码实验了。
4,ESP-IDF版本要求
esp_jpeg解码库组件只能在v4.4以上版本运行,如下图所示:
图9.1.5 ESP-IDF版本要求
从上图可以看到,本教程安装的ESP-IDF5.1.2可支持这一个组件库。
9.2 项目工程如何添加组件
9.2.1 命令式添加组件
在项目工程中添加IDF组件注册表的组件是非常简单的,我们只需要输入“idf.py add-dependency "espressif/esp_jpeg^1.0.5~2"”命令就可以把组件下载到项目工程当中了。注意:执行这条命令时,系统会在工程的main文件夹下生成idf_component.yml文件,工程编译时,系统从IDF组件注册表Git仓库获取组件。在 ESP-IDF 中,组件是代码和资源的集合,这些代码和资源可以单独编译并与其他组件一起链接,以构建最终的应用程序。每个组件都可以有自己的 idf_component.yml 文件,该文件提供了关于该组件的元数据信息,以及构建和集成该组件所需的指令。下面,作者以基础工程00_basic为例,在此工程下添加esp_jpeg解码库组件。
(1)使用“ESP-IDF5.1 PowerShell”进入00_basic工程目录下,如下图所示:
图9.2.1.1 命令进入00_basic工程目录下
(2)输入“idf.pyadd-dependency "espressif/esp_jpeg^1.0.5~2"”命令,如下图所示:
图9.2.1.2 下载esp_jpeg解码库idf_component.yml文件
此时,我们会发现基础工程00_basic的main文件夹下多了一个idf_component.yml,如下图所示:
图9.2.1.3 生成idf_component.yml
(3)使用VS Code打开00_basic基础工程,然后线清除工程再编译此工程,编译成功之后,如下图所示:
图9.3.1.3 自动下载esp_jpeg解码库
从上图可见,在编译00_basic基础工程时,系统会自动从IDF组件注册表中下载esp_jpeg解码库组件,并将其集成到我们的工程项目中。这就是IDF组件注册表的添加与使用机制。但请注意,若要通过IDF组件注册表添加组件,必须确保设备处于联网状态,否则下载操作将失败。因此,在USB实验中,作者选择直接将USB库放置到components文件夹中,一来为了保持工程结构清晰,二来避免在清除编译时误删managed_components文件夹。这样的处理方式确保了项目的结构清晰和编译的顺畅进行。
最后,我们可在.c文件下引用esp_jpeg解码库组件了。其他组件也是一样的操作流程。望读者可好好利用IDF组件注册表这一牛X的功能。
9.2.2 VS Code工程添加组件
在VS Code项目工程中添加IDF组件注册表中的组件十分便捷。您只需按下“Ctrl+Shift+P”快捷键快速进入命令面板,或者通过菜单栏的“查看”选项,选择“命令面板”来打开它。随后,在命令面板中输入“ESP-IDF: Show Component Registry”即可展示出组件注册表,具体操作如图所示。
图9.2.2.1 ESP-IDF注册表
在搜索框中,我们可以方便地查找开发者所需的组件。请注意,下载ESP-IDF注册表中的组件需要在联网环境下进行,因此请确保您的电脑已连接到网络,以便顺利下载所需的组件。下面作者以qrcode为例来讲解。
图9.2.2.2 选择版本并安装组件
在上图中,首先选择适合的组件版本,随后点击“install”按钮以安装qrcode组件。请务必注意,选择与ESP32S3芯片适配的组件至关重要,因为并非所有组件都兼容这款芯片。为了筛选出与ESP32S3兼容的组件,开发者可以在图9.2.2.1中选择“By target”选项,并将其设置为ESP32-S3。这样,您就能清晰地查看到这款芯片所支持的组件列表。
图9.2.2.3 下载qrcode组件
从上图可见,我们只需点击图9.2.2.2中的“install”按钮,即可为项目工程安装qrcode组件。随后,espressif-qrcode组件将被下载至项目工程目录下,并在mian文件夹中自动生成idf_component.yml文件。完成这些步骤后,我们便可以在c文件中直接调用qrcode的相关函数了。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
如何优雅上线、下线?原来 大厂应用 是这样 优雅发布的!
在 .NET 中将 EF Core 升级到 9.0.5 MySQL 连接提示 get_LockReleaseBehavior
开源情报中批判性思维因人工智能而逐渐衰落
sshd服务
AppFreeze与资源泄漏能力开放及常见问题定位方法介绍
人工智能将如何影响语言的演变?
【鸿蒙生态学堂03】应用程序框架基础
【UAP】使用 .NET Core App 编写 UAP
微软又退出中国。。。
【一步步开发AI运动APP】一、写在最前
HarmonyOS 5.0 分布式数据协同与跨设备同步
MOSN(Modular Open Smart Network)是一款主要使用 Go 语言开发的云原生网络代理平台
不是哥们,26 岁程序员,去种头发了?
在Ubuntu中部署.NET 8 Minimal WebAPI项目
Datawhale速通百炼RAG应用-Task1
记录---前端图像五兄弟:网络 URL、Base64、Blob、ArrayBuffer、本地路径,全整明白!
华为云昇腾专区重磅上线!带你入门昇腾AI技术与DeepSeek实践
JavaScript基础
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
颐港
7 天前
关注
0
粉丝关注
8
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9988
森萌黠
9996
堵赫然
9996
4
凶契帽
9996
5
处匈跑
9996
6
柴古香
9996
7
背竽
9996
8
斜素欣
9994
9
恐肩
9994
10
里豳朝
9994
查看更多