ESP_NOW, передача данных между ESP8266 ( ESP32 )
-
- Лейтенант
- Сообщения: 556
- Зарегистрирован: 04 июн 2022, 04:14
- Имя: Михаил
- Благодарил (а): 5 раз
- Поблагодарили: 9 раз
ESP_NOW, передача данных между ESP8266 ( ESP32 )
Что значит одновременно передавали информацию?
Каким образом синхронизация передачи устроена?
Wemos1 и Wemos2 передают данные в разных переменных?
Каким образом синхронизация передачи устроена?
Wemos1 и Wemos2 передают данные в разных переменных?
-
- Рядовой
- Сообщения: 33
- Зарегистрирован: 03 июн 2021, 10:33
- Откуда: Мариуполь/Биробиджан
- Имя: Сергей
- Благодарил (а): 19 раз
- Поблагодарили: 12 раз
ESP_NOW, передача данных между ESP8266 ( ESP32 )
На принимающей стороне (ESP32) включите отображение MAC-адреса передатчика.
Далее через сравнение строк определяете откуда прилетела посылка, и в зависимости от того какой вемос передал значение, будете ложить полученное значение в ту или иную переменную.
Примерно так, только переменные вашего типа и в вашем количестве.
Далее через сравнение строк определяете откуда прилетела посылка, и в зависимости от того какой вемос передал значение, будете ложить полученное значение в ту или иную переменную.
Примерно так, только переменные вашего типа и в вашем количестве.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 107
- Зарегистрирован: 16 ноя 2021, 22:02
- Имя: Вячеслав
- Благодарил (а): 22 раза
ESP_NOW, передача данных между ESP8266 ( ESP32 )
да именно так, Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.WildCat писал(а): 15 мар 2024, 02:00 Что значит одновременно передавали информацию?
Каким образом синхронизация передачи устроена?
Wemos1 и Wemos2 передают данные в разных переменных?
Отправлено спустя 1 минуту 9 секунд:
нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.Vrungel писал(а): 15 мар 2024, 02:08 нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.
Отправлено спустя 2 часа 37 минут 9 секунд:
Допустим: Wemos1 передал значение температуры и на экране выводится на ПЕРВОЙ СТРОКЕ, измениться значение только когда поменяется температура на датчике в Wemos1.
И Wemos2 тоже передал значение температуры и на экране выводится на ВТОРОЙ СТРОКЕ,измениться значение только когда поменяется температура на датчике в Wemos2.
Когда передаются значения температур от Wemos1 и Wemos2 на ПЕРВОЙ и ВТОРОЙ СТРОКЕ дисплея выводятся значение этих двух Wemos1 и Wemos2
Отправлено спустя 2 минуты 45 секунд:
таким образом устроена...
Отправлено спустя 2 часа 27 минут 43 секунды:
Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.WildCat писал(а): 15 мар 2024, 02:00 Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.
Отправлено спустя 16 минут 26 секунд:
[ref]WildCat[/ref], посмотрите пожалуйста мою схему..
Отправлено спустя 3 часа 49 минут 21 секунду:
посмотрите пожалуйста мою схему..
Отправлено спустя 3 часа 25 секунд:
Вопрос был в том чтобы данные с обоих вемосов выводились на экран еsp32, НЕ ПЕРИОДИЧЕСКАЯ смена адресов.!!!!Vrungel писал(а): 15 мар 2024, 02:08 На принимающей стороне (ESP32) включите отображение MAC-адреса передатчика.
Далее через сравнение строк определяете откуда прилетела посылка, и в зависимости от того какой вемос передал значение, будете ложить полученное значение в ту или иную переменную.
Примерно так, только переменные вашего типа и в вашем количестве.
Снимок экрана 2024-03-15 115751.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ESP_NOW, передача данных между ESP8266 ( ESP32 )
Есп работает в теплице вынуть её
проблематично, прошиваю по воздуху бинарником,
хочу добавить wifi now чтоб смотреть
температуру удалённо посоветуйте как узнать мак адрес есп 8266?
проблематично, прошиваю по воздуху бинарником,
хочу добавить wifi now чтоб смотреть
температуру удалённо посоветуйте как узнать мак адрес есп 8266?
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
ESP_NOW, передача данных между ESP8266 ( ESP32 )
Смотрите первое сообщение.Lukum писал(а): 31 мар 2024, 18:59 Есп работает в теплице вынуть её
проблематично, прошиваю по воздуху бинарником,
хочу добавить wifi now чтоб смотреть
температуру удалённо посоветуйте как узнать мак адрес есп 8266?
ESP_NOW, передача данных между ESP8266 ( ESP32 )
Всё понял как нужно в приёмнике смотреть, а я в передатчике через web искал спасибо
- ramonmetelica
- Рядовой
- Сообщения: 1
- Зарегистрирован: 28 янв 2022, 18:40
- Имя: Roman
ESP_NOW, передача данных между ESP8266 ( ESP32 )
Добрый всем день!aidar_i писал(а): 03 дек 2023, 09:54Прочитал:Phazz писал(а): 02 фев 2023, 15:04 работают (передача данных) только когда на расстояние друг от друга на сентиметров 10.
WiFi (и ESP-NOW) может работать в 3х режимах - b g n. По умолчанию стоит n. Перед включением ESP-NOW принудительно выставляем b.
n - большая скорость, низкая дальность.
b - наоборот.
Проверьте.
Также пишут ESP32 до 1 км по прямой может, появился новая примочка Long Range для espnow:
Добавить в setup() : esp_wifi_set_protocol( WIFI_IF_STA, WIFI_PROTOCOL_LR);
Где в коде это найти, чтоб изменить дальность связи?
Передатчик на esp32 только один раз передает данные, а потом связь с приемником (esp32) теряется, расстояние между ними - 10м. Когда лежат рядом, то работают стабильно!
-
- Сержант
- Сообщения: 107
- Зарегистрирован: 16 ноя 2021, 22:02
- Имя: Вячеслав
- Благодарил (а): 22 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Подскажите пожалуйста такой вопрос, снимаю показания с батареи на плате ESP32 вывожу на дисплей 1602 показания всё работает хорошо. Но при установке блока ESP_NOW на плату ESP32 показания пропадают и выводит все нули, в чем причина может быть? Eсли просто добавить блок ESP_NOW, то сразу нет показаний, если блок убрать то все работает.
- badr555
- Рядовой
- Сообщения: 13
- Зарегистрирован: 09 май 2022, 12:04
- Откуда: Bytom, Poland
- Имя: Andrey
- Поблагодарили: 2 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Есть просьба для aidar_i, можно для ваших блоков ESP_NOW на плату ESP32 указывать версию FLProg, IDE arduino, необходимых библиотек и их версии а также версии плат ESP32?
Это крайне важно т.к. с выходом новых версий всего этого разношерстного набора где-то что-то обязательно ломается, а у китайского ESPRESSIF это происходит очень часто.
Это крайне важно т.к. с выходом новых версий всего этого разношерстного набора где-то что-то обязательно ломается, а у китайского ESPRESSIF это происходит очень часто.
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Здравствуйте! Подскажите пожалуйста, где искать ответ на такую проблему.
Схема подключения: ESP8266 передатчик - домашняя сеть WiFi (роутер)-приемник ESP32, все работает если установлен широковещательный МАС-адрес. Ставлю на передатчик мас- адрес приемника, обмен данными не работает.
Схема подключения: ESP8266 передатчик - домашняя сеть WiFi (роутер)-приемник ESP32, все работает если установлен широковещательный МАС-адрес. Ставлю на передатчик мас- адрес приемника, обмен данными не работает.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Значит, где то ошибка, при вставке мак адреса или его определении. Скиньте проект.BugoR писал(а): 23 окт 2024, 06:29 Здравствуйте! Подскажите пожалуйста, где искать ответ на такую проблему.
Схема подключения: ESP8266 передатчик - домашняя сеть WiFi (роутер)-приемник ESP32, все работает если установлен широковещательный МАС-адрес. Ставлю на передатчик мас- адрес приемника, обмен данными не работает.
- badr555
- Рядовой
- Сообщения: 13
- Зарегистрирован: 09 май 2022, 12:04
- Откуда: Bytom, Poland
- Имя: Andrey
- Поблагодарили: 2 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Не компилируется: Текст ошибки:
Проект от aidar_i
Проект от aidar_i
► Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- badr555
- Рядовой
- Сообщения: 13
- Зарегистрирован: 09 май 2022, 12:04
- Откуда: Bytom, Poland
- Имя: Andrey
- Поблагодарили: 2 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
aidar_i
Сецчас проверил все Ваши примеры из первого сообщения ни один не работает:
FLProg вресии: 7.5.0, 8.2.3 - не работает.
Объясните мне тупому, как заставить это работать?
Менял версии библиотек, плат - не работает. Ваши примеры не изменял, использовал как есть. В COM-порт выводятся данные только при старте, далее тишина.
Сецчас проверил все Ваши примеры из первого сообщения ни один не работает:
FLProg вресии: 7.5.0, 8.2.3 - не работает.
Объясните мне тупому, как заставить это работать?
Менял версии библиотек, плат - не работает. Ваши примеры не изменял, использовал как есть. В COM-порт выводятся данные только при старте, далее тишина.
- badr555
- Рядовой
- Сообщения: 13
- Зарегистрирован: 09 май 2022, 12:04
- Откуда: Bytom, Poland
- Имя: Andrey
- Поблагодарили: 2 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Проблема решилась, заменой портативной версии 7.5.0 на установочную 7.5.0.
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
работает только с широковещательным адресом
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
MAC адрес без ошибок я его сверил в двух местах, на роутере в таблице DHCP-клиенты и на приемнике отправкой MAC адреса в USART
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Приветствую! Спасибо автору за блок. Возник такой вопрос – как добавить возможность смены канала? Согласно документации Espressif можно выбирать один из 14 каналов при связи через ESP-NOW, но пока не разобрался, где в коде это реализовано. Нашел такие строки, похоже на то, что нужно:
esp_now_peer_info_t peerInfo;
peerInfo.channel = 0;
peerInfo.encrypt = false;
Однако, замена нуля цифрами от 1 до 14 не дала результатов. Когда на приемнике и передатчике (оба ESP 32, оба в режиме приема-передача) установлена одна цифра вместо нуля, нет двусторонней связи. Может ли кто-то подсказать?
esp_now_peer_info_t peerInfo;
peerInfo.channel = 0;
peerInfo.encrypt = false;
Однако, замена нуля цифрами от 1 до 14 не дала результатов. Когда на приемнике и передатчике (оба ESP 32, оба в режиме приема-передача) установлена одна цифра вместо нуля, нет двусторонней связи. Может ли кто-то подсказать?
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Установка канала: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);
-
- Сержант
- Сообщения: 107
- Зарегистрирован: 16 ноя 2021, 22:02
- Имя: Вячеслав
- Благодарил (а): 22 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Доброго времени суток всем! Подскажите пожалуйста добрые люди не могу разобраться с передачей 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
Спасибо Всем.
с платой 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
Спасибо Всем.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 107
- Зарегистрирован: 16 ноя 2021, 22:02
- Имя: Вячеслав
- Благодарил (а): 22 раза
Re: ESP_NOW, передача данных между ESP8266 ( ESP32 )
Pauk81 писал(а): 15 мар 2024, 23:08да именно так, Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.WildCat писал(а): 15 мар 2024, 02:00 Что значит одновременно передавали информацию?
Каким образом синхронизация передачи устроена?
Wemos1 и Wemos2 передают данные в разных переменных?
Отправлено спустя 1 минуту 9 секунд:нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.Vrungel писал(а): 15 мар 2024, 02:08 нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.
Отправлено спустя 2 часа 37 минут 9 секунд:Допустим: Wemos1 передал значение температуры и на экране выводится на ПЕРВОЙ СТРОКЕ, измениться значение только когда поменяется температура на датчике в Wemos1.
И Wemos2 тоже передал значение температуры и на экране выводится на ВТОРОЙ СТРОКЕ,измениться значение только когда поменяется температура на датчике в Wemos2.
Когда передаются значения температур от Wemos1 и Wemos2 на ПЕРВОЙ и ВТОРОЙ СТРОКЕ дисплея выводятся значение этих двух Wemos1 и Wemos2
Отправлено спустя 2 минуты 45 секунд:таким образом устроена...
Отправлено спустя 2 часа 27 минут 43 секунды:Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.WildCat писал(а): 15 мар 2024, 02:00 Wemos1 и Wemos2 передают в разных переменных но на экран esp32 выводятся данные с начало с одного Wemos1 а потом с другого Wemos2. То есть данные не остаются постоянно сбрасываются и выводятся по очередности. А нужно чтобы остались данные с Wemos1 и пришли с Wemos2, пока на одном из них не изменяться значение.
Отправлено спустя 16 минут 26 секунд:
[ref]WildCat[/ref], посмотрите пожалуйста мою схему..
Отправлено спустя 3 часа 49 минут 21 секунду:посмотрите пожалуйста мою схему..
Отправлено спустя 3 часа 25 секунд:Vrungel писал(а): 15 мар 2024, 02:08 На принимающей стороне (ESP32) включите отображение MAC-адреса передатчика.
Далее через сравнение строк определяете откуда прилетела посылка, и в зависимости от того какой вемос передал значение, будете ложить полученное значение в ту или иную переменную.
Примерно так, только переменные вашего типа и в вашем количестве.
Снимок экрана 2024-03-15 115751.png
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость