ESP-NOW, WiFi или LoRa: как выбрать радио для проекта

WiFi — для интернета и дашбордов, ESP-NOW — для дешёвого обмена между платами, LoRa — когда датчики стоят далеко. Вот как выбрать и как совместить все три.
В школьных и любительских IoT-проектах снова и снова всплывают три радио: ESP-NOW, обычный WiFi и LoRa. Коротко всё просто. WiFi — когда устройству нужен интернет или приложение на телефоне. ESP-NOW — когда двум или нескольким платам просто нужно дёшево и быстро переговариваться. LoRa — когда датчик стоит в сотнях метров или километрах от чего бы то ни было. Остальная часть этого текста — о компромиссах за этим однострочным ответом и о том, что делать, когда ни одно радио не подходит целиком.
WiFi: когда нужен интернет
WiFi — радио, которое большинство уже знает. Оно подключается к роутеру или точке доступа, получает IP-адрес и после этого может дотянуться до большого интернета: облачного дашборда, брокера MQTT, REST API или приложения на телефоне в той же сети. Плата sheenbot∞, с которой ученики работают на занятиях, говорит по WiFi из коробки — поэтому первый «настоящий» урок по IoT обычно означает отправку показания датчика на какой-нибудь экран.
Расплата — питание и инфраструктура. WiFi потребляет больше тока, чем два других, поэтому он плохо подходит для того, что должно неделями работать от небольшой батареи. Он ещё и зависит от работающего роутера. В ЮАР это важно: во время веерных отключений роутер может быть обесточен по два часа подряд, и датчик, живущий только на WiFi, просто замолкает до возвращения питания. Дальность тоже скромная — примерно класс или дом, а сквозь бетонные стены меньше.
ESP-NOW: платы говорят с платами
ESP-NOW — лёгкий протокол без установления соединения, встроенный в те же чипы ESP32, которые обеспечивают WiFi. Он полностью обходит роутер. Одна плата может отправить короткое сообщение прямо на MAC-адрес другой платы, с очень малой задержкой и без настройки IP-стека. Полезная нагрузка небольшая, около 250 байт на пакет, но этого с запасом хватает на показание температуры, нажатие кнопки или команду мотору.
Поскольку посередине нет точки доступа, ESP-NOW продолжает работать, когда сеть WiFi лежит, и потребляет заметно меньше энергии, чем полноценное WiFi-подключение, особенно если плата засыпает между отправками. Дальность в помещении примерно как у WiFi, а на улице в прямой видимости лучше. Загвоздка в том, что ESP-NOW даёт вам частную сеть из ваших же устройств, а не путь в интернет. Если данным нужно покинуть этот кластер, нести их должен кто-то ещё.
LoRa: когда датчик далеко
LoRa меняет скорость передачи на дальность. В суб-гигагерцевом диапазоне, используемом в ЮАР (868 МГц), связь LoRa может перекрыть ферму или район, иногда несколько километров при чистой трассе, потребляя при этом сущие крохи. Это делает её естественным выбором для датчика влажности почвы на дальнем конце поля или датчика уровня в водяном баке на холме.
Цена — полоса пропускания и оборудование. LoRa передаёт короткие и редкие сообщения, а не видео или быструю телеметрию, и она не встроена в стандартный ESP32, так что придётся добавить LoRa-модуль. Для LoRa «точка — точка» нужен парный приёмник; для полноценного LoRaWAN — шлюз. Для большинства школьных и небольших фермерских проектов для начала достаточно одной пары радиомодулей LoRa или одного шлюза.
Три радио бок о бок
| Радио | Примерная дальность | Нужна ли инфраструктура? | Питание | Лучше всего для |
|---|---|---|---|---|
| WiFi | Десятки метров | Роутер плюс интернет | Умеренное или высокое | Дашборды, приложения, облако |
| ESP-NOW | Как у WiFi, на улице больше | Не нужна | Низкое | Обмен между платами |
| LoRa | От сотен метров до километров | LoRa-модуль, шлюз для LoRaWAN | Очень низкое | Удалённые, редко расставленные датчики |
Подбираем радио под сценарий
В классе WiFi и ESP-NOW закрывают почти всё. Берите WiFi для урока, где показания появляются на живом дашборде, и ESP-NOW для проектов, где несколько плат передают сообщения между партами — эстафета или общее табло — не конкурируя за школьную сеть.
В доме всё зависит от того, куда должен уходить интернет. Датчик света или двери, питающий приложение, хочет WiFi; связка пультов и кнопок, которые говорят только с локальным хабом, счастливее и экономнее на ESP-NOW. Именно такая смесь стоит за типичной сборкой домашней автоматизации.
На ферме решает расстояние. Датчики, разбросанные по загонам или рядам теплицы, обычно слишком далеко друг от друга для WiFi и слишком далеко от сети, чтобы держать его заряженным, — и вот тут LoRa заслуживает своё место в системе умного земледелия. Показаниям всё равно надо куда-то приземлиться, и вот тут радио начинают смешивать.
Смешиваем радио с помощью узла-моста
Большинство серьёзных проектов используют больше одного радио, соединённых узлом-мостом: одним устройством, которое говорит на двух радио и передаёт сообщения между ними. Частая схема: полевые датчики на LoRa или ESP-NOW отчитываются одному мосту, который держит единственное WiFi-подключение и пересылает всё брокеру или на дашборд. Вы получаете дальность или низкое потребление в поле и выход в интернет в одной точке, вместо того чтобы требовать всё сразу от каждого устройства.
Одна оговорка, о которой стоит знать заранее: ESP32 делит одно радио на 2,4 ГГц между WiFi и ESP-NOW, и оба должны находиться на одном канале. Если сначала подключить WiFi, то узлы ESP-NOW, ожидавшие другого канала, могут замолчать. На мосту планируйте канал осознанно или разнесите две задачи по двум чипам. А когда мост заработал, отправить собранные данные на платформу вроде sheenIoT — уже самое простое.
Быстрый способ выбрать
- Нужен интернет, облачный дашборд или приложение на телефоне? Берите WiFi.
- Две или больше ваших собственных плат быстро обмениваются короткими сообщениями? Берите ESP-NOW.
- Датчик дальше ста метров от ближайшего роутера или розетки? Берите LoRa.
- Питание от батареи и работа неделями? Склоняйтесь к ESP-NOW со сном или к LoRa.
- Нужно несколько из этого сразу? Стройте узел-мост.
Главное
Единственного лучшего радио не существует — есть лучшее соответствие дальности, бюджету питания и той инфраструктуре, которая у вас реально есть. Начните с вопроса, куда должны уйти данные и как далеко им лететь, и выбор обычно сделается сам. Когда одно радио не тянет всё, узел-мост позволяет соединить их сильные стороны, а не идти на компромисс по каждой.
Может ли один ESP32 одновременно работать по WiFi и ESP-NOW?
Да, но с осторожностью. Они делят одно радио на 2,4 ГГц и должны использовать один канал, поэтому WiFi-подключение может закрепить канал и отрезать узлы ESP-NOW, ожидавшие другого. Задайте канал намеренно или отдайте две роли отдельным чипам на мосту.
Нужен ли шлюз LoRaWAN, чтобы пользоваться LoRa?
Не всегда. Два радиомодуля LoRa могут работать «точка — точка» без шлюза, и для одного удалённого датчика этого достаточно. Шлюз становится оправданным, когда датчиков много или когда вы хотите вывести их в стандартную сеть, — это разумный следующий шаг, а не требование на старте.



