您现在的位置是:网站首页> 硬件

ESP32 VS ESP8266

  • 硬件
  • 2021-10-26
  • 948人已阅读
摘要

ESP32和ESP8266是性价比非常高的Wi-Fi模块,非常适合物联网(IoT)领域的DIY项目。

两款芯片都属于32位处理器。ESP32是双核160MHz至240MHz CPU,而ESP8266是单核处理器,运行频率为80MHz。

这些WiFi模块都带有GPIO,支持SPI,I2C,UART等各种协议。最好的部分是它们带有无线网络,这使得它们与Arduino等其他微控制器区别开来。这意味着你可以通过Wi-Fi或蓝牙(ESP32)以极低的价格轻松地远程控制和监控设备。

1.jpg

规格:ESP32 vs ESP8266

该ESP32是ESP8266继任者。它增加了额外的CPU内核,更快的Wi-Fi,更多的GPIO,并支持蓝牙4.2和蓝牙低功耗。此外,ESP32配有触摸感应针脚,可用于唤醒ESP32深度睡眠,内置霍尔效应传感器和内置温度传感器。

两块板都非常便宜,但ESP32的成本略高。虽然ESP32的售价大约在6美元到12美元之间,但ESP8266的售价却在4美元到6美元之间(但这取决于你获得它们的位置)。

ESP32上有更多GPIO

该ESP32有更多的GPIO比ESP8266,你可以决定哪些引脚UART,I2C,SPI -你只需要设置的代码。这是可能的,因为ESP32芯片的多路复用功能允许你为同一个引脚分配多个功能。

如果你没有在代码上设置它们,它们将位于默认定义的引脚上,如下图所示(这是ESP32 DEVKIT V1 DOIT板的示例 - 引脚位置可能因制造商而异)。

2.jpg

PWM,ADC等

你可以在任何GPIO中设置PWM信号,并在代码上设置可配置的频率和占空比。

对于模拟引脚,这些是静态的,但ESP32支持18个通道(模拟使能引脚)上的测量,而ESP8266只有一个10位ADC引脚。ESP32还支持两个8位DAC通道。

此外,ESP32包含10个电容感应GPIO,可检测触摸并可用于触发事件,或唤醒ESP32深度睡眠。

Arduino IDE - ESP32 vs ESP8266

ESP32和ESP8266板的编程方法有很多种。目前,可以使用Arduino IDE编程环境对两个板进行编程。

3.png

这是一件好事,特别适合那些习惯Arduino编程并熟悉Arduino编程语言的人。

使用Arduino IDE开始使用ESP32或ESP8266并让你的第一个项目运行非常简单。网上有非常多的指南操作:比如在Arduino IDE中安装ESP32板(Windows说明);在Arduino IDE中安装ESP32板(Mac和Linux说明书);如何在Arduino IDE中安装ESP8266板等。

虽然你可以使用Arduino IDE对两个板进行编程,但它们可能与相同的库和命令不兼容。有些库只与其中一个板兼容。这意味着大多数时候你的ESP8266代码与ESP32不兼容。但是,通常你只需要进行一些修改。


MicroPython Firwmare - ESP32 vs ESP8266

另一种对ESP32和ESP8266板进行编程的流行方法是使用MicroPython固件。

4.png

MicroPython是针对微控制器和嵌入式系统的Python 3的重新实现。MicroPython与常规Python非常相似。因此,如果你已经知道如何使用Python编程,那么你也知道如何在MicroPython中编程。

在MicroPython中,大多数Python脚本都与两个板兼容(与使用Arduino IDE时不同)。这意味着大多数时候你可以为ESP32和ESP8266使用相同的脚本。

所以,此时你应该问: 我应该买ESP8266还是ESP32?

5.png

这真的取决于你想做什么。两块板都有使用的价值,两者都有利有弊。

ESP8266比ESP32便宜。虽然它没有那么多的功能,但对大多数简单的DIY物联网项目来说效果都不错。此外,由于它“较旧”,因此在软件方面受到更多支持,你可能会更容易找到帮助。但是,它在GPIO映射方面有一些限制,它可能没有足够的引脚用于你打算执行的操作。如果是这种情况,你应该使用ESP32。

ESP32比ESP8266 功能更强大,包含更多具有多种功能的GPIO,更快的Wi-Fi,并且还支持蓝牙。很多人认为ESP32比ESP8266更难处理,因为它更复杂。在我们看来,ESP32编程与ESP8266一样容易,特别是如果你打算用Arduino语言或MicroPython编程它。

另一方面,ESP32也有一些缺点。首先,它比ESP8266贵。因此,如果你正在制作一个简单的物联网项目,那么ESP8266可能会以更低的价格成功。此外,由于它比ESP8266更新,并非所有软件都是为了充分利用ESP32功能而开发的,因此支持更少,错误更多。但从长远来看,这些问题将得到解决,两个开发板都将有各自应用的空间。

我的个人经历:在2019年,我几乎完全使用ESP32进行物联网项目。它功能更多,并且具有更多功能,如蓝牙,不同的唤醒源,许多外围设备等等。此外,在我看来,价格的差异并不是什么大问题。我想,一旦你移植到ESP32,你就不会想回到ESP8266了。


Top