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

Создаем свой блок. Вопросы, помощь знатоков.
fsergei70
Капитан
Сообщения: 857
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 39 раз
Поблагодарили: 7 раз

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

Сообщение fsergei70 »

Pauk81 писал(а): 19 ноя 2024, 19:56 Доброго времени суток всем! Подскажите пожалуйста добрые люди не могу разобраться с передачей ESP-NOW
с платой ESP32 и прием передача на Wemos D1, что делаю неверно в скейче архив вложен
cуть такова:

При подключении платы ESP32 устанавливается связь с Вемос_1 и, Вемос_2 на дисплее стату (Ок),(пример в архиве)
Когда на этой плате ESP32 включить кнопку на пине D4
устанавливается связь с Вемос_1 и, или Вемос_2 пример (моргания светодиодов на Вемос_1 и Вемос_2)
если шлейф оборвался идет передача, на плату ESP32 загораеться светодиод передача идет нормально
Но как только отключить питание на Вемос_1 или Вемос_2
на плате ESP32 светодиод остается гореть, и на дисплее статус (Ок) - Ложный сигнал.
Как сделать так чтобы : Если на Вемос_1 или Вемос_2, нет питания или обрыв, связи с потеря расстояния, и т.д.
на дисплее был статус (No) и светодиод чтобы не горел, до тех пор пока не будет опять установлена связь с одним из Вемосов

А главное: Если шлейф Вемос_1 или Вемос_2 находится выключен как сделать так чтобы контроллер уходил в сон?
И сразу посыпался как только опять будет обрыв шлейфа, передал и опять уснул.
Но дисплее показывал статус подключения (Ок) конечно же если есть соединение.

Может кто посоветует другую связь установки, но без роутера и интернета.
Может можно реализовать передачу и прием на самом Wifi между устройствами.
P.S. Использую ОС Windows 7/64 версию Flprog 7.3.8
Спасибо Всем.
Долго спать не получиться, как 32 определит уснули Wemos или питание пропало. Как вариант для контроля питания с wemos должна слать что то периодически на 32. потом засыпать на какое то время, просыпаться проверять шлейф и опять отсылать что то для контроля. Отсылать с wemos лучше случайное число. А на 32 проверять изменилось ли число.
Pauk81
Сержант
Сообщения: 107
Зарегистрирован: 16 ноя 2021, 22:02
Имя: Вячеслав
Благодарил (а): 22 раза

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

Сообщение Pauk81 »

fsergei70 писал(а): 20 ноя 2024, 19:32
Pauk81 писал(а): 19 ноя 2024, 19:56 Доброго времени суток всем! Подскажите пожалуйста добрые люди не могу разобраться с передачей ESP-NOW
с платой ESP32 и прием передача на Wemos D1, что делаю неверно в скейче архив вложен
cуть такова:

При подключении платы ESP32 устанавливается связь с Вемос_1 и, Вемос_2 на дисплее стату (Ок),(пример в архиве)
Когда на этой плате ESP32 включить кнопку на пине D4
устанавливается связь с Вемос_1 и, или Вемос_2 пример (моргания светодиодов на Вемос_1 и Вемос_2)
если шлейф оборвался идет передача, на плату ESP32 загораеться светодиод передача идет нормально
Но как только отключить питание на Вемос_1 или Вемос_2
на плате ESP32 светодиод остается гореть, и на дисплее статус (Ок) - Ложный сигнал.
Как сделать так чтобы : Если на Вемос_1 или Вемос_2, нет питания или обрыв, связи с потеря расстояния, и т.д.
на дисплее был статус (No) и светодиод чтобы не горел, до тех пор пока не будет опять установлена связь с одним из Вемосов

А главное: Если шлейф Вемос_1 или Вемос_2 находится выключен как сделать так чтобы контроллер уходил в сон?
И сразу посыпался как только опять будет обрыв шлейфа, передал и опять уснул.
Но дисплее показывал статус подключения (Ок) конечно же если есть соединение.

Может кто посоветует другую связь установки, но без роутера и интернета.
Может можно реализовать передачу и прием на самом Wifi между устройствами.
P.S. Использую ОС Windows 7/64 версию Flprog 7.3.8
Спасибо Всем.
Долго спать не получиться, как 32 определит уснули Wemos или питание пропало. Как вариант для контроля питания с wemos должна слать что то периодически на 32. потом засыпать на какое то время, просыпаться проверять шлейф и опять отсылать что то для контроля. Отсылать с wemos лучше случайное число. А на 32 проверять изменилось ли число.
Pauk81
Сержант
Сообщения: 107
Зарегистрирован: 16 ноя 2021, 22:02
Имя: Вячеслав
Благодарил (а): 22 раза

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

Сообщение Pauk81 »

Pauk81 писал(а): 20 ноя 2024, 19:44
fsergei70 писал(а): 20 ноя 2024, 19:32
Pauk81 писал(а): 19 ноя 2024, 19:56 Доброго времени суток всем! Подскажите пожалуйста добрые люди не могу разобраться с передачей ESP-NOW
с платой ESP32 и прием передача на Wemos D1, что делаю неверно в скейче архив вложен
cуть такова:

При подключении платы ESP32 устанавливается связь с Вемос_1 и, Вемос_2 на дисплее стату (Ок),(пример в архиве)
Когда на этой плате ESP32 включить кнопку на пине D4
устанавливается связь с Вемос_1 и, или Вемос_2 пример (моргания светодиодов на Вемос_1 и Вемос_2)
если шлейф оборвался идет передача, на плату ESP32 загораеться светодиод передача идет нормально
Но как только отключить питание на Вемос_1 или Вемос_2
на плате ESP32 светодиод остается гореть, и на дисплее статус (Ок) - Ложный сигнал.
Как сделать так чтобы : Если на Вемос_1 или Вемос_2, нет питания или обрыв, связи с потеря расстояния, и т.д.
на дисплее был статус (No) и светодиод чтобы не горел, до тех пор пока не будет опять установлена связь с одним из Вемосов

А главное: Если шлейф Вемос_1 или Вемос_2 находится выключен как сделать так чтобы контроллер уходил в сон?
И сразу посыпался как только опять будет обрыв шлейфа, передал и опять уснул.
Но дисплее показывал статус подключения (Ок) конечно же если есть соединение.

Может кто посоветует другую связь установки, но без роутера и интернета.
Может можно реализовать передачу и прием на самом Wifi между устройствами.
P.S. Использую ОС Windows 7/64 версию Flprog 7.3.8
Спасибо Всем.
Долго спать не получиться, как 32 определит уснули Wemos или питание пропало. Как вариант для контроля питания с wemos должна слать что то периодически на 32. потом засыпать на какое то время, просыпаться проверять шлейф и опять отсылать что то для контроля. Отсылать с wemos лучше случайное число. А на 32 проверять изменилось ли число.
Спасибо за ответ, долго спать и не нужно, но как сделать так чтобы уходил на какое - то время в сон, и посыпался сразу после обрыва шлейфа и опять в сон. Если отключить питание от Wemosov то на дисплее Esp32 остаются данные что подключено и led тоже горит. Если Вам не тяжело посмотрите пожалуйста мою схему не пойму где делаю ошибку.
fsergei70
Капитан
Сообщения: 857
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 39 раз
Поблагодарили: 7 раз

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

Сообщение fsergei70 »

долго спать и не нужно, но как сделать так чтобы уходил на какое - то время в сон, и посыпался сразу после обрыва шлейфа и опять в сон. Если отключить питание от Wemosov то на дисплее Esp32 остаются данные что подключено и led тоже горит. Если Вам не тяжело посмотрите пожалуйста мою схему не пойму где делаю ошибку.
У Wemos есть 2 режима сна глубокий и легкий. В глубоком сне просыпание происходит по таймеру.Пока время сна не пройдет контроллер не проснется. В легком сне просыпание происходит только по прерыванию, кнопку к примеру нажали просыпания по времени в легком сне нет. Для легкого сна блоков для FLProg я не встречал.
ESP32C3 поддерживат пробуждение и по таймеру и по прерыванию но блоко сна под нее нет пока. Вот тесты С3 если интересно
slonikx
Рядовой
Сообщения: 2
Зарегистрирован: 03 ноя 2024, 11:49
Имя: Андрей

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

Сообщение slonikx »

aidar_i писал(а): 16 ноя 2024, 14:17
slonikx писал(а): 13 ноя 2024, 18:44 Приветствую! Спасибо автору за блок. Возник такой вопрос – как добавить возможность смены канала? Согласно документации Espressif можно выбирать один из 14 каналов при связи через ESP-NOW, но пока не разобрался, где в коде это реализовано. Нашел такие строки, похоже на то, что нужно:

esp_now_peer_info_t peerInfo;
peerInfo.channel = 0;
peerInfo.encrypt = false;


Однако, замена нуля цифрами от 1 до 14 не дала результатов. Когда на приемнике и передатчике (оба ESP 32, оба в режиме приема-передача) установлена ​​одна цифра вместо нуля, нет двусторонней связи. Может ли кто-то подсказать?
Установка канала:
esp_wifi_set_promiscuous(true);
esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE);
esp_wifi_set_promiscuous(false);
Сканирование канала
int32_t channel = getWiFiChannel(ssid);
Спасибо за ответ!
egoistv
Рядовой
Сообщения: 36
Зарегистрирован: 02 дек 2020, 11:03
Имя: валд

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

Сообщение egoistv »

photo_2025-01-23_19-24-19.jpg
Друзья подскажите как реализовать такой проект, всю голову уже сломал ,основной блок с экраном на него выводятся данные с датчиков и идет управление реле и бмс с солнечным контр. как подружить несколько блоков esp now .Я так понимаю одним не обойтись . Грубо говоря 8 esp8266 и одна esp8266 с экраном.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ander
Лейтенант
Сообщения: 514
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

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

Сообщение Ander »

egoistv писал(а): 23 янв 2025, 19:48 photo_2025-01-23_19-24-19.jpgДрузья подскажите как реализовать такой проект, всю голову уже сломал ,основной блок с экраном на него выводятся данные с датчиков и идет управление реле и бмс с солнечным контр. как подружить несколько блоков esp now .Я так понимаю одним не обойтись . Грубо говоря 8 esp8266 и одна esp8266 с экраном.
А один разве не справится?
egoistv
Рядовой
Сообщения: 36
Зарегистрирован: 02 дек 2020, 11:03
Имя: валд

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

Сообщение egoistv »

в блоке всего 10 вх \вых ,а у меня больше и я переделывал блок на 26 вх\вых ,но он что то не работает. ставил один блок на 10 вх\вых и получается при подключении 3 esp одна из которых с экраном,то данные выводятся либо с одного датчика либо с другого ,а одновременно со всех информация не идет на esp с экраном
Ander
Лейтенант
Сообщения: 514
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

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

Сообщение Ander »

а зачем по разным входам - возьмите первый вход как сигнал информации - к примеру прилетело 1 - первый прибор передаёт, прилетело 5 то пятый.
остальные входо выходы информация.
egoistv
Рядовой
Сообщения: 36
Зарегистрирован: 02 дек 2020, 11:03
Имя: валд

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

Сообщение egoistv »

а как обратно делать от экрана к опреденным esр
Ander
Лейтенант
Сообщения: 514
Зарегистрирован: 31 окт 2023, 12:50
Имя: Андрей
Благодарил (а): 21 раз
Поблагодарили: 94 раза

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

Сообщение Ander »

Грубо говоря, разработайте свой протокол. Например, первый вход, выход это номер мк которому адресовано сообщение, второй от какого мк прилетело, третий команда, а последующие данные.
Pauk81
Сержант
Сообщения: 107
Зарегистрирован: 16 ноя 2021, 22:02
Имя: Вячеслав
Благодарил (а): 22 раза

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

Сообщение Pauk81 »

Подскажите пожалуйста можно ли организовать как-то передачу с помощью ESP-NOW (или какую то другую связь), передача данных с двух разных Esp8266, на один Esp32, так чтобы данные приходили по-очередности и не накладывались друг на друга. Далее если НЕТ подключение к роутеру Esp32 принимала эти данные отображала на веб страницы приём/передачу, а если ЕСТЬ подключение к роутеру выводила данные и на Каскаду. Если есть можно как-то глянуть схему. Буду Благодарен.
lfgjikjjyj
Сержант
Сообщения: 101
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 6 раз

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

Сообщение lfgjikjjyj »

да вроде можно
дать им разные макадреса и на стороне есп32 попробовать запилить обработчик
Pauk81
Сержант
Сообщения: 107
Зарегистрирован: 16 ноя 2021, 22:02
Имя: Вячеслав
Благодарил (а): 22 раза

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

Сообщение Pauk81 »

lfgjikjjyj писал(а): 09 май 2025, 20:13 да вроде можно
дать им разные макадреса и на стороне есп32 попробовать запилить обработчик
Да, но какие блоки применить...., беру один из блоков тот который на Еsp32 ставлю блок сравнения макадресов с esp8266, прием как бы не стабильный идёт срыв одного из еsp8266
lfgjikjjyj
Сержант
Сообщения: 101
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 6 раз

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

Сообщение lfgjikjjyj »

aidar_i писал(а): 27 июл 2020, 12:20 Испытал передачу с 2х ESP8266 на один ESP32. Чтобы узнать с какого модуля идут данные нужно, например, в строке написать название модуля или нумеровать в цифровом входе блока и блоком сравнения направить куда надо. Аналогично можно получать данные от множества модулей ESP.

Отправлено спустя 9 минут 50 секунд:
ussrtk писал(а): 27 июл 2020, 12:10 Cпасибо за работающий пример построения ПБ в новой среде FlProg
Пожалуйста! Экспериментирую с новым редактором. Эти блоки, думаю, еще придется доводить, чтобы , например, можно было входы для данных самому выбирать. Здесь пока я вывел все варианты, неиспользуемые нужно удалять вручную. Или создавать блоки для них отдельно.
Всё там есть оказывается может плохо искали
Ответить

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя