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

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

pvvx

Активный участник сообщества
Байки я сам вам накопипастить:

Берем Вики. Открываем русскую страницу Bluetooth – в первом параграфе читаем:
Bluetooth позволяет этим устройствам сообщаться, когда они находятся друг от друга в радиусе около 100 м в старых версиях протокола и до 150 м начиная с версии Bluetooth 5.
Т.е. для русскоязычных дальность 150 метров и какая-то зависимость...

Далее переходим к китайской верcии, к Технические характеристики и особенности:
Там китайцам ограничили расстояние на 300 метров.

Далее к англоязычным – им совсем ограничили до 10 метров.
что обеспечивает очень короткий диапазон до 10 метров

Примерно так и вы пишите :)
По этому и не ждите что вам вдрух выкатят что-то с BLE. Он у них (у ваших) ограничен на 10 метров :)
 
Причем, как выяснилось совсем недавно, ESP-NOW работает на 1 канале (не у Ернста, а я про частоты), а WiFi - на 10 канале. И очень стабильно работают.
Это как это? Одновременно подключён к роутеру на 10 канале и передаёт/принимает по esp-now на 1 канале? Какие-то изменения внесли? Раньше это было невозможно.
 

pvvx

Активный участник сообщества
Если это станция, а не AP, тогда в чем разница на каком дополнительном канале работать? Связь с AP требует только мелкие окна приема для фиксированного по времени beacon от AP и редкой передачи типа что “спим”. Остальное время приемник и передатчик свободен.

Другое дело в том, что построение таких схем на ESP/ESP32 для нормальной работы нежелательно – перегреваются, если будет непрерывно передавать. Спасает только программный троттлинг.
 

pvvx

Активный участник сообщества
Вот только одновременная работа с WiFi и BLE даже в таких вариантах не прокатывает. Время ожидания ответа или следующего запроса у внешнего BLE после приема пакета около 500 мкс, а окна занятости RF для WiFi значительно больше. И внешнему BLE устройству придется дублировать передачу, сажая батарею.

А с учетом что детки пишут на дурине в C++ и пользуются всякими MQTT и прочими строковыми обработками, то это выливается в полную невозможность работы ESP32 со внешними BLE, не сажая им батарейки. Различие любимых у дуринщиков программ на ESP32 для BLE дает разницу примерно в 50 раз. 50 дублирующих передач у внешнего устройства BLE, чтобы до ESP32 дошло, что ей что-то передали при соединении.
 

pvvx

Активный участник сообщества
У ESP-NOW, в отличие от WiFi, дальность 200 метров. Есть эксперименты, где дальность в открытой местности до 700 метров без специальных антенн.
За счет чего?
У старого типа WiFi варианты - 802.11a/b/n.
ESP-NOW имеет другой вариант?
ESP32 для WiFi минимальный уровень приема около -95дБм. Макс. передача до +20дБм. Итого: 115 дБм - это и есть число для определения мак. расстояния связи без учета качества антенн.
В случае с BLE Coded PHY - минимальный уровень приема -115дБм. Передача - та же. Итого: 135 дБм. 20дБм - это в 10 раз больше.
 
Причем, как выяснилось совсем недавно, ESP-NOW работает на 1 канале (не у Ернста, а я про частоты), а WiFi - на 10 канале. И очень стабильно работают.
Заинтересовало, даже попробовал скачал последнюю версию компонента esp-now, esp подключилась к роутеру на 4 канале, отправить сообщение esp-now на 1 канале не может, пишет: ошибка, не могу поменять канал.
По-подробнее расскажите как у вас так получается?
 

pvvx

Активный участник сообщества
Чтобы не задавать глупые вопросы, а тем более строить какие-то выводы, вам необходимо изучить как работает WiFi и ESP-NoW. Особенно часть распределения времени передатчика и приемника в разных режимах. Вся радио связь строится практически на одной процедуре – передача и прием, для которой задается: время старта передачи и длительность окна приема после передачи. Дык вот в некоторых режимах WiFi и ESP-NOW требуется непрерывный прием, с включениями tx2rx().
И заметьте - BLE же "работает" при WiFi, хотя каналы у BLE другие...
 

pvvx

Активный участник сообщества
Вообще ESP-NOW это древний Nordic ESB c мелкими изменениями в данных самих пакетов, в простонародье названный “RF24”.
 

pvvx

Активный участник сообщества
И какой смысл разнесения канала WiFi от ESP-Now?
1737253940664.png
Канала WiFi имеет спектр на всю полосу (на все каналы). Это означает, что если WiFi работает, то всё в полосе 2.4ГГц недоступно по уровню создаваемых помех уже из другой комнаты. 1/6 и 6/11 — на ~-20dBr, 1/11 — на ~-36dBr, 1/13 — на -45dBr.
Источник https://habr.com/ru/articles/149447/
 

pvvx

Активный участник сообщества
Именно по этому, если вы ещё используете WiFi на 2.4ГГц, тогда оставьте его на канале подальше от 3-х каналов BLE маяков и канала Zigbee. И все бытовые устройства переведите на BLE и Zigbee, а WiFi на 2.4ГГц используйте только как резервный. В этом случае он большее время будет транслировать только beacon фрейм с периодом в 102.4 миллисекунды и не сильно мешать всей остальной системе. Все остальные, которым требуется большая полоса будут работать на WiFi 5ГГц. И у вас резко увеличится дальность и качество связи всех компонентов "Умного дома" во много раз.
К этому пришли уже все, у кого "Умный дом"
 
Сверху Снизу