Страница 2 из 21

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 31 июл 2020, 22:56
aidar_i
aidar_i писал(а): 30 июл 2020, 21:20 AlexCrane писал(а): ↑30.07.2020{, 23:13}
Связь односторонняя получается?
Сделал добавочный блок к основному, чтобы работала 2х сторонняя связь.
Тестировал связь между ESP8266 и ESP32.
ESP_NOW 2х сторонняя связь.flp

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 02 авг 2020, 08:14
aidar_i
Создал единый универсальный блок со всеми 3 режимами: прием, передача и прием-передача.
Выкладываю пример передачи данных цепочкой (загрузите на 3 ESP): первый ESP8266 передает, второй ESP8266 принимает и передает третьему ESP32, который все это принимает.
Последовательная передача.rar
Так можно передавать на неограниченное расстояние, используя столько же ESP.

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

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 04 авг 2020, 19:53
aidar_i
Вывод данных на веб страницу через точку доступа, ПБ немного изменен, чтобы ничего не подправлять. Этот блок ESP_NOW EXCHANGE DATA_AP использовать только с ЕСП в режиме точки доступа, используя штатные настройки.
Прием данных ESP32 OLED new1 ТД.flp

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 06 авг 2020, 08:47
aidar_i
Подключил принимающий ESP к сети WiFi (клиент), получилось только с помощью ESP32.
С ESP8266 пока не получилось передать данные на ESP32 подключенный к WiFi сети. Передача происходит один раз и всё.
Удобнее было бы датчики посадить на есп8266 (дешевле).

PS: Решил в новых блоках. См первое сообщение.

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 08 авг 2020, 16:11
aidar_i
Передача данных ESP32 client.flp
Прием данных ESP32 OLED new1 STA.flp
Блоки разные, скачивайте оба примера, работают только друг с другом.
Во втором примере OLED дисплей можете заменить на уарт или использовать есп32 плюс обычный олед дисплей.
Чтобы работал ESP_NOW и WiFi одновременно, нужно совпадение канала wifi роутера и передатчика. Поэтому в передающем есп нужно его установить равным каналу роутера. У меня в роутере стоит канал "авто", значит он меняется. Поэтому в передатчике определяется канал роутера и wifi канал есп устанавливается такой же. Я думаю, лучше в настройках роутера поставить жёстко один канал, например, 6. Тогда будет работать стабильнее, но роутер выбирает (если стоит авто) при выкл - вкл, перезагрузке (или автоматически) новый канал менее загруженный . Тогда нужно есп тоже перезагружать.
Я в блоках оставил вывод отладочной информации, чтобы в мониторе можно посмотреть.

Почитайте о каналах https://club.dns-shop.ru/blog/t-280-mar ... i-vyibora/

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 09 авг 2020, 19:42
aidar_i
Удалил

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 20 авг 2020, 21:29
Rovki
Вот тут тестируют данный протокол https://hackaday.io/project/164132-hell ... ty-testing :smile37:

Отправлено спустя 6 минут 37 секунд:
А тут про то что одновременно работать по вайфай и есп now проблематично :smile37: https://github.com/HarringayMakerSpace/ESP-Now

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 21 авг 2020, 00:41
aidar_i
Вот здесь нет проблем!

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 21 авг 2020, 12:31
Sanbi4
Здравствуйте, спасибо за труд! есть вопрос:

будет ли работать двусторонняя связь так

slave 1 <> master <> slave 2

то есть мастер посылает команды слейвам, а слейвы сообщают сообщают об успешном (или нет) выполнении задания мастера. слейвам между собой общаться не обязательно. Было бы классно неоднократное использование блоков, а в блоках приема для мастера можно было прописывать мас с которого он принимает

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 21 авг 2020, 21:14
aidar_i
Sanbi4 писал(а): 21 авг 2020, 12:31 Здравствуйте, спасибо за труд! есть вопрос:

будет ли работать двусторонняя связь так

slave 1 <> master <> slave 2

то есть мастер посылает команды слейвам, а слейвы сообщают сообщают об успешном (или нет) выполнении задания мастера. слейвам между собой общаться не обязательно. Было бы классно неоднократное использование блоков, а в блоках приема для мастера можно было прописывать мас с которого он принимает
Да, возможно, и мас передатчика возможно на приемнике определять. Блоки пока в доработке, сделал и в старом редакторе. Сперва на нем думаю доделать. Ваши пожелания учту
PS.Решено, в первом сообщении новые блоки, без мак адреса с которого он принимает, это организуется с обозначением есп .

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 21 авг 2020, 21:15
aidar_i
Видео работы блоков с WiFi, modbas tcp каскада
viewtopic.php?f=38&t=1563&p=92754#p92754
Так как пока "коммуникации" не работает в версии 7.0.4 flprog создал ПБ в старом редакторе и они проверялись в версии программы 6.3.1.
Позже выложу их после оформления и изменения по просьбе Rovky.

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 23 авг 2020, 19:52
CraCk
aidar_i писал(а): 21 авг 2020, 21:15 Видео работы блоков с WiFi, modbas tcp каскада
Я так понимаю что принимающаю есп (шлюз) поочередно переключается между ESP_NOW и WiFi, чтоб отправить данные в WiFi сеть. Вопрос как будет гарантированная доставка сообщений, из отправляющих передатчиков по протоколу ESP_NOW в локальную сеть, если в это время есп (шлюз) будет в режиме WiFi передавать данные которые принял от какого нибудь другого датчика?

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 23 авг 2020, 20:40
Rovki
aidar_i писал(а): 21 авг 2020, 21:15 Видео работы блоков с WiFi, modbas tcp каскада
viewtopic.php?f=38&t=1563&p=92754#p92754
Так как пока "коммуникации" не работает в версии 7.0.4 flprog создал ПБ в старом редакторе и они проверялись в версии программы 6.3.1.
Позже выложу их после оформления и изменения по просьбе Rovky.
В версии 7.0.5 коммуникации заработали

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 23 авг 2020, 21:58
aidar_i
CraCk писал(а): 23 авг 2020, 19:52 Я так понимаю что принимающаю есп (шлюз) поочередно переключается между ESP_NOW и WiFi, чтоб отправить данные в WiFi сеть.
Работают одновременно.

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 23 авг 2020, 22:16
CraCk
[ref=#000080]aidar_i[/ref],
Ага... тогда красота :smile9: А сколько к одному шлюзу можно подключить напрямую ЕСП датчиков, чтоб работали паралельно без колизий?

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 24 авг 2020, 10:25
aidar_i
Почитайте здесь.

Отправлено спустя 3 часа 59 минут 1 секунду:
Блоки для ESP8266 на старом редакторе для работы с WiFi, пример c Kascada. Если Каскада не нужна отключите модбас в настройках контроллера.
Прием данных ESP8266 WiFi Kascada.flp
Передача данных ESP8266 WiFi.flp
То же для ESP32 (см. ВИДЕО)
Прием данных ESP32 WiFi Kascada.flp
Передача данных ESP32 WiFi.flp
Убрал в блоках отладочную информацию (Serial).

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 26 авг 2020, 22:52
CraCk
Очень интересно увидеть сравнение по дальности ESP_NOW и BLE.
https://randomnerdtutorials.com/esp32-b ... duino-ide/
Также для BLE есть много готовых датчиков от Сяоми по неплохой цене.
https://xiaomi-smarthome.ru/bluetooth-shlyuzy-xiaomi/
https://www.youtube.com/watch?v=gyZjGOgDIRU

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 26 авг 2020, 23:16
Rovki
У сиоми zigbee у датчиков вроде

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 27 авг 2020, 01:39
CraCk
Rovki писал(а): 26 авг 2020, 23:16 У сиоми zigbee у датчиков вроде
Там и зигби тоже есть. Но блютуз дешевле будет, и выбор красивых датчиков по больше.

ESP_NOW, передача данных между ESP8266 ( ESP32 )

Добавлено: 27 авг 2020, 14:36
aidar_i
CraCk писал(а): 26 авг 2020, 22:52 Очень интересно увидеть сравнение по дальности ESP_NOW и BLE.
Дальность блютуз маленький.

Там же пишут про ESP_NOW:
Мы протестировали дальность связи между двумя платами, и мы можем получить стабильную связь до 220 метров (приблизительно 722 фута) в открытом поле. В этом эксперименте обе бортовые антенны ESP32 были направлены друг на друга.