• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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дБм.
Смартфон тоже принимает, если покрутить и спозиционировать...
 
Сверху Снизу