ESP32到底有多强,一起探究下

ESP32到底有多强,一起探究下 技术践行者 2023-05-11 08:44:23 1401

之前发了ESP8266,有人评论说玩下ESP32

一.功能强大

自带wifi+蓝牙是最大亮点!一起来看看ESP32的规格,就知道它强在哪里了。
● 内置WiFi和蓝牙,就不需要额外的以太网模块或wifi模块了,集成度高;
● 双核 CPU,可以主频为 80、160 或 240MHz。对于一个体积小巧的芯片中是相当多的计算了;
● 高级外设接口:I2C, SPI, CAN等,可以实现很多应用,不仅仅是个Wi-Fi MCU;
● 大量内存:ESP32包括 512KB 的片上 SRAM 存储器,还支持外部存储器,具体取决于主板,可能高达 4 到 8MB。这意味着ESP32 适用于一些较重的任务,例如连接摄像头、识别语音、从互联网流式传输数据等。

二.价格亲民

ESP32确实性价比非常高!不仅功能强大,而且价格便宜。不算flash,只要9元!
在现在这个时代,9元能买什么?!但却可以买到ESP32,让开发爱好者尽情激发自己折腾的冲动。
而且在疫情冲击下,半导体供应链面临的缺货问题,ESP 32也不存在!不缺货,也不涨价,性价比那么高,还有什么理由不用它呢?

三.IOT上近乎无敌

有网友毫不客气地说,IoT领域可能以后有ESP 32就没stm32什么戏唱了。虽然观点略显偏颇,但也不全无道理。
stm32是通用芯片,应用更全面;而ESP 32是物联网专用芯片,其算力性能,启动速度,稳定性,耐久度,可操作io数量及类型,啥都够,实在是太好用了。

然后就买了几个回来,当然,也想着和大家一起玩

介绍下这个开发板开发板Github项目链接

https://github.com/Xinyuan-LilyGO/T-QT

把仓库的代码下载到本地

我们可以用ESP-IDF和Arduino两个SDK来开发ESP32S3

ESP-IDF跑到是FreeRtos,搞嵌入式对看这个会觉得比较对口,Arduino更像是一个玩具。

ESP-IDF和Arduino都是用于开发ESP32的工具,它们各有优点和缺点。

ESP-IDF:优点:- 它是ESP32官方的开发框架,提供了更多底层控制和灵活性,适合需要高度定制化的项目。

- 提供了更全面的文档和示例。

- 支持FreeRTOS,可以实现多任务和多线程。

缺点:- 使用ESP-IDF需要更多的编程知识和经验。

- 开发过程可能需要更多的配置和调试。

Arduino:优点:- 对于初学者来说,Arduino更易于上手,具有更友好的用户界面和更简单的API。

- Arduino有大量的库和示例可供使用,可以大大缩短开发时间。

- Arduino的开发环境非常成熟,可以在多种操作系统上运行。

缺点:- Arduino的灵活性有限,对于需要更高级控制的项目可能会有局限性。

- 由于使用了更高级的API和库,Arduino可能会占用更多的资源,例如内存和处理器时间。

因此,选择使用ESP-IDF还是Arduino取决于个人需求和项目要求。

怎么安装ESP-IDF环境?直接按照官方的来就行了

https://docs.espressif.com/projects/esp-idf/zh\_CN/stable/esp32s3/get-started/linux-macos-setup.html

<pre style="color: rgb(0, 0, 0);font-size: medium;text-align: start;padding: 10px;background-color: rgb(250, 250, 250);border-width: 1px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);border-radius: 2px;overflow-x: scroll;">```
<span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">mkdir </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">-</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">p </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">~/</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">esp</span><span lang="EN-US"><p></p></span><br></br><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">cd </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">~/</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">esp</span><span lang="EN-US"><p></p></span><br></br><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">git clone </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">-</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">b v5</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(153, 153, 153);letter-spacing: 0pt;vertical-align: baseline;">.</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(153, 0, 85);letter-spacing: 0pt;vertical-align: baseline;">0.1</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;"> </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">--</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">recursive https</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">:</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(112, 128, 144);letter-spacing: 0pt;vertical-align: baseline;">//github.com/espressif/esp-idf.git</span><span lang="EN-US"><p></p></span><br></br><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">cd </span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">~/</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">esp</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">/</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">esp</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">-</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">idf</span><span lang="EN-US"><p></p></span><br></br><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(153, 153, 153);letter-spacing: 0pt;vertical-align: baseline;">.</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(154, 110, 58);letter-spacing: 0pt;vertical-align: baseline;">/</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">install</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;color: rgb(153, 153, 153);letter-spacing: 0pt;vertical-align: baseline;">.</span><span data-font-family="Monaco" style="font-size: 10.5pt;font-family: Monaco;letter-spacing: 0pt;vertical-align: baseline;">sh esp32s3</span><span lang="EN-US"><p></p></span><br></br>

我记录了下过程中常遇到的操作指令

<pre style="color: rgb(0, 0, 0);font-size: medium;text-align: start;padding: 10px;background-color: rgb(250, 250, 250);border-width: 1px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);border-radius: 2px;overflow-x: scroll;"><p style="line-height: 1.75em;margin-left: 16px;margin-right: 16px;"><code data-tco-code-type="cmake" style="background-color: inherit;"><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">. $HOME/esp/esp-idf/export.sh  //设置环境变量</span><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><p></p></span><br></br><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">idf.py set-target esp32s3 //设置编译芯片</span><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><p></p></span><br></br><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">idf.py menuconfig //配置</span><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><p></p></span><br></br></code></p><p style="line-height: 1.75em;margin-left: 16px;margin-right: 16px;"><code data-tco-code-type="cmake" style="background-color: inherit;"><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">idf.py build //编译</span></code></p><p style="line-height: 1.75em;margin-left: 16px;margin-right: 16px;"><code data-tco-code-type="cmake" style="background-color: inherit;"><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">idf.py -p PORT [-b BAUD] flash //多分区完整烧录</span></code></p><p style="line-height: 1.75em;margin-left: 16px;margin-right: 16px;"><code data-tco-code-type="cmake" style="background-color: inherit;"><span style="font-size: 10.5pt;vertical-align: baseline;letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;">idf.py app //编译应用app</span><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><p></p></span><br></br><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><span data-font-family="Monaco" style="letter-spacing: 2px;font-size: 10.5pt;vertical-align: baseline;">idf.py app-flash //烧录应用app</span><br></br><p></p></span><br></br><span style="letter-spacing: 2px;font-family: Optima-Regular, PingFangTC-light;"><span data-font-family="Monaco" style="letter-spacing: 2px;font-size: 10.5pt;vertical-align: baseline;">cp -r $IDF_PATH/examples/get-started/hello_world . //拷贝参考实例到当前目录</span><br></br><span data-font-family="Monaco" style="letter-spacing: 2px;font-size: 10.5pt;vertical-align: baseline;">git submodule update --init --recursiv //更新模块仓库</span><br></br></span></code></p>

安装Arduino直接官网下载安装

https://www.arduino.cc/en/software/

Arduino是这样管理库的

但是我们需把Github下载lib里面的东西替换到Arduino 的库目录下

好了,我们打开一个工程,然后编译烧录

就可以看到显示了

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
技术践行者
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区