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

Создаем свой блок. Вопросы, помощь знатоков.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

aidar_i писал(а): 30 июл 2020, 21:20 AlexCrane писал(а): ↑30.07.2020{, 23:13}
Связь односторонняя получается?
Сделал добавочный блок к основному, чтобы работала 2х сторонняя связь.
Тестировал связь между ESP8266 и ESP32.
ESP_NOW 2х сторонняя связь.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

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

Транзит можно сделать с универсальным блоком (настроенным на прием- передача), тогда нужно создавать доп переменные, или с помощью добавочного блока, так проще. В примере приведены оба варианта в одном проекте, запретите компиляцию неиспользуемой платы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Вывод данных на веб страницу через точку доступа, ПБ немного изменен, чтобы ничего не подправлять. Этот блок ESP_NOW EXCHANGE DATA_AP использовать только с ЕСП в режиме точки доступа, используя штатные настройки.
Прием данных ESP32 OLED new1 ТД.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

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

PS: Решил в новых блоках. См первое сообщение.
Последний раз редактировалось aidar_i 09 авг 2020, 09:48, всего редактировалось 2 раза.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение 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/
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Удалил
Аватара пользователя
Rovki
Полковник
Сообщения: 5725
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 221 раз
Контактная информация:

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

Сообщение Rovki »

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

Отправлено спустя 6 минут 37 секунд:
А тут про то что одновременно работать по вайфай и есп now проблематично :smile37: https://github.com/HarringayMakerSpace/ESP-Now
Электронщик до мозга костей и не только
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Вот здесь нет проблем!
Sanbi4
Рядовой
Сообщения: 76
Зарегистрирован: 30 окт 2019, 17:58
Имя: Сергей

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

Сообщение Sanbi4 »

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

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

slave 1 <> master <> slave 2

то есть мастер посылает команды слейвам, а слейвы сообщают сообщают об успешном (или нет) выполнении задания мастера. слейвам между собой общаться не обязательно. Было бы классно неоднократное использование блоков, а в блоках приема для мастера можно было прописывать мас с которого он принимает
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

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

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

slave 1 <> master <> slave 2

то есть мастер посылает команды слейвам, а слейвы сообщают сообщают об успешном (или нет) выполнении задания мастера. слейвам между собой общаться не обязательно. Было бы классно неоднократное использование блоков, а в блоках приема для мастера можно было прописывать мас с которого он принимает
Да, возможно, и мас передатчика возможно на приемнике определять. Блоки пока в доработке, сделал и в старом редакторе. Сперва на нем думаю доделать. Ваши пожелания учту
PS.Решено, в первом сообщении новые блоки, без мак адреса с которого он принимает, это организуется с обозначением есп .
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Видео работы блоков с WiFi, modbas tcp каскада
viewtopic.php?f=38&t=1563&p=92754#p92754
Так как пока "коммуникации" не работает в версии 7.0.4 flprog создал ПБ в старом редакторе и они проверялись в версии программы 6.3.1.
Позже выложу их после оформления и изменения по просьбе Rovky.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение CraCk »

aidar_i писал(а): 21 авг 2020, 21:15 Видео работы блоков с WiFi, modbas tcp каскада
Я так понимаю что принимающаю есп (шлюз) поочередно переключается между ESP_NOW и WiFi, чтоб отправить данные в WiFi сеть. Вопрос как будет гарантированная доставка сообщений, из отправляющих передатчиков по протоколу ESP_NOW в локальную сеть, если в это время есп (шлюз) будет в режиме WiFi передавать данные которые принял от какого нибудь другого датчика?
Аватара пользователя
Rovki
Полковник
Сообщения: 5725
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 221 раз
Контактная информация:

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

Сообщение 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 коммуникации заработали
Электронщик до мозга костей и не только
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

CraCk писал(а): 23 авг 2020, 19:52 Я так понимаю что принимающаю есп (шлюз) поочередно переключается между ESP_NOW и WiFi, чтоб отправить данные в WiFi сеть.
Работают одновременно.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение CraCk »

[ref=#000080]aidar_i[/ref],
Ага... тогда красота :smile9: А сколько к одному шлюзу можно подключить напрямую ЕСП датчиков, чтоб работали паралельно без колизий?
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение 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).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 20 янв 2021, 01:16, всего редактировалось 3 раза.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение 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
Аватара пользователя
Rovki
Полковник
Сообщения: 5725
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 221 раз
Контактная информация:

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

Сообщение Rovki »

У сиоми zigbee у датчиков вроде
Электронщик до мозга костей и не только
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение CraCk »

Rovki писал(а): 26 авг 2020, 23:16 У сиоми zigbee у датчиков вроде
Там и зигби тоже есть. Но блютуз дешевле будет, и выбор красивых датчиков по больше.
aidar_i
Полковник
Сообщения: 3358
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

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

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: Amazon [Bot] и 3 гостя