sheen.bot 标志

深度见解

ESP-NOW、WiFi 与 LoRa:给你的项目挑一种无线方案

2026年5月7日·Sheen Robotics
ESP-NOW、WiFi 与 LoRa:给你的项目挑一种无线方案

要联网、要看板就用 WiFi,板子之间低成本互传消息用 ESP-NOW,传感器离得远就上 LoRa。这里讲怎么选,以及怎么把三者混着用。

在课堂和爱好者的物联网项目里,反复出现的无线方案有三种:ESP-NOW、普通 WiFi 和 LoRa。简短的结论很简单:设备需要联网或者要配手机 App,就用 WiFi;两块以上的板子只是要低成本、快速地互相说话,就用 ESP-NOW;传感器离一切都有几百米甚至几公里远,就用 LoRa。这篇文章余下的部分,讲的是这句话背后的取舍,以及当没有哪一种无线方案单独够用时该怎么办。

WiFi:需要联网的时候

WiFi 是大多数人本来就熟悉的那一种。它连上路由器或热点,拿到一个 IP 地址,然后就能够到更大的互联网:云端看板、MQTT 服务器、REST API,或者同一网络里的手机 App。学生在课堂上用的 sheenbot∞ 主控板开箱就支持 WiFi,所以第一堂“真正的”物联网课,通常就是把一个传感器读数推到某块屏幕上。

代价在于功耗和基础设施。WiFi 的电流消耗比另外两种都大,所以它不适合那种要靠一块小电池连跑几周的设备。它还依赖路由器在线。在南非这一点很要紧:拉闸限电期间,路由器可能一连黑上两个小时,只有 WiFi 的传感器就此静默,直到来电为止。传输距离也一般,大致是一间教室或一栋住宅的范围,隔着混凝土墙还会更短。

ESP-NOW:板子跟板子对话

ESP-NOW 是一种轻量、无连接的协议,就内置在负责 WiFi 的那些 ESP32 芯片里。它完全绕开路由器:一块板子可以直接把一条短消息发到另一块板子的 MAC 地址,延迟极低,也不用配置 IP 协议栈。数据包很小,每包 250 字节上下,但用来传一个温度读数、一次按键或者一条电机指令绰绰有余。

因为中间没有接入点,WiFi 网络挂掉时 ESP-NOW 照样能用,而且功耗明显低于一条完整的 WiFi 连接,尤其是当板子在两次发送之间进入睡眠时。室内的通信距离和 WiFi 大致相当,户外有视距的话还更远。问题在于,ESP-NOW 给你的是一张自家设备组成的私有网络,而不是通往互联网的路。如果数据需要离开这个小集群,就得有别的东西来接力。

LoRa:传感器离得很远的时候

LoRa 是拿数据速率换距离。在南非使用的亚吉赫兹频段(868 MHz)上,一条 LoRa 链路可以横跨一整座农场或一个城区,路径无遮挡时有时能打到好几公里,功耗却低得可怜。这让它成了田地另一头的土壤湿度探头、或者山坡上水箱液位传感器的天然之选。

你要付出的代价是带宽和硬件。LoRa 传的是小而稀疏的消息,不是视频或高速遥测数据;它也没有集成在标准的 ESP32 里,得另外加一个 LoRa 模块。点对点的 LoRa 需要一个配对的接收端,完整的 LoRaWAN 则需要一个网关。对大多数学校和小农场的项目来说,一对 LoRa 模块或者一个网关,起步就够用了。

三种无线方案对照

无线方案大致距离是否需要基础设施?功耗最适合
WiFi几十米路由器加互联网中到高看板、App、云端
ESP-NOW与 WiFi 相当,户外更远板子之间传消息
LoRa几百米到几公里LoRa 模块,用 LoRaWAN 还需网关极低偏远、稀疏分布的传感器

按场景匹配无线方案

教室里,WiFi 和 ESP-NOW 几乎能覆盖全部需求。读数要实时显示在看板上的那节课用 WiFi;几块板子在课桌之间传消息的项目,比如接力游戏或者共享计分板,就用 ESP-NOW,免得去挤学校的网络。

家里,取决于互联网要通到哪一层。给 App 供数据的灯控或门磁传感器要用 WiFi;一堆只跟本地中枢通信的遥控器和按钮,跑在 ESP-NOW 上更省心也更省电。典型的家庭自动化方案背后就是这样的组合。

农场上,由距离说了算。分散在各个围场或者大棚一行行之间的传感器,彼此通常远到 WiFi 够不着,离市电也远到没法一直供上电,这正是 LoRa 在智慧农业方案里站住脚的地方。读数最后总得有个落脚的地方,而这就是几种无线方案开始混用的起点。

用网桥节点把几种无线方案混起来

认真做的项目大多不止用一种无线方案,而是靠一个网桥节点把它们接起来:这是一台会说两种无线协议、并在两者之间转发消息的设备。常见的做法是,田间的传感器通过 LoRa 或 ESP-NOW 上报给一个网桥,再由这个网桥独自维持唯一的那条 WiFi 连接,把所有数据转发给服务器或看板。这样你在田间拿到的是远距离或低功耗,而联网只在一个点上完成,不必要求每台设备三样全占。

有一个坑值得早点知道:ESP32 的 WiFi 和 ESP-NOW 共用同一颗 2.4 GHz 射频,两者必须待在同一个信道上。如果你先建立 WiFi 连接,那些原本期待另一个信道的 ESP-NOW 对端就可能哑掉。做网桥时要有意识地规划信道,或者把这两件事拆到两颗芯片上去做。网桥一旦跑通,把收上来的数据再发给sheenIoT这类平台,就是最轻松的一步了。

快速选型

  • 需要联网、云端看板或者手机 App?用 WiFi
  • 两块以上自家板子要快速互传小消息?用 ESP-NOW
  • 传感器离最近的路由器或电源超过一百米?用 LoRa
  • 靠电池供电、要连跑几周?倾向于带睡眠的 ESP-NOW,或者 LoRa。
  • 同时要好几样?做一个网桥节点

小结

没有哪一种无线方案最好,只有最贴合你实际的距离、功耗预算和基础设施的那一种。先想清楚数据要送到哪里、要走多远,选择通常自己就浮出来了。当一种方案吃不下全部需求时,网桥节点能让你把它们各自的长处合起来用,而不是在每一项上都将就。

一颗 ESP32 能同时跑 WiFi 和 ESP-NOW 吗?

能,但要小心。两者共用同一颗 2.4 GHz 射频,必须使用同一个信道,所以一条 WiFi 连接可能把信道钉死,切断那些期待另一个信道的 ESP-NOW 对端。要么有意识地把信道固定下来,要么在网桥上把这两个角色交给两颗独立的芯片。

用 LoRa 是不是必须有 LoRaWAN 网关?

不一定。两个 LoRa 模块可以点对点通信,不需要网关,对单个远端传感器来说完全够用。等到传感器数量多起来,或者你希望它们接入一张标准网络,网关才变得值得投入;那是合理的下一步,而不是起步的门槛。

#ESP-NOW#WiFi#LoRa#物联网#无线通信

更多深度见解