• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Варианты получения данных по ESP-NOW и загрузки их по WiFi на сервер?

Gdalex

New member
Скорее всего, в вашу игру в ESP-NOW тут никто не играл по банальным причинам:
  • Скорость передачи данных у ESP-NOW очень низкая
  • Потребление ESP8266 очень большое
  • Качество связи у ESP-NOW хуже чем у BLE-Mesh/Zigbee
  • Стабильность (меньше выпадений) и дальность связи у новых чипов BT5.0 (или BT4.2 c RF TX +10 Дб) лучше
  • ESP-NOW не дает возможности рядом работать обычному WiFi.
  • Ныне чипы ESP8266 дороже чипов BLE.
  • У ESP мало и убогие аппаратные контроллеры (требуются внешние костыли для некоторых реализаций по сумме превышающие стоимость самого модуля ESP8266).
  • У ESP наличие множественных аппаратных и софт. багов (требующих применения внешних костылей по сумме превышающих стоимость самого модуля ESP8266).
  • Полная несовместимость протокола ESP-NOW с другими.
Т.е. никакого спортивного интереса в ESP-NOW не наблюдается.
Мда. Почитал, прослезился. Видимо, товарищ или не до конца в теме или намеренно мажет ESP в коричневую субстанцию (не шоколад).
По пунктам:
1. Скорость передачи у ESP-NOW достаточная даже для передачи изображения с WEB-камеры в прямом эфире. Примеров и даже готовых устройств полно. Именно потому, что ESP-NOW использует тот же радиотракт, что и WiFi, то и скорость такая же, что и через WiFi.
2. Потребление ESP8622 очень большое по сравнению с чем? Смотря в каком режиме работает контроллер, какие частоты задействованы. Есть масса примеров, где ESP8622 используется в качестве датчика влажности, работающего на одном CR2032 больше года, т.к. просыпается только для того, чтобы измерить влажность и отправить головному устройству пакет и опять в сон. Причем, при использовании ESP-NOW потребление в несколько раз меньше за счет значительного уменьшения времени работы радиотракта, т.к. не тратится время на подключение к точке доступа. Просто выплюнул посылку в несколько байт и спать.
3. К вопросу о качестве связи большие претензии: откуда информация? ESP-NOW, как и BLE/ZigBee использует те же частоты (2.4 ГГц), точно также умеет строить MESH-сети для увеличения дальности действия и устойчивости сети. У ESP-NOW, в отличие от WiFi, дальность 200 метров. Есть эксперименты, где дальность в открытой местности до 700 метров без специальных антенн.
4. Про стабильность и дальность связи см. 3.
5. У меня проект, в котором головной контроллер на ESP8266 работает и как шлюз для ESP-NOW, и как WEB-сервер через роутер и доступен для управления снаружи. Причем, как выяснилось совсем недавно, ESP-NOW работает на 1 канале (не у Ернста, а я про частоты), а WiFi - на 10 канале. И очень стабильно работают.
6. Про цены не скажу, но, беглый взгляд по Али показал стоимость ESP-12F 101-192 руб., за BLE 5.0 от 97 до 397 руб. Так что очень сомнительная выгода, плюс этой BLE еще кто-то управлять должен (ЦПУ). А в ESP32 и BLE встроенная уже имеется в дополнение к WiFi. Так что и тут мимо. :)
7. О каких убогих контроллерах речь? Уточните, пожалуйста. Что-то в BLE я вообще ни одного контроллера не увидел.
8. Багов и костылей везде найти можно, а то, что проект активно развивается и большинство ошибок уже исправили, говорит о "нужности" и востребованности проекта.
9. А с каким протоколами должна быть совместимость, если ESP-NOW изначально позиционировался как "внутренний протокол связи" между устройствами ESP?
В общем так себе заявление...
 

Gdalex

New member
Оставлю здесь код ESP8266 приемника, который подключается к WI-FI роутеру, поднимает скрытую AP и тем самым светит свой mac и канал wifi.
Передатчику ESP8266 нужно знать имя AP. При запуске находит известную сеть, смотрит ее mac и канал и начинает слать счетчик отправок по ESP-NOW.
Когда приемник получает пакет, увеличивает свой счетчик. Приемник каждые 5с в сериал печатает счетчики обоих устройств и количество потерянных пакетов.
Вы подключаетесь и к WiFi-сети, и одновременно поднимаете свою точку. Почему нельзя поднять только свою АР? Во-первых, в отличие от ESP32 у ESP8266 только одно ядро, которое обслуживает всю систему. Во-вторых, Вы в каком районе проводили эксперимент? Если в высотном доме, то где гарантия, что на этом канале еще 10-20 сетей не живут? Естественно, при такой загрузке сети выделяемые тайм-слоты будут реже и отсюда возможны пропадания пакетов.
Я ради чистоты эксперимента прошил Вашей прошивкой две свои ESPшки. Живу почти в частном секторе (в округе нашлось всего 8 сетей WiFi). Нашел чистый канал, "ни одного разрыва" в течении дня.
Чтобы не поднимать еще и свою АР, зашейте (ради эксперимента) МАС-адреса в прошивку. Или, как сделано у меня, у передатчика есть МАС-адрес приемника, при получении первой посылки идет обратная привязка с полученным МАС. Дальше связь идет в двунаправленном режиме. "Пакеты не теряются".
 

pvvx

Активный участник сообщества
1. Скорость передачи у ESP-NOW достаточная даже для передачи изображения с WEB-камеры в прямом эфире. Примеров и даже готовых устройств полно. Именно потому, что ESP-NOW использует тот же радиотракт, что и WiFi, то и скорость такая же, что и через WiFi.
Но обработка некудышная. Тупо не успевает.
2. Потребление ESP8622 очень большое по сравнению с чем? Смотря в каком режиме работает контроллер, какие частоты задействованы. Есть масса примеров, где ESP8622 используется в качестве датчика влажности, работающего на одном CR2032 больше года, т.к. просыпается только для того, чтобы измерить влажность и отправить головному устройству пакет и опять в сон. Причем, при использовании ESP-NOW потребление в несколько раз меньше за счет значительного уменьшения времени работы радиотракта, т.к. не тратится время на подключение к точке доступа. Просто выплюнул посылку в несколько байт и спать.
Чтобы выплюнуть посылку требуется получить от CR2032 в течении от 500 ms к сотне mA.
Но автор данной чуши не знает что такое внутреннее сопротивление источника :p

3. К вопросу о качестве связи большие претензии: откуда информация? ESP-NOW, как и BLE/ZigBee использует те же частоты (2.4 ГГц), точно также умеет строить MESH-сети для увеличения дальности действия и устойчивости сети. У ESP-NOW, в отличие от WiFi, дальность 200 метров. Есть эксперименты, где дальность в открытой местности до 700 метров без специальных антенн.
Вы что-нибудь когда либо слышали о разных типах модуляции несущей?
Или в курсе параметров уровня приема в дБм для разных типов модуляций и чипов?
4. Про стабильность и дальность связи см. 3.
BLE - LE Long Range до 1.6 км при штыревой антенне. Сравнивайте :)
5. У меня проект, в котором головной контроллер на ESP8266 работает и как шлюз для ESP-NOW, и как WEB-сервер через роутер и доступен для управления снаружи. Причем, как выяснилось совсем недавно, ESP-NOW работает на 1 канале (не у Ернста, а я про частоты), а WiFi - на 10 канале. И очень стабильно работают.
А у меня эти каналы заняты. И что делать?

6. Про цены не скажу, но, беглый взгляд по Али показал стоимость ESP-12F 101-192 руб., за BLE 5.0 от 97 до 397 руб. Так что очень сомнительная выгода, плюс этой BLE еще кто-то управлять должен (ЦПУ). А в ESP32 и BLE встроенная уже имеется в дополнение к WiFi. Так что и тут мимо. :)
У ESP32 BLE убогий и первой версии. Никуда не годится.

7. О каких убогих контроллерах речь? Уточните, пожалуйста. Что-то в BLE я вообще ни одного контроллера не увидел.
Плохо смотрели или не в курсе что такое контроллер.
8. Багов и костылей везде найти можно, а то, что проект активно развивается и большинство ошибок уже исправили, говорит о "нужности" и востребованности проекта.
Исправили баги в криcталле чипа? Его как штампанули в 2012 году, таи и не меняли.
9. А с каким протоколами должна быть совместимость, если ESP-NOW изначально позиционировался как "внутренний протокол связи" между устройствами ESP?
В общем так себе заявление...
С имеющимися в компах и прочих бытовых устройствах, что сильно упрощает отладку и все остальные виды работ.
 

pvvx

Активный участник сообщества
Вы подключаетесь и к WiFi-сети,
Уже давно на роутерах c Linux реализуется ваш любимый ESP-NOW. Но это пока не для вашего уровня знаний.
Самый дешевый подходящий для OpenWRT на али как "repeater" c Ethernet разъемом и 2x2 WiFi стоит 1 т.р. В него запросто программируется шлюз ESP-NOW - WiFi - Wire-Ethernet
 

pvvx

Активный участник сообщества
@Gdalex - Как я понял, вы только что проснулись, пока другие десяток лет назад игрались и наигрались с ESP8266 вдоволь… Но ESP-NOW так и не получило развития и поддержки, кроме мелких любителей паять антикварные чипы и тащить к ним провода питания по всем стенкам и улице, а потом бегать и передергивать их питание для ребута...
 

pvvx

Активный участник сообщества
Т.е. до такой степени не получило, что уже на дроны ставят:
Так и есть - В короткоживущие поделия с большим током потребления у умельцев с донатом.... :) Для дронов безразлично какой протокол.
"Слепила из того что было"
 

pvvx

Активный участник сообщества
@Kabron - Там все проблемы ESP-NOW и описаны, но в обратном смысле:
  • Режимы анализа для уменьшения потери пакетов
  • Идеально подходит для централизованного управления роем дронов.
Основная причина – работа на одном канале и реальный “рой” (а не 2 поделия) становится неуправляемым от собственных помех между своими и внешними.
Но автоматически переключиться на незанятый канал не может.
Та же беда и у Zigbee.
 

pvvx

Активный участник сообщества
Понижение битрейта для WiFi дает всего пару дБм увеличения чувствительности приеманика. А для WiFi это граница около -95 дБм. Для Zigbee – уже к -100 дБм, для BLE LE Long Range – к -115 дБм.
Из этого и выходит предельное расстояние связи... Но только у BLE связь автоматически распределяется по каналам...
 

pvvx

Активный участник сообщества
И в BLE c версии 5.0+ уже используется CSA#2.
А для детей различие от WiFi и Zigbee у BLE можно описать так – имеем стартовую синхронизацию на 3-х каналах для начала связи и десятки каналов для связи, по которым происходят постоянные прыжки почти каждого пакета по хитрым алгоритмам для каждого устройства c выбором оптимального незашумленного канала и с адаптацией к выпадениям. :p
 

nikolz

Well-known member
Добавлю свои пять копеек сравнения ESP-NOW с BLE и реализации работы ESP-NOW
pvvx пишет: Чтобы выплюнуть посылку требуется получить от CR2032 в течении от 500 ms к сотне mA.
Он лукавит, так как знает, что для передачи посылки по ESP-Now надо в 50 раз меньше времени.
----------
pvvx пишет: Понижение битрейта для WiFi дает всего пару дБм увеличения чувствительности приеманика. А для WiFi это граница около -95 дБм. Для Zigbee – уже к -100 дБм, для BLE LE Long Range – к -115 дБм.
Опять передергивает.
Забывает учесть мощность передатчика А это 20 ДБ для ESP Итого получаем бюджет ESP-Now -115 дБм.
----------------
pvvx пишет: Вы что-нибудь когда либо слышали о разных типах модуляции несущей?
Или в курсе параметров уровня приема в дБм для разных типов модуляций и чипов?
BLE - LE Long Range до 1.6 км при штыревой антенне. Сравнивайте :)
-------------------
Опять передергивает.
BLE использует общую для всех версий Bluetooth технологию AFH. Т е тип модуляции у них один и тот же.
Выигрыш в бюджете создается двумя моментами.
Во-первых , полоса 2 МГц, а не 20 или 40 как у WiFi. Поэтому и скорость меньше.
Но полоса в два раза шире, чем у классического Bluetooth.
Т е в этом случае BLE проигрывает классическому.
-------------------------
Во-вторых, BLE как и ZigBee использует кодирование (это не тип модуляции) с восстановлением ошибок.
Для обеспечения максимальной помехоустойчивости BLE использует 24-битный CRC, 32-битный контроль целостности
сообщений.
Увеличение дальности достигается за счёт использования механизма прямой коррекции ошибок (FEC). В стандарте LE 5.0 при ошибке во время приёма данных устройство восстанавливает данные, декодируя их вместо того, чтобы запрашивать повторную посылку. Но это уменьшает скорость передачи данных.
--------------------
Поэтому выигрыш BLE относительно Wi-Fi достигается за счет сужения полосы и применения алгоритма коррекции ошибок, а не за счет типа модуляции.
===============================
Теперь про недостатки модулей ESP по сравнению с модулями BLE не ESP.
Я считаю, что разработчики ESP реализовали какой-то древний вариант аналоговой части трансивера.
При мощности передатчика 100мВт потребление составляет 1 Bт. Т е кпд передатчика примерно 10%.
У современных модулей с такими же параметрами каналов и модуляции, КПД передатчика составляет примерно 30%.
Возможно , что проблема малого кпд в большой мощности передатчика.
------------------------------
Относительно использования ESP-NOW и WiFi., а также использование wiFi для датчиков.
Делал это 10 лет назад и писал об этом на форуме.
Лучше использовать широковещательный режим работы и протокол UDP для передачи данных.
Работает все нормально и устойчиво.
------------------------------
BLE не ESP дает выигрыш в скорости установления связи.
На ESP время установления связи при выходе из сна составляет не менее 110 ms, а на модулях не ESP , но BLE -3-5 ms.
У ESP32 время выхода из сна еще больше, чем у ESP8266.
 

Kabron

Member
Все просто, я давно заметил,
pvvx такую личную неприязнь к этой вайфай испытываит...
 

pvvx

Активный участник сообщества
Добавлю свои пять копеек сравнения ESP-NOW с BLE и реализации работы ESP-NOW
pvvx пишет: Чтобы выплюнуть посылку требуется получить от CR2032 в течении от 500 ms к сотне mA.
Он лукавит, так как знает, что для передачи посылки по ESP-Now надо в 50 раз меньше времени.
Предоставьте код. Только не мой, а для дуринщиков :)
pvvx пишет: Понижение битрейта для WiFi дает всего пару дБм увеличения чувствительности приеманика. А для WiFi это граница около -95 дБм. Для Zigbee – уже к -100 дБм, для BLE LE Long Range – к -115 дБм.
Опять передергивает.
Забывает учесть мощность передатчика А это 20 ДБ для ESP Итого получаем бюджет ESP-Now -115 дБм.
Пример BLE/Zigbee на +20 дБм найдете в большом кол-ве на Али, т.к. это используют в Zigbee устройствах -> в поиск "ZYZBP012"
1737030572443.png

Любой чип BLE дает +10 дБм, не говоря даже о ESP32-C3 и т.д.

pvvx пишет: Вы что-нибудь когда либо слышали о разных типах модуляции несущей?
Или в курсе параметров уровня приема в дБм для разных типов модуляций и чипов?
BLE - LE Long Range до 1.6 км при штыревой антенне. Сравнивайте :)
-------------------
Опять передергивает.
BLE использует общую для всех версий Bluetooth технологию AFH. Т е тип модуляции у них один и тот же.
Выигрыш в бюджете создается двумя моментами.
Во-первых , полоса 2 МГц, а не 20 или 40 как у WiFi. Поэтому и скорость меньше.
Но полоса в два раза шире, чем у классического Bluetooth.
Т е в этом случае BLE проигрывает классическому.
-------------------------
Во-вторых, BLE как и ZigBee использует кодирование (это не тип модуляции) с восстановлением ошибок.
Для обеспечения максимальной помехоустойчивости BLE использует 24-битный CRC, 32-битный контроль целостности
сообщений.
Увеличение дальности достигается за счёт использования механизма прямой коррекции ошибок (FEC). В стандарте LE 5.0 при ошибке во время приёма данных устройство восстанавливает данные, декодируя их вместо того, чтобы запрашивать повторную посылку. Но это уменьшает скорость передачи данных.
--------------------
Поэтому выигрыш BLE относительно Wi-Fi достигается за счет сужения полосы и применения алгоритма коррекции ошибок, а не за счет типа модуляции.
Вы не всё изучили.

===============================
Теперь про недостатки модулей ESP по сравнению с модулями BLE не ESP.
Забудьте уже о ESP8266 и ESP32. Есть куча новых ESP32-... и у них всё более менее для игрунчиков.

Опять наспамили, а ничего нового и ничем так не показали какое либо достоинство у ESP-NOW по сравнению с BLE или Zigbee.
 

pvvx

Активный участник сообщества
Все просто, я давно заметил,
pvvx такую личную неприязнь к этой вайфай испытываит...
Ошибка - WiFi6 - это хорошо. Особенно даже на древнем RTL87xx - при удержании соединения c AP потребление 1 мА и объем RAM (2.5 МБ) позволяет содержать не урезанный и не исковерканный TCP/IP стек.
 

pvvx

Активный участник сообщества
RTL87xx в WiFi время выхода из сна какие-то микро-секунды. Но пиковое потребление не достаточно для работы от CR2032 и подобных, хотя среднее мало.
У TLSR825x - до 1 ms, TX всего 6..10 мА вместе с работой CPU, sleep - 1.8 мкА. nRF5 может меньше, но там баги с DC-DC...
Это всё с учетом сохранения всей RAM во сне.
 

pvvx

Активный участник сообщества
Но так и не дошли до самого главного: Зачем нужен WiFi у домашних приборов?

Телевизор ещё смотрите? :)
Камеры через WiFi никто не подключает. Проводками токо…

Балаган из устройств “умного дома” на WiFi – это самый нестабильный вариант из всех возможных. Тут ещё ограничение кол-ва устройств и их влияние на соединения со смартом и прочими, требующими максимальной полосы WiFi. A горе устаревшие устройства с WiFi норовят включить какой старинный вариант WiFi соединения и роутер забит разборкой с ними.

И зачем устройствам “умного дома” вообще мегабитный канал связи?
Остаются только игрунчики в дурину, слепившие одно поделие на WiFi c ESP и прыгающие вокруг него с бубном и передающие по WiFi 2 байта в час, в жб коробке 4x4 метра макс.
 

pvvx

Активный участник сообщества
Все просто, я давно заметил,
pvvx такую личную неприязнь к этой вайфай испытываит...
И немного - да. Т.к. чтобы соединить хотя-бы два моих дома пришлось ставить направленные антенны.
При этом всё равно в других постройках WiFi устройства не доступны, а посреди огорода и т.д. прокладывать кабеля для питания роутеров нет никакого желания. Но даже тупые BLE термометры в LE Long Range запросто принимаются со всего участка без каких либо роутеров на обычный свисток USB-BT RTL8671BU с внутренней антенной.
Пример:
1737033763515.png
И так-же очень надоело пересбрасывать "Умные розетки" на WiFi. В итоге все заменены на Zigbee, кроме пары тестовых.

В итоге WiFi только для тех устройств, которым нужно много мегабит.
 

pvvx

Активный участник сообщества
3D принтер так-же переведен с WiFi на проводок. Иначе баги при печати...
А если ещё расстояние до роутера более 10 метров - тогда WiFi соскакивает уже с 11n на соединение с таким устройством, что сразу забивает полосу роутеру.
В итоге совсем некуда этот WiFi применять, кроме нескольких точек в виде много-антенных роутеров.
 

nikolz

Well-known member
Опять наспамили, а ничего нового и ничем так не показали какое либо достоинство у ESP-NOW по сравнению с BLE или Zigbee.
Ну признайтесь, что хотя бы с вопросом о типе модуляции Вы накосячили?
Но вы же не признаете свои ошибки. Вы предпочитаете оскорблять собеседников.
-------------------
Вы правы, что для таких примитивных задач, как годами собирать температуру или мигать лампой, модули BLE лучше.
Особенно, если учитывать что ESP8266 создано более 10 лет назад.
---------------------------
Но в задачах, где требуется "шевелить мозгами" и иметь возможность передать большой объем данных при низкой цене и сложности решения ESP8266 вне конкуренции даже сейчас.
ESP-Now - по протоколу это BLE-4. но только мощнее.
Прикольно, по стандарту для BLE мощность ограничена 10 мВт, а для ESP-NOW нет. Вы же соблюдаете стандарты?
---------------------
Недавно тестил ESP32-C3 . Как написал ранее выход из сна у него дольше, чем у ESP8266
 

pvvx

Активный участник сообщества
Ну признайтесь, что хотя бы с вопросом о типе модуляции Вы накосячили?
Не - не косячил.

Разберите конкретный пример с самым простейшим ESP32-C3, прежде чем писать о допотопных Bluetooth со специальными приемо-передатчиками, которых в продаже давно нет, но вы что-то вычитали и скопипастили с вики :) Потом и разберем кто косячит :)

Уровень прием в LE Long Rage на антенну на печатной плате некоторых продаваемых на али модулей более менее нормальный и ведет прием до -115 дБм. Но есть направленность. Пример приема BLE рекламы в LE Long Rage для ESP32-C3 есть тут.

Гарантированно принимает в доме датчик с другого дома, куда WiFi и Zigbee не достают. При этом у термометра TX всего +0дБм.
Смартфон тоже принимает, если покрутить и спозиционировать...
 
Сверху Снизу