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

Без создания WiFi сети.

Создаем свой блок. Вопросы, помощь знатоков.
aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#21

Сообщение aidar_i » 31.07.2020{, 22:56}

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#22

Сообщение aidar_i » 02.08.2020{, 08:14}

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

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#23

Сообщение aidar_i » 04.08.2020{, 19:53}

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#24

Сообщение aidar_i » 06.08.2020{, 08:47}

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

PS: Решил в новых блоках. См первое сообщение.
Последний раз редактировалось aidar_i 09.08.2020{, 09:48}, всего редактировалось 2 раза.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#25

Сообщение aidar_i » 08.08.2020{, 16:11}

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

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#26

Сообщение aidar_i » 09.08.2020{, 19:42}

Удалил

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#27

Сообщение Rovki » 20.08.2020{, 21:23}

Вот тут тестируют данный протокол https://hackaday.io/project/164132-hell ... ty-testing :smile37:

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#28

Сообщение aidar_i » 21.08.2020{, 00:41}

Вот здесь нет проблем!

Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30.10.2019{, 17:58}
Репутация: 3
Имя: Сергей

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

#29

Сообщение Sanbi4 » 21.08.2020{, 12:31}

Здравствуйте, спасибо за труд! есть вопрос:

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

slave 1 <> master <> slave 2

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#30

Сообщение aidar_i » 21.08.2020{, 15:38}

Sanbi4 писал(а):
21.08.2020{, 12:31}
Здравствуйте, спасибо за труд! есть вопрос:

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

slave 1 <> master <> slave 2

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

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#31

Сообщение aidar_i » 21.08.2020{, 21:15}

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

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

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

#32

Сообщение CraCk » 23.08.2020{, 19:52}

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

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#33

Сообщение Rovki » 23.08.2020{, 20:40}

aidar_i писал(а):
21.08.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 коммуникации заработали
Электронщик до мозга костей и не только

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#34

Сообщение aidar_i » 23.08.2020{, 21:58}

CraCk писал(а):
23.08.2020{, 19:52}
Я так понимаю что принимающаю есп (шлюз) поочередно переключается между ESP_NOW и WiFi, чтоб отправить данные в WiFi сеть.
Работают одновременно.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

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

#35

Сообщение CraCk » 23.08.2020{, 22:16}

aidar_i,
Ага... тогда красота :smile9: А сколько к одному шлюзу можно подключить напрямую ЕСП датчиков, чтоб работали паралельно без колизий?

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#36

Сообщение aidar_i » 24.08.2020{, 06:26}

Почитайте здесь.

Отправлено спустя 3 часа 59 минут 1 секунду:
Блоки для ESP8266 на старом редакторе для работы с WiFi, пример c Kascada. Если Каскада не нужна отключите модбас в настройках контроллера.
Прием данных ESP8266 WiFi Kascada.flp
(140.64 КБ) 294 скачивания
Передача данных ESP8266 WiFi.flp
(124.27 КБ) 318 скачиваний
То же для ESP32 (см. ВИДЕО)
Прием данных ESP32 WiFi Kascada.flp
(144.87 КБ) 174 скачивания
Передача данных ESP32 WiFi.flp
(124.27 КБ) 189 скачиваний
Убрал в блоках отладочную информацию (Serial).
Последний раз редактировалось aidar_i 20.01.2021{, 01:16}, всего редактировалось 3 раза.

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

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

#37

Сообщение CraCk » 26.08.2020{, 22:52}

Очень интересно увидеть сравнение по дальности ESP_NOW и BLE.
https://randomnerdtutorials.com/esp32-b ... duino-ide/
Также для BLE есть много готовых датчиков от Сяоми по неплохой цене.
https://xiaomi-smarthome.ru/bluetooth-shlyuzy-xiaomi/

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

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

#38

Сообщение Rovki » 26.08.2020{, 23:16}

У сиоми zigbee у датчиков вроде
Электронщик до мозга костей и не только

CraCk
Лейтенант
Сообщения: 632
Зарегистрирован: 10.09.2015{, 21:51}
Репутация: 10

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

#39

Сообщение CraCk » 27.08.2020{, 01:39}

Rovki писал(а):
26.08.2020{, 23:16}
У сиоми zigbee у датчиков вроде
Там и зигби тоже есть. Но блютуз дешевле будет, и выбор красивых датчиков по больше.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

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

#40

Сообщение aidar_i » 27.08.2020{, 14:36}

CraCk писал(а):
26.08.2020{, 22:52}
Очень интересно увидеть сравнение по дальности ESP_NOW и BLE.
Дальность блютуз маленький.

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

Ответить

Вернуться в «Разработка пользовательских блоков»