搜索
bottom↓
回复: 0

《DNESP32S3使用指南-IDF版_V1.6》第九章 IDF组件注册表

[复制链接]

出0入234汤圆

发表于 昨天 17:42 | 显示全部楼层 |阅读模式
本帖最后由 正点原子 于 2024-7-15 17:42 编辑

2.jpg
1)实验平台:正点原子ESP32S3开发板
2)购买链接:https://detail.tmall.com/item.htm?id=768499342659
3)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-347618-1-1.html
4)正点原子官方B站:https://space.bilibili.com/394620890
5)正点原子手把手教你学ESP32S3快速入门视频教程:https://www.bilibili.com/video/BV1sH4y1W7Tc
6)正点原子FPGA交流群:132780729
1.png
3.png


第九章 IDF组件注册表


       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/。打开以后如下图所示:

第九章 IDF组件注册表1216.png
图9.1.1 IDF组件注册表

       从上图可清晰看出,我们可以通过②或③选项对组件进行筛选,以排除那些不支持ESP-IDF特定版本或特定芯片的第三方库。同时,我们也可以在①处直接搜索需要添加的组件。例如,作者就通过搜索功能找到了esp_jpeg这一JPEG解码库(作者以esp_jpeg解码库组件为例,其他的组件是类似的),如下图所示。

第九章 IDF组件注册表1385.png
图9.1.2 esp_jpeg解码库

       在上图的页面中,我们可以轻松找到关于esp_jpeg的使用方法、芯片支持情况、使用示例以及添加组件的详细方法等内容介绍。这些内容具体如下:

       1,芯片支持
       esp_jpeg解码库可支持ESP32、ESP32-S3、ESP32-C3和ESP32-C6这些芯片型号,如下图所示:

第九章 IDF组件注册表1543.png
图9.1.3 esp_jpeg解码库可支持芯片型号

       2,使用要求
       开发时,需要查看esp_jpeg组件的使用要求,才能添加到项目当中。下图是官方提供的esp_jpeg解码库组件的使用要求。

第九章 IDF组件注册表1640.png
图9.1.4 esp_jpeg解码库组件使用要求

       这个解码库组件对MCU、存储内存以及LCD都有明确的使用要求。如果设备未能满足这些要求,那么将无法顺利使用该解码库组件。因此,在选择和使用此组件时,务必确保设备满足相应的硬件条件。

       3,使用示例
       通过命令的形式就可以下载esp_jpeg解码库组件的示例工程,如下图所示:

第九章 IDF组件注册表1803.png
图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的示例工程。如下图所示:

第九章 IDF组件注册表2000.png
图9.1.6 下载esp_jpeg组件示例

       这样我们就可以参考这个示例来编写自己的jpeg解码实验了。

       4,ESP-IDF版本要求
       esp_jpeg解码库组件只能在v4.4以上版本运行,如下图所示:

第九章 IDF组件注册表2102.png
图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-IDF 5.1 PowerShell”进入00_basic工程目录下,如下图所示:

第九章 IDF组件注册表2589.png
图9.2.1.1 命令进入00_basic工程目录下

      (2)输入“idf.py add-dependency "espressif/esp_jpeg^1.0.5~2"”命令,如下图所示:

第九章 IDF组件注册表2685.png
图9.2.1.2 下载esp_jpeg解码库idf_component.yml文件

      此时,我们会发现基础工程00_basic的main文件夹下多了一个idf_component.yml,如下图所示:

第九章 IDF组件注册表2787.png
图9.2.1.3 生成idf_component.yml

      (3)使用VS Code打开00_basic基础工程,然后线清除工程再编译此工程,编译成功之后,如下图所示:

第九章 IDF组件注册表2873.png
图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”即可展示出组件注册表,具体操作如图所示。

第九章 IDF组件注册表3393.png
图9.2.2.1 ESP-IDF注册表

      在搜索框中,我们可以方便地查找开发者所需的组件。请注意,下载ESP-IDF注册表中的组件需要在联网环境下进行,因此请确保您的电脑已连接到网络,以便顺利下载所需的组件。下面作者以qrcode为例来讲解。

第九章 IDF组件注册表3516.png
图9.2.2.2 选择版本并安装组件

      在上图中,首先选择适合的组件版本,随后点击“install”按钮以安装qrcode组件。请务必注意,选择与ESP32S3芯片适配的组件至关重要,因为并非所有组件都兼容这款芯片。为了筛选出与ESP32S3兼容的组件,开发者可以在图9.2.2.1中选择“By target”选项,并将其设置为ESP32-S3。这样,您就能清晰地查看到这款芯片所支持的组件列表。

第九章 IDF组件注册表3716.png
图9.2.2.3 下载qrcode组件

      从上图可见,我们只需点击图9.2.2.2中的“install”按钮,即可为项目工程安装qrcode组件。随后,espressif-qrcode组件将被下载至项目工程目录下,并在mian文件夹中自动生成idf_component.yml文件。完成这些步骤后,我们便可以在c文件中直接调用qrcode的相关函数了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-16 08:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表