网站搜索

我在错误的ESP板子上浪费了钱,因为没有人事先解释清楚


ESP32 是一块非常棒的小型板子。你可以用它在 15 分钟内修复你的 Wi-Fi 死角,甚至将它转换成完美的小型旅行路由器。然而,虽然 ESP32 板子看起来可能一样,但它们在内部可能有很大不同——这种差异可能会让你的项目彻底停滞。

我拥有好几个它们,但我总是买ESP32的时候认为它们都是一样的。事实证明,买错板子会产生很大差异,尤其是当你在做一些需要内存或涉及更重负载的工作时。

并非每块 ESP32 开发板都是一样的

隐藏主要硬件差异的命名混乱






混淆从命名本身就开始了。ESP32系列背后的公司Espressif已经发布了多代ESP32芯片。它们看起来相同,但如果仔细观察,会发现它们通过不同的后缀如S2、S3、C3等进行区分。

当人们随便说 ESP32-S 时,他们通常指的是 ESP32-S2(或经常指 ESP32-S3)。它们也不是小的硬件修订。这些是完全不同的芯片,具有各自独特的功能和不同的硬件需求。

原始的 ESP32 于 2016 年推出,是一个双核芯片,基于 Tensilica Xtensa LX6 处理器,主频高达 240 MHz,配备 520 KB 的 SRAM,并且具备 Wi-Fi 和蓝牙(经典蓝牙和 BLE)。ESP32-S2 是一个单核芯片,基于 LX7 处理器,只有 320 KB 的 SRAM,更重要的是,它完全不具备蓝牙功能。然而,ESP32-S3 配备双核 LX7 处理器,并增加了蓝牙 5.0,但仅支持 BLE。关键是,在外部 RAM 方面,它完全是另一种级别的芯片,通常配备高达 8 MB(或更多)的 PSRAM,这可能带来巨大的差异。

不幸的是,从仅将每个芯片标为“ESP32模块”的产品列表中,这些信息都不显而易见。

PSRAM 改变一切

决定项目是否真正有效的特性

当事情变得非常混乱时,是你在处理像 ESP32 AdBlocker 这样的项目时。如果你想把你的 ESP32 变成一个 DNS 汇聚点来阻止广告和跟踪器,你需要一块至少有 4 MB PSRAM 的板子,而不是市场上随便能找到的任何 ESP32 板子。

PSRAM 是一种外部 RAM,可以将芯片的可用内存远远扩展超过片上 SRAM。ESP32 AdBlocker 的 GitHub 文档明确指出,它需要一块带有 8MB PSRAM 的 ESP32-S3 来托管完整的屏蔽列表,而标准的 4MB PSRAM ESP32 可能会截断列表。两种版本从技术上都可以工作,但前提是它们必须有 PSRAM。

问题就在这里。仅仅因为你有一块ESP32板,并不意味着它配备了PSRAM——这意味着你可能能用它,也可能不能用于这个项目。对于这种工作负载,S3的速度大约是原始ESP32的两倍,项目文档声称域名搜索时间不到50微秒。

买了错误的开发板——一个没有 PSRAM 的基础版 ESP32-S2——项目根本无法正常运行。即使你通过在 Arduino IDE 中进行必要的修改成功将代码烧录到开发板上,它也没有足够的硬件来正确运行该项目。你也不会看到明确的错误,因为开发板很可能会陷入一个启动循环,在报告任何可用的错误信息到串行监视器之前就崩溃了。

在线列表让这变得比应该的更困难

混乱的规格、误导的标签和到处缺失的细节

问题不仅仅是Espressif的命名。零售商通过使用不一致的总称,如ESP32开发板、ESP32-S开发板或ESP32-S3开发板等,进一步加剧了混乱,这些名称都会出现在相同的搜索结果中。

同一芯片代内也存在 PSRAM 的差异。原始 ESP32 有带 PSRAM 和不带 PSRAM 的不同型号。WROVER 模块包括 PSRAM;更常见(且通常更便宜)的 WROOM 不包含。因此,你可能会得到一个技术上正确的原始 ESP32 开发板,但由于你不小心购买了错误的模块型号,它在依赖 PSRAM 的项目中仍然毫无用处。ESP32 可以为你的家庭网络做很多事情,但如果你买错型号,就不行。

最简单的方法是在购买开发板之前阅读项目的硬件要求。一般来说,原始的 WROVER 版本 ESP32 配备 4 MB PSRAM,适用于大多数中等复杂度的项目。具有 8MB PSRAM 的 ESP32-S3 是 DNS 黑洞和大数据集项目的最佳选择,而 ESP32-S2 更适合 USB OTG 和不需要蓝牙的功耗敏感应用。C3 或 C5 版本适用于其他所有情况,尤其是在简单、低功耗的传感器角色中。

在购买前检查你的ESP

一份可以节省金钱和避免烦恼的快速清单

所以在你购买下一个(或第一个)ESP32开发板之前,先问自己三个问题。项目是否需要蓝牙?如果需要,那就完全排除ESP32-S2。项目是否需要PSRAM?如果需要,明确寻找带有WROVER或标明自带PSRAM的S3开发板。最后但同样重要的是,如果项目的硬件说明中指定了特定的开发板或芯片型号,那么要相信说明而不是产品标题。

ESP32 生态系统非常令人兴奋,这些小型开发板功能强大,不管你最终购买的是哪个版本。但这种低成本也带来了命名混乱,大多数教程都没有说明。在购买之前花额外五分钟阅读文档,你就可以避免在等待新板到来的过程中,对手中那个功能完全正常但技术上有问题的板子感到沮丧。

相关文章