ESP-NOW、WiFi 还是 LoRa:你的物联网项目到底该用哪种无线方案?

在 ESP-NOW、WiFi 和 LoRa 之间做选择,取决于物理约束,而不是流行与否。本文讲清距离、功耗,以及那个悄无声息的信道锁定陷阱。
直接给结论
在 ESP-NOW、WiFi 和 LoRa 之间做选择,不是要找出“最好”的协议,而是一道管理物理条件与环境约束的题。如果项目要在没有任何基础设施的情况下,把很小的数据包发到几公里外,用 LoRa。如果要把大带宽数据传上互联网,而且有一台可靠的、市电供电的路由器,用 WiFi。如果要在 100 米半径内实现低延迟、低功耗的点对点通信,又不想依赖路由器,用 ESP-NOW。
基础设施这道约束:怎么扛过轮流停电
在南非,轮流停电让“要不要依赖基础设施”成了一个关键的设计决策。如果项目走标准 WiFi,它就依赖你的交换机或路由器有电。电网一停,基于 WiFi 的物联网设备就断线,哪怕设备本身接着备用电池也一样。ESP-NOW 和 LoRa 是点对点工作的,通信不需要接入点(AP)或路由器。一个 ESP-NOW 发送端可以把传感器读数直接发给由普通电池组供电的 ESP-NOW 接收端。同样,LoRa 设备在亚吉赫兹频段上直接通信(本地通常是 868 MHz),完全不依赖本地网络基础设施。
距离与吞吐量:无线电绕不过的物理
电磁学定律绕不过去。你要么拿吞吐量换距离,要么拿功耗换吞吐量。下面是这三种协议在真实部署中的对比:
| 协议 | 典型通信距离 | 吞吐量 | 功耗 | 所需基础设施 |
|---|---|---|---|---|
| WiFi(802.11) | 30m - 50m(室内) | 高(最高 150 Mbps) | 非常高(工作时约 100-240mA) | 无线接入点 / 路由器 |
| ESP-NOW | 100m - 200m(视距) | 中等(约 1 Mbps) | 中偏低(发送快,工作时间短) | 无(点对点) |
| LoRa | 2km - 15km | 极低(每秒几个字节) | 极低(工作时约 10-120mA,休眠周期长) | 无(点对点)或 LoRaWAN 网关 |
信道锁定陷阱:ESP-NOW 与 WiFi 混用
一种常见的架构做法是:用便宜的 ESP32 节点跑 ESP-NOW 采集传感器数据,再由一台中心 ESP32“网关”接收这些数据包,通过 WiFi 转发给 MQTT 代理。听上去很优雅,却藏着一个杀伤力极大的故障模式。ESP32 只有一个物理射频。当你把这个射频配置成连接本地 WiFi 接入点时,芯片必须把射频调到该 AP 所用的那个信道上(比如信道 6)。而 ESP-NOW 默认是在信道 1 上发送的。
Sheen现场笔记:在同一块板子上,一旦连上 WiFi/MQTT,射频就被钉死在 AP 的信道上;停在默认信道的 ESP-NOW 对端什么也收不到,而屏幕上仍然显示“已发送”。
由于 ESP-NOW 是无连接的,发送端不做握手。它把数据包广播出去,看到射频成功发出了物理信号,就在本地显示屏或串口监视器上报告“已发送”成功。与此同时,接收端——被锁在 WiFi AP 的信道上——正在一个完全不同的频率上监听。数据包消散在空气中,系统就这样悄无声息地失效了。要修这个问题,你必须用代码强制 ESP-NOW 发送端扫描并对齐网关所在的 WiFi 信道,于是本该很简单的一个节点就复杂了起来。
功耗这笔账:工作时间与休眠时间
WiFi 的连接握手很贵。ESP32 从深度睡眠中醒来去连 WiFi 网络时,要完成 DHCP 协商、解析 IP 地址、建立 TCP 连接,这个过程可能耗时 2 到 10 秒,期间射频的电流最高可达 240mA。换成 ESP-NOW 就没有握手:设备醒来,立刻把数据包发出去(用时不到 100 毫秒),然后继续睡。这意味着一个靠单节锂电池供电的 ESP-NOW 传感器节点可以撑上好几个月,而做同样任务的 WiFi 节点可能两周就把电池耗光。
学校和企业网络里的 WiFi 限制
如果你要为南非的学校或者企业环境做项目,标准 WiFi 常常一开始就走不通。WPA2-Enterprise 网络要求用户名加密码认证,而这在普通单片机上出了名地难配。更何况,学校的 IT 管理员通常会封掉本地端口,设备之间的 MQTT 或 UDP 流量根本过不去。在教育场景里,ESP-NOW 是明显的赢家:它完全绕开学校网络,学生不需要任何一个 WiFi 密码,也不用做网络配置,就能做出多设备互动的项目。
什么时候该选 LoRa
当项目必须在户外、长距离或者偏远乡村环境下工作时,LoRa 才是正确答案。如果你要监测农场的土壤湿度,或者盯住地块最远端的一道安全门,WiFi 和 ESP-NOW 都够不着。LoRa 的亚吉赫兹信号穿墙和穿透植被的能力,远好过 2.4 GHz 信号。但载荷必须精心设计:视频、音频或者高频遥测数据都传不了,你只能每隔几分钟发出几个字节的小数据包。
怎么做决定
要选对无线方案,按顺序问自己这三个问题:
- 数据需要传到 200 米以外吗?需要的话,用 LoRa。
- 这个 WiFi 网络你能不能掌控,轮流停电期间它还有没有电?如果不能,或者你身处 IT 管理严格的学校环境,本地设备之间就用 ESP-NOW。
- 你的设备需要直接和 Web API、云数据库或者本地智能家居平台对话吗?需要的话就用 WiFi,但如果打算把它桥接到 ESP-NOW,务必留意信道锁定这个陷阱。
在南非做定制物联网方案,或者教实体计算课程,把这些硬件约束理顺,事情就成了一半。如果你需要皮实、可直接进课堂、在本地条件下也能稳定工作的硬件,不妨看看我们在Sheen IoT上的控制器产品线。



