说到ESP8266,谁人不知?谁人不晓?2016年最火的WiFi模块,无疑是ESP8266。
2016年的ESP8266有多火,2017年ESP32就会有多火。说白了,今天我这身板放在这就是来招仇恨的,ESP32,现在就是你花钱也难买到,但是笔者手头就拿到了一块ESP32_Core_board_V2,是标准的乐鑫官方出品,这里允许所有的羡慕嫉妒恨!!!
ESP32_Core_board_V2
ESP32_Core_board_V2包含了一个核心ESP-WROOM-32模块以及一个扩展型功能底板。核心模块是基于乐鑫ESP32 WiFi/双模蓝牙 的单芯片SoC的模组,此模组经过大量的验证测试,所以如果对这个ESP32这颗Soc芯片感兴趣,建议先购买现成模块开发;而扩展型功能底板主要是一个将核心模块ESP-WROOM-32的IO引脚扩展出来,方便工程师开发调试,另外,底板也负责USB转串口以及给WiFi模块供电的职责。

来看下这小板子上的一些板载资源,板子上的唯一一个MicroUSB接口可用于模块的供电,USB转串口功能,板卡带有两个机械按键,需要注意的是,标明EN的是复位按键,而标明Boot的则为下载按键。

而开发板的背面的话则没有什么器件,两排排针引出了ESP32模块的大部分IO口,方便工程师根据自己的需求连接外设。

ESP-WROOM-32
ESP-WROOM-32模块基于乐鑫ESP32 WIFI/双模蓝牙 SoC芯片,是一款通用型WiFi-BT/BLE MCU 模组,功能还是非常强大的,用途更不用说了:Wi-Fi 支持大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播BLE Beacon 以便于信号检测。

ESP-WROOM-32模块的详细规格参数如下表:

物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
ESP32
由于手头没有热风枪,ESP-WROOM-32模块屏蔽罩内部的器件就不拆给大家看了,其实内部也没啥其它的,主要是乐鑫的ESP32 芯片(引脚图如下)以及还搭载了一个4MB的SPI FLASH,支持存放用户的应用程序。

ESP32 是集成2.4 GHz Wi-Fi 和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40 纳米工艺,拥有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,其内部的硬件系统框图如下:

可以看到,ESP32内部不仅集成2.4 GHz Wi-Fi 和蓝牙双模、XtensaR 32-bit LX6双核处理器,还包括天线开关、射频balun、功率放大器、低噪放大器、过滤器、电源管理模块和先进的自校准电路,可以极大的减少PCB设计的面积。尤其是ESP32的自校准电路,实现了动态自动调整,以消除外部电路的缺陷,更好地适应外部环境的变化。换句话说,ESP32 的批量生产可能并不需要昂贵的专用Wi-Fi 测试设备的支持,真正做到开发成本低。关于ESP32 Soc更详细的规格参数,可以参考下表。

(点击图片放大)
大概了解ESP32的基本情况后,实际上电来体验下。
物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
ESP32_Core_board_V2上电
通过MicroUSB线连接电脑

单看开发板是看出不出什么东西的,也不知道内置的软件是什么,通过PC段的设备管理器看到未安装完成的串口驱动

安装CP2102驱动,网上百度一搜,直接下载就行了
![]()
安装完成后通过串口可以看到串口打印的信息了。基本可以了解到开发板运行WiFi的AP模式。

用手机可以顺利的连接到这个热点。

串口也打印出相关连接上的日志

另外,在查看了ESP32的使用文档之后,也发现了这块板子另外的一些操作,比如长按板子的boot按键,同时按下EN复位按键,开发板进入下载模式,打印信息如下。

了解了板子出厂固件的基本情况,再来看看开发工具,如何开发ESP32_Core_board_V2板卡。
物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
开发环境
乐鑫官方是没有专门的IDE工具的,这时候,你又需要编译环境,又需要IDE工具,是不是会感觉忙得焦头烂额?如果工程师有自己擅长使用的第三方的IDE工具,那就喜欢哪种用哪种,但对于初学者或者不是太熟悉该如何开发的初学者来说推荐大家使用安信可的一体式开发环境,原因就是比较简单好用,而且在windows平台下开发。
首先需要下载3个工具,如下图所示,Cygwin.exe、Eclipse、ESP_IDE。

其中,Cygwin是一个在windows平台上运行的类UNIX模拟环境,它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。Eclipse,对,就是大家常用的第三方的IDE工具,有的工程师本身自己也在使用的话直接不用下了;而ESP_IDE,这是一个环境配置工具,用来选择相应程序的路径的。
这3个软件安装完之后我们先打开cygwin.exe,这3个软件最好不要安装在中文目录下,通过git将乐鑫的SDK包给下载到本地电脑中的项目文件夹下。

下载完SDK包我们就能通过ESP_IDE.exe配置路径,这3个路径根据实际的安装地址修改。

配置完成打开Elipse IDE工具。

导入刚刚下载下来的SDK包。

选中Existing Code as Makefile Project。

物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
新建一个项目名名称,选择对应的语言环境。选中 Cygwin GCC

点击Finish完成导入,项目列表如下:

默认的app代码是一个WiFi的一个station模式,此时要使ESP32正确连接路由器,需要配置SSID以及密码,如下图所示。

代码做简单的修改后我们还需要设置你整个项目build的位置,因为make要从app目录启动。
右键esp-idf项目→Properties ,单击 C/C++ Build,修改如下图

此时,我们具备了编译基础,接着需要配置 make menuconfig 和 make flash 两条指令 。
还是右键esp-idf项目,点击Make targets ,选择 Creat。

物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
make menuconfig 配置

make flash 配置

点击OK保存,点中你的esp-idf项目,然后可以通过快捷键 Shift + F9,弹出刚才新建的两个 Target

鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf,第一次的话我们需要配置下menuconfig。如果选择Elipse IDE下载的话,多数选择默认就行

下载的串口需要根据EPS32在你的电脑上的USB转串口号进行设置

完成后保存,我们可以看到Elipse的控制窗口正确的编译输出。

下载的还是通过点击esp-idf项目,通过快捷键 Shift + F9,选择Download。


当然,除了通过Elipse IDE工具下载,乐鑫也推出了官方的下载工具,一样可行,这里需要配置一下下载的文件,如下
- Bootloader.bin 烧写在0x1000
- 用户app 烧写在0x10000
- partitions_singleapp.bin 烧写在0x4000

下载完成,复位板子,我们可以看到串口的打印输出,正确连接到刚配置好的路由器上。

在路由器的管理后台中也可以看到连上的ESP32 WiFi模块

以及我们可以通过路由器局域网内的PC端连到ESP32 WiFi上。

除了WiFi ap/sta模式,乐鑫提供的SDK中还包括各种基础的例程,如下

这些例程相信玩过ESP8266的工程师都有接触过,当然,ESP32也有特别的地方,就是蓝牙,别忘了,ESP32较ESP8266一个重要的提升就是集成了双模蓝牙,可惜在SDK中就看到一个BLE的例程,还是有些问题的,反正笔者是暂时没有调试出来,哎,第一个吃螃蟹的人总是会遇到这种问题,惊喜交夹啊,慢慢来吧,后续有新进展了再更新。
小结
如果说2016让你见识了ESP8266大发神威,秒天秒地的霸占着市场,那2017年,真不敢想象,如果你还是单纯的只需要WiFi功能,那ESP8266仍是你的在方案可行的情况下衡量成本的第一选择,而如果你需要WiFi/蓝牙 功能,那ESP32就是给你最好的选择,别忘了,除了文章中提到的WiFi/双模蓝牙,ESP32还集成了强大的Tensilica LX6双核处理器,240MHz的最大主频,加上520KB SRAM,即使处理一些复杂的任务也不再话下,再说了,乐鑫ESP32最强大的武器依旧是强大的集成性搭配上足以让行业颤抖的价格,好了,就说那么多,为啥不说价格呢?因为现在基本上有钱也难买到,想尝试的伙伴等等吧,已经拿到的小伙伴就偷着乐吧,你已经走在了大部分人的前面了。最后想说去他的ST、TI、NXP、Microchip等等等,在中国,乐鑫ESP8266、ESP32模块一出,谁与争锋!!!
原创申明:本文为爱板网原创,谢绝转载!
物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。
说到ESP8266,谁人不知?谁人不晓?2016年最火的WiFi模块,无疑是ESP8266。
2016年的ESP8266有多火,2017年ESP32就会有多火。说白了,今天我这身板放在这就是来招仇恨的,ESP32,现在就是你花钱也难买到,但是笔者手头就拿到了一块ESP32_Core_board_V2,是标准的乐鑫官方出品,这里允许所有的羡慕嫉妒恨!!!
ESP32_Core_board_V2
ESP32_Core_board_V2包含了一个核心ESP-WROOM-32模块以及一个扩展型功能底板。核心模块是基于乐鑫ESP32 WiFi/双模蓝牙 的单芯片SoC的模组,此模组经过大量的验证测试,所以如果对这个ESP32这颗Soc芯片感兴趣,建议先购买现成模块开发;而扩展型功能底板主要是一个将核心模块ESP-WROOM-32的IO引脚扩展出来,方便工程师开发调试,另外,底板也负责USB转串口以及给WiFi模块供电的职责。

来看下这小板子上的一些板载资源,板子上的唯一一个MicroUSB接口可用于模块的供电,USB转串口功能,板卡带有两个机械按键,需要注意的是,标明EN的是复位按键,而标明Boot的则为下载按键。

而开发板的背面的话则没有什么器件,两排排针引出了ESP32模块的大部分IO口,方便工程师根据自己的需求连接外设。

ESP-WROOM-32
ESP-WROOM-32模块基于乐鑫ESP32 WIFI/双模蓝牙 SoC芯片,是一款通用型WiFi-BT/BLE MCU 模组,功能还是非常强大的,用途更不用说了:Wi-Fi 支持大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播BLE Beacon 以便于信号检测。

ESP-WROOM-32模块的详细规格参数如下表:

物联网开发板推荐:
- W7500评估板 一款基于Cortex-M0内核的单芯片解决方案,适用于各种嵌入式应用平台,尤其是物联网。
- Esquilo Air开发板 一款基于Cortex-M4F核心其功能全面的 IoT 开发系统,具有创建独立上网功能器件简化了物联网的开发过程。
- UDOO Quad 一款针对Android,Linux和Arduino和谷歌ADK2012等多功能开发平台的物联网解决方案。











