1. 物联网WiFi芯片选型

做物联网项目,第一步就是选芯片。选对了,后面顺风顺水;选错了,改板、重画、换方案,折腾死人。

我个人习惯,先看需求再定芯片。别一上来就追新,也别一味图便宜。今天咱们把三款主流WiFi芯片——ESP8266、ESP32、RTL8710——掰开揉碎讲清楚。

1.1 三款芯片核心参数对比

先看一张表,心里有个底。

参数项 ESP8266 ESP32 RTL8710
主频 80MHz(可超频至160MHz) 240MHz 双核 166MHz
SRAM 160KB(可用约50KB) 520KB + 4MB PSRAM 512KB
Flash 2MB~16MB(外挂) 4MB~16MB(外挂) 2MB~8MB(外挂)
WiFi标准 802.11 b/g/n 802.11 b/g/n 802.11 b/g/n
蓝牙 无 BLE 4.2 + Classic BT 无
GPIO数量 17个(部分复用) 34个 18个
ADC 1路10位 2路12位 1路12位
硬件加密 无 AES/SHA/RSA AES
工作温度 -40°C ~ 125°C -40°C ~ 125°C -40°C ~ 85°C
封装 QFN 5x5mm QFN 6x6mm QFN 5x5mm

关键点:ESP8266的SRAM是硬伤,实际可用只有50KB左右。做复杂协议栈或大缓冲区时,很容易爆内存。我踩过这个坑,后面细说。

1.2 选型考量三大要素

1.2.1 成本

做产品,成本是第一关。咱们直接看批量价(10K量级):

  • ESP8266:约 $0.80 ~ $1.20。最便宜,没有之一。
  • ESP32:约 $2.00 ~ $3.50。贵一倍,但多了蓝牙和双核。
  • RTL8710:约 $1.50 ~ $2.50。比ESP8266贵,比ESP32便宜。

但注意,成本不只是芯片价。还要算外围:

  • ESP8266需要外部Flash,走SPI,占PCB面积。
  • ESP32也需要外部Flash,但内置PSRAM选项可以省掉外部RAM。
  • RTL8710同样需要外部Flash,但它的WiFi射频前端集成度更高,外围器件少一些。

我做过一个智能插座项目,用ESP8266方案,BOM成本压到了$1.5。但后来客户要加OTA和MQTT,内存不够,只能换ESP32,成本直接翻倍。所以,别只看芯片单价,要看总BOM和功能需求。

1.2.2 功耗

电池供电的设备,功耗是命门。咱们看三款芯片的典型功耗:

工作模式 ESP8266 ESP32 RTL8710
WiFi TX (峰值) ~170mA ~240mA ~150mA
WiFi RX ~56mA ~80mA ~45mA
Modem Sleep ~15mA ~5mA ~3mA
Deep Sleep ~20µA ~10µA ~5µA

看到没?RTL8710在Deep Sleep模式下只有5µA,比ESP8266低了4倍。如果你做的是温湿度传感器、门磁这类几个月不换电池的设备,RTL8710有明显优势。

但ESP32的功耗管理其实很灵活。它有个ULP协处理器,可以在Deep Sleep下跑一些简单任务(比如轮询GPIO)。我做过一个烟雾报警器,用ESP32的ULP协处理器,电池续航做到了8个月。

我的经验:如果设备需要频繁收发数据(比如每10秒上报一次),ESP8266和ESP32的功耗差距不大。但如果设备大部分时间在睡觉,RTL8710或ESP32的Deep Sleep模式才是正解。

1.2.3 生态

这一点,我放在最后说,但可能是最重要的。

ESP8266/ESP32的生态:

  • Arduino IDE支持,上手极快。
  • ESP-IDF官方SDK,文档齐全,示例丰富。
  • 社区庞大,GitHub上项目成千上万,遇到问题一搜就有答案。
  • 第三方库多:MQTT、HTTP、WebSocket、OTA、蓝牙配网……全都有现成的。

RTL8710的生态:

  • 官方SDK(Ameba系列)基于FreeRTOS,功能完整。
  • Arduino支持也有,但不如ESP系列成熟。
  • 社区小很多,中文资料少,遇到坑得自己填。
  • 第三方库少,很多功能需要自己移植。

说实话,我刚开始用RTL8710时,被它的SDK折腾得不轻。文档是英文的,示例代码注释不全,调试起来很费劲。而ESP32,我从拿到开发板到跑通MQTT,只用了半天。

避坑指南:我曾经在一个智能家居项目中选了RTL8710,因为它的功耗指标确实漂亮。结果开发周期比预期多了两个月,光移植一个MQTT库就花了一周。后来算总账,开发成本远超省下的那点芯片钱。所以,生态成熟度直接影响开发效率和上市时间。

1.3 选型决策流程图

下面这张图,是我自己总结的选型流程。每次做新项目,我都会过一遍。

WiFi芯片选型决策流程图 WiFi芯片选型决策流程 开始选型 是否需要蓝牙功能? (BLE配网/音频/手机直连) 选 ESP32 功耗要求是否严苛? (电池供电/Deep Sleep < 10µA) 选 RTL8710 成本是否极度敏感? (BOM < $1.5 / 量级 > 10K) 选 ESP8266 选 ESP32(稳妥) 说明:实际选型还需考虑GPIO数量、外设接口、开发周期等因素,本图仅作快速决策参考

1.4 我的选型建议

说了这么多,给个总结性的建议:

  • 新手入门 / 原型验证:无脑选ESP32。生态好、资料多、功能强,踩坑成本最低。
  • 低成本大批量产品:ESP8266仍然能打。但要注意内存限制,别把功能堆太满。
  • 电池供电 / 超低功耗:RTL8710值得考虑。但要做好心理准备,开发周期会长一些。
  • 需要蓝牙功能:只有ESP32可选。RTL8710和ESP8266都不支持。

最后说一句:芯片选型没有绝对的对错,只有合不合适。我见过用ESP8266做智能门锁的,也见过用ESP32做温湿度传感器的。关键是搞清楚你的产品到底要什么——成本、功耗、性能、开发速度,你总得有所取舍。

嗯,这一章就到这里。记住,选型是第一步,但也是最重要的一步。后面咱们会深入WiFi配网和无线透传的实战细节,到时候你会更清楚自己到底需要什么样的芯片。