- ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
- ❤️ 本篇创建记录 2024-11-27 ❤️
- ❤️ 本篇更新记录 2024-11-27 ❤️
- 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
- 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
1. 前言
欢迎大家来到ESP32-IDF的世界,从现在开始,博主将以自己的学习历程来讲述是如何入门学习ESP32-IDF,分享自己的学习经验。
熟悉博主的同学都知道,博主作为一个重度Arduino ESP8266 ESP32的爱好者,平常更多的是接触和使用Arduino For ESP平台来开发ESP8266和ESP32,也写了非常多这方面的教学教程。但是,随着乐鑫科技推出了ESP-IDF开发方式(我理解Arduino开发方式是在IDF上面架设了一层对于大多数人来说简单易用的开发方式),该方式已经成为商用产品的标配,在开发层面上具有更多的可能性,毕竟越底层的技术可自定义性越强。
引用官方的定义:
ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个
自给自足的 SDK
,方便用户在这些平台上开发通用应用程序。ESP-IDF 目前已服务支持数以亿计的物联网设备,并已开发构建了多种物联网产品,例如照明、消费电子大小家电、支付终端、工控等各类物联网设备。它具有一下优势:
- 免费开源
ESP-IDF 相关资源已在 GitHub 上免费开放(意味着我们可以直接下载所有源码和学习资料)
。用户可在 Apache 2.0 许可下以源代码形- 专业稳定
ESP-IDF 具有清晰、严格的发布流程和支持策略,确保用户选择使用稳定的发布版本
,并可持续获得适用于其应用的重要修复程序
。每个稳定的发布版本均经过严格的测试流程,以确保版本稳定,客户可快速实现量产(所谓量产,也就是商用)
。- 功能丰富的软件组件
ESP-IDF 集成了大量的软件组件,包括RTOS
、外设驱动程序
、网络栈
、多种协议实现技术
以及常见应用程序的使用助手
。它提供了典型应用程序所需的大部分构建块,用户在开发应用时只需专注于业务逻辑
即可。 ESP-IDF 不仅具有免费开源的开发工具,还支持Eclipse
和VSCode(推荐使用)
等 IDE,确保其易于开发人员使用。
- 丰富的文档和示例资源
ESP-IDF 提供详尽的软件组件使用和设计文档,有助于开发人员充分理解 ESP-IDF 功能,并从中挑选最适合构建其应用程序的模块。ESP-IDF 包含100 多个示例(直接运行案例看效果)
,详细说明了其组件及硬件外设的功能和用法。它们经过了严格的测试和维护,是用户开启应用开发的有效参考。
在开发生态来说,已经有相当完善的开发体系,所以值得入手学习一下,特别是以后会从事这一块工作的同学。
2. 学习方法
对于技术人员来说,学习任何一门技术,最好的学习方法就是看官网、文档和源码。
- 官网
https://www.espressif.com.cn/zh-hans/products/sdks/esp-idf
官网往往是很多资料的统一导航入口
- 文档
文档,直接看官方文档,没有之一。
https://docs.espressif.com/projects/esp-idf/zh_CN/v5.3.1/esp32/get-started/index.html
这里已经提供了详细的使用说明,强烈建议一定要认真读一遍。
- 源码
直接去到乐鑫科技的ESP-IDF github仓库,https://github.com/espressif/esp-idf
直接git clone https://github.com/espressif/esp-idf.git
clone源码下来有一个好处就是可以切换对应的稳定版本。
当然如果不知道git是什么,也可以直接下载zip源码文件下来。
截止到2024.11.27,最新稳定版本是V5.3.1
同时,我们也可以知道乐鑫科技关于ESP-IDF的版本发布计划。
以及对应版本所支持的芯片模组
版本越高,支持的芯片模组越多(当然一般新版本总会有一些小bug需要修复,但是对于初学者来说,还是建议学习新版本)。
3. 学习过程
博主这里主要分三步走:
- 第一步:先搭建好开发环境,主要就是采用VSCode + ESP-IDF插件方式,然后运行一下官方自带的hello world案例,确保整体环境搭建是没问题的。
- 第二步:后期的知识导入都是按照
运行案例看效果
->分析案例使用方法
->深入源码细看逻辑
的思路,主要还是网络编程tcp/http/mqtt等等,以及会慢慢接入到云平台。 - 第三步:会把之前做好的arduino案例移植到IDF平台,做到把知识运用到实际解决问题上。
4. 学习寄望
在信息技术飞快发展的今天,作为一名开发者,需要时刻保持不断学习的态度和能力。
通过这个系列的学习,希望能够深入掌握在ESP-IDF平台下掌握ESP32芯片的特性和应用,提供自己的编程能力和解决问题的能力。
当然,任何的学习总要给自己定一个目标(亿个小目标☝️)。
比如说,我要在ESP-IDF上实现一个智能家居作品。
比如说,我要把它当作我一个找工作的能力项,一个升职加薪的小点。
比如说,我看着别人会,我也想学习。
总之,不管是什么,学习就对了,过程是残酷的,结果是美好的。
在学习的道路上,不断探索,不断突破,成为更好的自己。
博主是这样的,相信大家也是一样的。一起加油!