由上述模组研发的开发板长这样:
是的,开发板上标有ESP-WROOM-32的部件就是上面的“模组”。开发板相比于“模组”又豪华了不少(终于有按键、USB接口、LED灯了),是不是想要马上写个点亮LED灯的程序呢?
2 开发模式
想要点亮LED灯?等等!我们先来聊聊如何将程序烧录到芯片、模组、开发板中。
首先,直接对那块黑黑的“芯片”进行烧录程序是困难的,试想,他连可以连接导线的铜箔引脚都没有,如何接通导线连接电源,如何下载程序?是的,我们不能直接对芯片进行软件开发。
目前,对ESP32进行开发主要有两种模式:模组方式、开发板方式
2.1模组方式:
需要的硬件:一块模组+USB转串口线+杜邦线+焊接工具
实物连接:
2.2开发板方式:
需要的硬件:开发板+一根USB线
实物连接:
你看,开发板模式的开发是不是更加便捷呢?无需自己焊接,用USB线连接开发板即可实现即插即用,开始开发之旅。
3. 硬件资源
通过以上的直观认识,你肯定发现了规律:从芯片→模组→开发板,他们的硬件资源越来越多了,开发板的硬件明显多于另外两者,对开发板开发只需要USB连接电脑即可。
下表给出了他们硬件资源的主要区别:(以上述芯片、模组为参考)
对象\硬件资源
|
时钟源
(电阻、电容组成的振荡器)
|
Flash
(存储代码的主要介质)
|
接口
(如I/O,USB)
|
UI(人际交互)
如(按键、LED、显示屏)
|
芯片
|
ⅹ
|
ⅹ
|
ⅹ
|
ⅹ
|
模组
|
√
|
√
|
ⅹ
|
ⅹ
|
开发板
|
√
|
√
|
√
|
√
|
还记得单片机/微机原理课上。老师说的单片机运行的最小系统吗?
没错,单片机运行程序的基本条件(也即最小系统):处理器(CPU芯片)+时钟源+电源+存储器。
时钟源、Falsh作为运行应用程序的基本条件,芯片本身并不具备该条件,因此,芯片本身并不能直接运行应用程序,模组在芯片的基础上,添加了运行程序的“基本条件”(尽管他需要自己焊接到对应的引脚),开发板不仅在模组的基础上满足运行程序的“基本条件”,而且提供了即插即用的接口和人机交互外设。
4.对应关系(一对几)
通过上述知识,你是否有这样的疑问,芯片、模组、开发板之间的对应关系是怎样的呢?
4.1芯片-模组对应关系
请看下图:
发现了吗?
第2、3、4模组,他们使用的芯片都是ESP32-D0WD,即芯片-模组的对应关系是:1-n(1对多),同一款芯片可以研发成不同的模组,那么为什么将同一芯片做成不同模组呢?
从上图你也许发现,使用的芯片相同,但不同模组的Flash大小、天线的材质、模组尺寸是不同的。是的,芯片到模组的演变经历了“定制化、专用化”的过程。模组最终会嵌入到电视、电冰箱、空调等不同的产品中去,对模组的存储空间大小、模组天线材质、模组的大小要求当然不一样。
通常,模组的研发是面向“产品”的,因为,模组研发的最终目的是将模组嵌入到目标产品(如,电视、电冰箱、空调)。ESP32-D0WD芯片提供了实现蓝牙和WiFI功能的内部集成电路,但A公司只需要WiFi功能,为满足A公司的需求,仅将ESP32-D0WD芯片的与WiFi功能相关的引脚引出,制作出一款“WiFi”模组(尽管ESP32-D0WD芯片也可以实现蓝牙功能,但A公司不需要,因此不对外提供ESP32蓝牙功能的接口了)。同理,B公司只需要蓝牙功能,为满足B公司的需求,仅将ESP32芯片的与蓝牙功能相关的引脚引出,制作出一款“蓝牙”模组。(当然,你可以选择同时实现蓝牙和WiFi功能,这样引出的引脚更多,模组体积可能更大,money也更多,所以,成本、功能、尺寸都是需要考虑的因素)
总之,ESP32-D0WD芯片提供了实现蓝牙和WiFI功能的完备硬件集,模组只是选取芯片的部分功能,并通过引出引脚接口提供给用户。
模组的研发过程如下:(从芯片到模组着实经历了一番不小的经历呢)
目前,除了ESP官方提供的模组和开发板,也有其他公司基于ESP官方提供的ESP-32芯片进行模组的开发,即芯片还是那个芯片,对芯片的外加工,如引线布局,时钟源功能电路设计等与官方不同。
4.2 模组-开发板对应关系
发现了吗?一款ESP-WROVER-B模组(板载ESP-D0WD芯片)可以开发出很多开发板:ESP-DevKitC、ESP32-LyraT等
同样,ESP-WROVER-IB模组(板载ESP-D0WD芯片)可以开发出很多开发板:ESP-DevKitC、ESP-WROVER-KIT-VIB等。等等,刚才不是说ESP-DevKitC由ESP-WROVER-B模组研发而来吗?为什么这里又说ESP-WROVER-IB模组开发出的开发板也叫做ESP-DevKitC?
是的,同一模组,可以嵌入到多个不同型号的开发板中。同一型号的开发板也可以使用不同的模组(他们只是名字一样,I/O数量、天线材质等不一样)。因此,模组与开发板(确切的说是开发板型号,不是开发板实体)的对应关系是多对多的关系。
(不同公司需要的I/O种类和数量不同,需要的UI方式也不同,有的需要显示屏,有的只需要LED灯就够了)
实际上,芯片只是“定义”了引脚功能,并未将引脚引出到可供连接的铜箔上,模组将部分引脚引出以供产品连接。
不同模组的功能可能不同,因为他们需要的资源不同,因此引出的引脚不同。
模组是面向“产品”的,最终目的是嵌入到产品内部,成为执行特定功能的模块(这也是模组概念的由来,模组,即执行特定的功能的模块,用于组合到产品中使用)
开发板是面向“测试学习”的,是一个假定的“产品”(你打开一个空调,他内部连接的是一个模组,不是一个开发板),是针对嵌入到其内部的模组,提供快速地学习了解,测试模组性能的工具。因此,开发板可看作模组到产品的一个“中间临时变量”,如下图所示:
我们很难一次性写出完全正确的应用程序代码,因此,尽管最终用到产品中去的是“模组”,但开发板的存在依然重要,在写应用程序时,将错误信息打印到开发板的显示屏上、或者通过LED灯显示程序出错的位置将大大加快开发的进程,保证程序的健壮性。在确保应用程序无误后,去掉代码中的“打印语句”(最终产品可能是一个无显示屏、无LED灯的设备),然后,将代码批量烧录到模组中,就得到执行我们指定应用功能的模组了,最后一步就是嵌入到产品中,成为执行一定功能的模块)。
5. 芯片、模组、开发板与软件资源的对应关系
由上述知识可知,一个芯片可以制定多个模组、一个模组可以嵌入到不同的开发板,一个型号的开发板内部使用的可以是不同的模组。从芯片到开发板,数量是越来越多了!
硬件的使用离不开软件的支持,那么,使用开发板进行学习、测试时的软件开发包(Software Develop Kit,SDK)是否如开发板数量一样很多呢。试想100个开发板对应100个SDK合理吗?
NO,选择合适的开发板已经够累人了,能不能针对我选的开发板快速给我一个SDK?
没问题,用它:ESP-IDF开发包即可。
实际上,ESP32系列的芯片只有一个大的“开发包”,或者说是开发框架(就是上面提到的ESP-IDF),其中包含了实现ESP32系列芯片所有底层功能的软件代码,也就是说,你选择的任意一款ESP32开发板,他对应的软件开发包只有一个:ESP-IDF。那么一个开发包如何兼容不同的开发板呢?ESP-IDF提供了图形化的配置工具:
根据ESP-IDF中的操作指南文档,在工程配置这一步骤中,打开如图所示的配置界面,就可以选择具体的芯片、模组、是否包含显示屏等选项,自动生成能够适用于指定开发板的代码。
是不是很方便尼?
总之,一个软件开发包(SDK)与芯片、模组、开发板的对应关系是一对多的,ESP-IDF开发包适用于所有ESP32系列的开发板。
1.芯片→模组→产品,是功能不断专用化、硬件资源不断丰富的过程。
2.开发板只是一个“模组→产品”过程中的“临时中间变量”,开发板用于对模组进行学习、测试,最终用到产品中的是烧录测试学习时保留下来代码的模组,而不是开发板。
3.芯片与模组的对应关系是一对多,模组与开发板的对应关系是多对多。
4.模组是面向“产品”的,开发板面向“学习测试”。
5.软件开发包(SDK)与芯片、模组、开发板的对应关系是一对多的,在开发包(ESP-IDF中)针对的是某款芯片的开发,是芯片功能实现的一个完备软件集(如,开发包中包含HTTP协议实现的软件,而你不需要用HTTP,忽略它,只配置使用自己需要的包即可),因此对于不同的开发板选择对应芯片的开发包即可。
6.芯片提供了实现芯片支持的所有功能的内部集成电路硬件资源,SDK提供了实现该芯片的所有功能的底层软件资源。因此,选择一块合适的开发板,只需要从选择一款合适的芯片即可(芯片数量相比于开发板数量少多了),不必大海捞针的去看每一个开发板的硬件手册;然后,依据芯片选择合适的模组;最后,再依据模组选择合适的开发板就可以开始了(至于软件包,你完全不必担心,反正ESP32系列芯片对应的开发包是同一个,即ESP-IDF)。
好了,选择一款自己喜欢的ESP32开发板,大胆的实现你的ideas吧。
(谢谢点赞或收藏)
参考:ESP32官方文档地址:
芯片概览 | 乐鑫科技
用户经常会遇到这种困惑,并希望将IoT功能添加到产品中,但是在选择解决方案时会纠结于他们。我应该选择
芯片
,模块还是
开发板
?要解决此问题,您必须首先弄清楚您的使用情况。
首先我们要了解“
芯片
”,“蓝牙模块”和“蓝牙
开发板
”它们之间有什么
区别
?
本文以FSC-BT806A模块为例,说明
芯片
,模块与
开发板
之间的
区别
和连接。
CSR8670
芯片
:
CSR8670
芯片
的尺寸仅为6.5mm * 6.5mm * 1mm。在如此小的空间中,它集成了核心CPU,射频,功率放大器,滤波器和电源管理模块等,具有超高的集成度,高
ESP32
-WROOM-32 是一款通用型Wi-Fi+BT+BLE MCU
模组
,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3 解码等。此款
ESP32
-WROOM-32
模组
的核心是
ESP32
-D0WDQ6
芯片
*,具有可扩展、自适应的特点。两个CPU 核可以被单独控制。时钟频率的调节范围为80 MHz 到240 MHz。
ESP32
-WROOM-32
模组
集成了传统蓝牙、低功耗蓝牙和Wi-Fi,具有广泛的用途:Wi-Fi 支持极大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播BLE Beacon 以便于信号检测。
ESP32
-WROOM-32 产品规格:
此文件夹中所包含的 ESP-WROOM-32
模组
的参考设计为 V1.0 版本,供采购乐鑫官⽅方的量量产
模组
的用户参考。另有 ESP-WROOM-32 参考设计 V1.1 版本,供自己设计
模组
的⽤用户参考。
请使用以下工具打开原理理图和 PCB 文件
SCH: Cadence/OrCAD Capture V16.6
PCB: Mentor Graphics/Pads VⅩ.2
附件资料截图:
在这篇文章中,我们将学习如何使用
ESP32
-CAM
开发板
来构建数码相机。按下重置按钮后,
开发板
将拍摄一张图像,并将其存储到microSD卡中,然后返回深度睡眠状态。我们使用EEPROM来存储并获取图像编号。
ESP32
-CAM板已包含本草图所需的相机模块,复位开关和microSD卡插槽。除此之外,您还需要一个microSD卡,一个5V电源以及一个USB到串行转换器来上传草图。
相同:都是基于功能划分的单位。比如说完成网络功能的组件、模块、完成统计功能的组件、模块; 这二者没有上下级的包含关系,模块可以由多个组件构建,独立的组件也通常由多个模块实现。不同:
组件,偏向发行的概念(outside):
1、强调的是“跨项目的可重用性”这层意思。比如“XXX采集卡通用远程监控组件”,表示这个东东是完成远程监控功能,并且是为...
物联网
模组
与
芯片
都是当下大家都很熟知的高科技产品,我们使用的电子设备几乎都装上了
芯片
,这时候就有很多朋友蒙圈了,
物联网
模组
与
芯片
到底有什么
区别
呢?要清楚这个问题,需要我们首先了解
芯片
和
物联网
模组
是什么东西,用在什么地方,就能清晰的知道
物联网
模组
与
芯片
的
区别
表现在那些方面,以下是详细内容,供大家参考。
芯片
概述
芯片
,别称微电路、微
芯片
、 集成电路。就是指含有集成电路的硅单晶,体积不大,像一块小小的四方形的饼干大小,经常是电子计算机或别的电子产品的一部分。
芯片
也是有它与众不同的地区,理论上,要是是应用超微粒生
在学校里学了这些知识,并没有时间思考这些之间概念之间的
区别
,一直注重渴望技术的提升,却忘了这些基础才是根本。蹭着在家的这一段时间,准备好好梳理一下之间的关系,这是一个宏大的框架,写下这些,也是因为在求职的时候对于这些涉及到了,加深一下自己的印象吧。不说了,直接入主题吧。
在嵌入式领域里,ARM本意是微处理器行业的一家知名企业,英国ARM公司是全球领先的半导体知识产权提供商。全球超过95%的...
这是一个技术问题,我可以为您提供帮助。要在 Arduino IDE 中添加
esp32
wroom-32
开发板
,您需要按照以下步骤进行操作:
1. 打开 Arduino IDE,选择“文件”菜单下的“首选项”选项。
2. 在“首选项”对话框中,找到“附加
开发板
管理器网址”一栏,点击右侧的图标进入编辑模式。
3. 在弹出的编辑对话框中,复制并粘贴以下网址:https://dl.espressif.com/dl/package_
esp32
_index.json 然后点击“确定”。
4. 关闭“首选项”对话框,重新打开“工具”菜单下的“
开发板
管理器”。
5. 在搜索框中输入“
ESP32
”,找到“
esp32
by Espressif Systems”选项,并点击“安装”。
6. 安装完成后,在“工具”菜单下选择“
开发板
”选项,找到“
ESP32
Dev Module”并选择。
7. 现在您可以开始使用 Arduino IDE 开发
ESP32
应用了!