IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 我的ESP32学习笔记(0) 写在前面 ,解决选择困境,找到学习ESP32的正确方法 -> 正文阅读

[嵌入式]我的ESP32学习笔记(0) 写在前面 ,解决选择困境,找到学习ESP32的正确方法

首先要说明一下,这是我自己学习ESP32的笔记,里面记录了我学习过程中的一些经验、心得、想法,我自己并不是专门从事ESP32的资深工程师,也不是乐鑫原厂的技术支持人员,所以存在错误在所难免。如果哪位朋友看到了我的文章,请仅作为参考,如发现有问题,欢迎留言指正,也欢迎技术讨论。

------------------------------------------------------这里是分界线---------------------------------------------------------

第一个问题:确定方案

最近由于有个项目要用到WiFI功能,在网上寻找了一下,最终选定了ESP32,所以特定买了块开发板来,边学习边开发。

为什么会选择ESP32呢?我是基于以下几点理由来选择的:

1、ESP32的功能丰富,相当于是MCU+WiFi+Bluetooth的合体,并且flash的空间也比较大,重要的是,价格还不贵;

2、乐鑫原厂对内核进行了封装,提供了丰富的API。之前我们做WiFi,除非是选择串口转WiFi的模块,否则一定会涉及到嵌入式操作系统(也就是linux),如果对linux没有了解的同学,那必定是很痛苦的。ESP32内嵌的是一个freeRTOS的小型操作系统,只要是对C语言有一定的基础,就可以着手进行开发。如果使用Arduino,那么会更简单;

用八字来概括就是:好用不贵,方便实惠。

------------------------------------------------------这里又是分界线------------------------------------------------------

第二个问题:确定编译环境

学习ESP32以来,感觉碰到的最大问题,就是选择困境。

程序本身并不复杂,但有一种不知道从哪里下手的感觉。

首先,从安装编译环境来讲,原厂就提供了几种方式(以ESP-IDF 4.3为例):

  • 完成 ESP-IDF 工具安装向导时运行 Run ESP-IDF Command Prompt (cmd.exe)

然后去网上一通搜索,发现各种教程和方法竟然是五花八门,有些是基于VS code编译环境的,有些是基于MicroPhthon,还有的基于Ardunio的,有些是基于AT指令集的。

还有开发板也是多种多样,有乐鑫原厂的,某宝上有多种多样的开发板,每一种开发板用的开发语言和编译环境还不一样。

选择哪一款开发板?使用哪种编译环境和语言?

我自己的体会,这是我学习ESP32感觉最难的地方-选择困境。为此我走了很多弯路。

------------------------------------------------------这里还是分界线------------------------------------------------------

第三个问题:我的经验总结和建议

走了很多弯路以后,我自己总结了几条经验,仅供参考,也许每个人的经验和能力不一样,选择会不一样。

1、根据学习目的来定。

如果学习ESP32只是出于兴趣爱好,想做一点物联网控制之类的demo来玩玩,满足一下自己的成就感,只要实现功能就行,对于稳定性无要求,我建议无脑选择Arduino。原因是Arduino的代码简单易学,并且Arduino有很多例程,在网上很多学习资料都是基于Arduino来写的,入门是最快的。

如果是用ESP32来做实际的产品或项目,或者如果要做音频应用ADF,建议一定要用原厂推荐的编译环境来做。也就是ESP-IDF CMD环境。原因是乐鑫原厂的API有很多例程,网站上对API也有详细说明,对于有可能出现的错误也做了很多处理。可以根据项目需求,选择他们的最接近的例程进行修改开发。

退一步来讲,如果感觉一开始就学IDF太难,可以先从Arduino,然后看Arduino调用了哪些API,来理解API的作用和调用方法。

总结起来就是:

用ESP32来玩:用Arduino;

用ESP32做量产产品:用IDF。

至于其他的,像MicroPhthon,Eclipse,VS code,除非你之前很熟,否则我建议初学阶段一律不要去碰。有时候编译通不过,一个小问题会搞得你怀疑人生。

至于开发板,其实不管哪一家的开发板,他使用的芯片都是ESP32,不同的开发板只是外面接的其他芯片不一样,从根本上来说,不影响我们的编程。

如果实在不好决定,我建议是:

玩家选择能提供Arduino例程和学习指南的开发板(哪一家提供的资料多就选哪家),做产品选择乐鑫原厂的开发板。毕竟万变不离其宗,我相信正品一定要比山寨版强。

今天先写这么多,下一篇记录怎么搭建编译环境。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章           查看所有文章
加:2021-12-16 17:50:31  更:2021-12-16 17:53:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 15:42:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码