赞
踩
(2-1)开发环境搭建(基于Arduino)
(2-2)开发环境搭建(基于VS Code+PlatformIO)
(2-3)开发环境搭建(基于ESP-IDF软件)
(3-1)基础外设使用(GPIO)
(3-2)基础外设使用(USART)
笔者此前做过 STM32 的开发工作,使用过 HC05、ESP8266 模块。由于对智能家居比较感兴趣,所以选择乐鑫科技的 ESP32 作为开发硬件,在此基础上逐步探索 ESP32 的更多应用,达到自己动手做一些智能硬件的目的,使用此笔记来记录开发 ESP32 开发过程。
ESP 分组计划介绍 ESP32 基础知识、开发环境搭建、基础外设使用、蓝牙、WiFi 、使用微信小程序控制开发板硬件等,后续有想写的再补充。
开发过程中主要参考官方资料,包括官网、规格书、参考手册、编程指南、驱动包等。
❗强调一句,本文章只是对笔者自己开发过程的一个记录,不含有教程属性,不对结果负责,有写的不对的地方欢迎大家友善讨论。
之前使用 ESP8266 模组的时候,感觉乐鑫的文档做的很不错,后面出了各种型号的 ESP32,最近有时间,想入手一块 ESP32 的板子。点进乐鑫的官网,面对着琳琅满目的系列有点不知道怎么选。从我需求来说,想找一块带 WiFi 和蓝牙的板子,通过乐鑫的选型工具,最终选择了下面的模组。
虽然是选完了,但还是有点不太懂,比如 ESP32
、ESP32-S
、ESP32-C
、ESP32-H
、ESP32-WROOM-32E
、ESP32-D0WD-V3
都是啥意思。尤其是在网上看到这样一张图。
但看官网的介绍,S3 系列也有了低功耗蓝牙。有点懵,还是以官网介绍为准吧。
我们按照由大到小的分类来看 ESP32 系列。目前官网列出的 ESP32 主要系列有以下。(截止 2023-12-8)
系列 | MCU & WiFi & Bluetooh | **MCU ** | 单双核 | 系列拥有的芯片 |
---|---|---|---|---|
ESP32-S2 | 32-bit MCU & 2.4 GHz Wi-Fi | Xtensa 32 位 LX7 | 单核 | ESP32-S2、ESP32-S2FH2、ESP32-S2FH4、ESP32-S2FN4R2、ESP32-S2R2 |
ESP32-S3 | 32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE) | Xtensa 32 位 LX7 | 双核 | ESP32-S3、ESP32-S3FN8、ESP32-S3R2、ESP32-S3R8、ESP32-S3R8V、ESP32-S3R16V、ESP32-S3FH4R2 |
ESP32-C2 | 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE) | 32 位 RISC-V 处理器 | 单核 | ESP8684H1、ESP8684H2、ESP8684H4 |
ESP32-C3 | 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE) | 32 位 RISC-V 处理器 | 单核 | ESP32-C3、ESP32-C3FN4、ESP32-C3FH4、ESP32-C3FH4AZ |
ESP32-C6 | 32-bit RISC-V MCU & 2.4 GHz Wi-Fi 6 & Bluetooth 5 (LE) & IEEE 802.15.4 | 32 位 RISC-V 处理器 | 单核 | ESP32-C6、ESP32-C6FH4 |
ESP32-H2 | 32-bit RISC-V MCU & Bluetooth 5 (LE) & IEEE 802.15.4 | 32 位 RISC-V 处理器 | 单核 | ESP32-H2FH2、ESP32-H2FH4 |
ESP32 | 32-bit MCU & 2.4 GHz Wi-Fi & BT/Bluetooth LE | Xtensa 32 位 LX6 | 单/双核 | ESP32-DOWD-V3、ESP32-DOWDR2-V3、ESP32-U4WDH、ESP32-SOWD、ESP32-DOWD、ESP32-DOWDQ6、ESP32-DOWDQ6-V3 |
对于每一个具体的系列,比如 ESP32,其含有像ESP32-DOWD-V3
、ESP32-DOWDR2-V3
等不同的芯片,这些芯片之间有什么差异会放在芯片的章节搭配上芯片命名规则看更清晰。(呃,我的文章是在语雀写的,语雀支持文档内章节的跳转,但CSDN貌似不支持)
以我购买的ESP32-DevKitC-32E
开发板为例,板载的模组为ESP32-WROOM-32E
,板载的芯片为ESP32-DOWD-V3
。
那开发板和模组有啥关系呢?控制变量法,我们选择采用同一模组的不同型号开发板看看。例如下面这个音频开发板ESP32-LyraT V4.3
和以太网开发板ESP32-Ethernet-Kit
,采用的模组都是ESP32-WROVER-E
,看一下他们的框图。
由上图可见,采用同一型号模组的不同型号开发板,主要是其板载的硬件资源不一样,而硬件是与功能强相关的。比如有两块开发板都是用的是 STM32H743IGT6
芯片,一块板子要用来和其他板子进行RS485
通信,那板子上就需要有电平转换芯片。一块板子用来做电机控制,那就需要有电机控制芯片。
所以,在模组的外围接上与功能相对应的外围电路,即可组成开发板。像我购买的开发板,没有什么特殊的音视频需求,WiFi 和蓝牙需求模组均可以满足,就无须额外接电路,把电源、复位、IO 引出即可。
有点不太明白的是,60 多块钱的开发板,怎么不多接一个 LED 灯在 GPIO 上,看板子的布局也不是特别紧凑。是想着不占用任何一个 IO?全提供给用户使用?
模组和芯片有啥关系呢?把选型工具图中右侧的框图放大就能看出来了。给芯片接上电源、晶振、复位电路、SPI Flash、天线之后,就变成了模组。
同一个型号的模组例如ESP32-WROOM-32E
所用的芯片是一样的,那为啥同一个模组下还分那么多的后缀型号呢?区别就在于模组内封装的 SPI Flash、PSRAM、适用的环境温度不一样,看下表即可。
再比如与ESP32-WROOM-32E
很像的还有一个模组叫ESP32-WROOM-32UE
,一个字母之差,区别就在于两者的天线形式不一样,所导致的模组尺寸也不一样。两个模组内含有的型号都很相似。
以我购买的ESP32-DevKitC-32E
开发板为例,板载的模组为ESP32-WROOM-32E
,板载的芯片为ESP32-DOWD-V3
。
不同的芯片,主要是其内核数量、封装 Flash 大小、封装、芯片版本不一样。
再来一次,以我购买的ESP32-DevKitC-32E
开发板为例,板载的模组为ESP32-WROOM-32E
,板载的芯片为ESP32-DOWD-V3
为例。
我手上的开发板型号为ESP32-DevKitC-32E
,使用的模组为 ESP32-WROOM-32E
。
开发板图片如下。
主要组件 | 基本介绍 |
---|---|
ESP32-WROOM-32 | 基于 ESP32 的模组。更多详情,请见 《ESP32-WROOM-32 技术规格书》。 |
EN | 复位按键。 |
Boot | 下载按键。按下 Boot 键并保持,同时按一下 EN 键(此时不要松开 Boot 键)进入“固件下载”模式,通过串口下载固件。 |
USB-to-UART 桥接器 | 单芯片 USB-UART 桥接器,可提供高达 3 Mbps 的传输速率。 |
Micro USB 接口。 | USB 接口,可用作电路板的供电电源,或连接 PC 和 ESP32-WROOM-32 模组的通信接口。 |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。