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

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

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

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

#201

Сообщение aidar_i » 23.02.2022{, 16:50}

Пакет доставлен или не доставлен, передатчик ждет следующего сеанса передачи. Грачик сделал обратную связь оригинально, смотрите его видео. Используя двустороннюю связь можно контролировать дошли данные или нет. В блоке тоже есть функция обратной связи, можно там записать код для контроля доставки.
Когда включен дебуг пишется о доставке в уарт.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#202

Сообщение ArtemArable » 23.02.2022{, 17:38}

Спасибо. Изучаю. Мне нужно сохранять работоспособность устройства не зависимо от доставки. Будет транслироваться всего один дискрет, может ещё метка времени с ним от датчика присутствия. Устройств приема минимум 2. Данный протокол подходит как нельзя лучше. Спасибо за блок.
Так же планирую с ESPUI протестировать.

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

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

#203

Сообщение aidar_i » 23.02.2022{, 17:51}

ArtemArable писал(а):
23.02.2022{, 17:38}
Спасибо. Изучаю. Мне нужно сохранять работоспособность устройства не зависимо от доставки. Будет транслироваться всего один дискрет, может ещё метка времени с ним от датчика присутствия. Устройств приема минимум 2. Данный протокол подходит как нельзя лучше. Спасибо за блок.
Так же планирую с ESPUI протестировать.
С espui , кажется, Rovki тестировал.

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#204

Сообщение neangel » 23.02.2022{, 21:44}

ArtemArable писал(а):
23.02.2022{, 15:16}
Конкретизирую - если пакет не доставлен, как ведет себя передатчик?
Продолжая эту тему.

Не знаю по какой причине это происходит.
Но даже при отсутствии организованной обратной связи.
При потере приёмника потребление тока во время передачи у передатчика резко растёт
Примерно в 3 раза …. с 80 ма …. до 300 ма …. (ЕСП 32)

Если приёмник есть то во время передачи его потребление тока растёт на 10 … 20 ма .... с 80 ма (ЕСП 32)
Приёмник отключаю просто лишая его питания.
aidar_i писал(а):
23.02.2022{, 16:50}
Пакет доставлен или не доставлен, передатчик ждет следующего сеанса передачи.
Всё так.
Передатчик работоспособен всегда.
Но с потреблением тока происходят чудеса.
На которые и посоветовал обратить внимание при организации его питания.

Для тех кто пишет это.
ArtemArable писал(а):
23.02.2022{, 17:38}
Спасибо. Изучаю .... ещё метка времени с ним от датчика присутствия ...
Не забудьте изучить и это при организации вашего круглосуточного сторожа присутствия

Другими словами.
Передатчик.
При отсутствии приёмника и условно непрерывной передаче сожрёт батарейку за день.

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

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

#205

Сообщение aidar_i » 24.02.2022{, 04:14}

neangel писал(а):
23.02.2022{, 21:44}
При потере приёмника потребление тока во время передачи у передатчика резко растёт
Примерно в 3 раза …. с 80 ма …. до 300 ма …. (ЕСП 32)
Не измерял, посмотрю. Скорее влияет функция обратной связи.

Отправлено спустя 2 часа 11 минут 29 секунд:
neangel писал(а):
23.02.2022{, 21:44}
При потере приёмника потребление тока во время передачи у передатчика резко растёт
Посмотрел у себя, не обнаружил такого, но у меня ЕСП32 не голые, а модули с экранами и камерой. Но как стоит 190 ма так и стоит не шелохнется.

Попробуйте в передатчике у себя в скетче удалить строки и проверить
в Сетап:
esp_now_register_send_cb(OnDataSent101089310);
и в Функциях:
void OnDataSent101089310(const uint8_t *mac_addr, esp_now_send_status_t status)
{
}
Номер 101089310 у Вас может быть другим.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#206

Сообщение ArtemArable » 24.02.2022{, 20:06}

neangel писал(а):
23.02.2022{, 21:44}
ArtemArable писал(а):
23.02.2022{, 15:16}
Конкретизирую - если пакет не доставлен, как ведет себя передатчик?
Продолжая эту тему.

Не знаю по какой причине это происходит.
Но даже при отсутствии организованной обратной связи.
При потере приёмника потребление тока во время передачи у передатчика резко растёт
Примерно в 3 раза …. с 80 ма …. до 300 ма …. (ЕСП 32)

Если приёмник есть то во время передачи его потребление тока растёт на 10 … 20 ма .... с 80 ма (ЕСП 32)
Приёмник отключаю просто лишая его питания.
aidar_i писал(а):
23.02.2022{, 16:50}
Пакет доставлен или не доставлен, передатчик ждет следующего сеанса передачи.
Всё так.
Передатчик работоспособен всегда.
Но с потреблением тока происходят чудеса.
На которые и посоветовал обратить внимание при организации его питания.

Для тех кто пишет это.
ArtemArable писал(а):
23.02.2022{, 17:38}
Спасибо. Изучаю .... ещё метка времени с ним от датчика присутствия ...
Не забудьте изучить и это при организации вашего круглосуточного сторожа присутствия

Другими словами.
Передатчик.
При отсутствии приёмника и условно непрерывной передаче сожрёт батарейку за день.
Спасибо. У меня планируется сетевое питание. Интересовало не подвисает ли контроллер при не успешной передаче.

Отправлено спустя 4 минуты 32 секунды:
"esp_now_register_send_cb"
Если обратный вызов сделать отключаемым?

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

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

#207

Сообщение aidar_i » 24.02.2022{, 20:27}

ArtemArable писал(а):
24.02.2022{, 20:10}
Если обратный вызов сделать отключаемым?
Сперва испытайте, если сработает, сделаю.

Отправлено спустя 1 минуту 15 секунд:
ArtemArable писал(а):
24.02.2022{, 20:10}
Интересовало не подвисает ли контроллер при не успешной передаче.
Нет

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#208

Сообщение ArtemArable » 24.02.2022{, 20:39}

aidar_i писал(а):
24.02.2022{, 20:27}
ArtemArable писал(а):
24.02.2022{, 20:10}
Если обратный вызов сделать отключаемым?
Сперва испытайте, если сработает, сделаю.
4.03 на вахту, там смогу плотно заняться. Но, думаю, гибкость не помешает. Ситуаций, когда передающему устройству по-барабану доставлен пакет или нет, может быть много.

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#209

Сообщение neangel » 24.02.2022{, 21:01}

Здравствуйте aidar_i

Прежде всего хочу сказать.
Даже ваши самые первые блоки для ESP_NOW меня полностью устраивают.
Как то добавил к ним 3 интегрера и выложил здесь на форуме.
И это был тот вариант где больше ничего мне было не надо.
Ваши последние блоки устраивают тем более.

Потребление тока меня совершенно не волнует и устраивает так как есть.
Написал про фокус с питанием для других как интересный случай.

aidar_i писал(а):
24.02.2022{, 06:25}
Посмотрел у себя, не обнаружил такого, но у меня ЕСП32 не голые, а модули с экранами и камерой. Но как стоит 190 ма так и стоит не шелохнется.
Вы правы ЕСП32 у меня голые.
И ваш случай – не шелохнется … явно тоже кому-то будет полезно знать.

aidar_i писал(а):
24.02.2022{, 06:25}
Попробуйте в передатчике у себя в скетче удалить строки и проверить
в Сетап:
esp_now_register_send_cb(OnDataSent101089310);
и в Функциях:
void OnDataSent101089310(const uint8_t *mac_addr, esp_now_send_status_t status)
{
}
Номер 101089310 у Вас может быть другим.
Таких строчек у меня 4 …. т.к. в схеме есть приёмник и передатчик.
Удалил их все.
Ничего не поменялось.

Но всё-таки кое что поменялось.
Увидел что к макету подключены контакты usb для прошивки.
А там есть контакты питания … отключил их и с питанием стало всё гораздо круче.
Не 300 ма при потере приёмника а 750 ма.

Ещё раз подчеркну … мне и это по барабану … свою схему питать от батарейки не собираюсь.
Чтобы не творилось по питанию меня устроит всё.
Повторил про это уже два раза чтобы aidar_i забыл про эту тему.

Но кому то будет интересно что случаи бывают разные.

Не знаю как выложить здесь на странице видео с ютуба.
Поэтому выложу его этой ссылкой …. упс ... а видео вставляется автоматом ..

И добавлю ... каждый пик - это и есть передача ... по этим пикам можно посмотреть как ведёт себя питание.
и ещё ... про 5 вольт ... перед ЕСП 32 стоит стабилизатор 3,3 вольта
.

..
Последний раз редактировалось neangel 24.02.2022{, 21:08}, всего редактировалось 2 раза.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#210

Сообщение ArtemArable » 24.02.2022{, 21:06}

750 мА потребления не норма...

neangel
Сержант
Сообщения: 138
Зарегистрирован: 10.01.2019{, 13:13}
Репутация: 1
Откуда: Москва
Имя: Игорь

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

#211

Сообщение neangel » 24.02.2022{, 22:00}

ArtemArable писал(а):
24.02.2022{, 21:06}
750 мА потребления не норма...
Будем считать что это моя норма.

Но объясните мне …. если сможете … кто вам мешает выбрать норму от aidar_i
aidar_i писал(а):
24.02.2022{, 06:25}
Посмотрел у себя, не обнаружил такого, но у меня ЕСП32 не голые, а модули с экранами и камерой. Но как стоит 190 ма так и стоит не шелохнется.

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

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

#212

Сообщение aidar_i » 24.02.2022{, 22:07}

neangel писал(а):
24.02.2022{, 22:00}
Повторил про это уже два раза чтобы aidar_i забыл про эту тему.
Договорились! :)

egor19741974
Рядовой
Сообщения: 7
Зарегистрирован: 26.09.2021{, 16:23}
Репутация: 0
Имя: сергей

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

#213

Сообщение egor19741974 » 17.03.2022{, 18:46}

aidar_i писал(а):
24.02.2022{, 22:07}
neangel писал(а):
24.02.2022{, 22:00}
Повторил про это уже два раза чтобы aidar_i забыл про эту тему.
Договорились! :)
хорошая работа...спасибо...поделимся как используем мы..с МЕШ незаладилось у нас..в ваших блоках удобнее нам так было..чтобы соединить несколько есп используем только 2 интеджера.первый как индекс сообшения ..второй само сообшение..тоесть одно устройство передаёт первый интеджер 1 и второй само сообшение..потом индекс 2 и сообшение..другие есп принимают..и сравнением берут только свое сообшение ..и передают на техже интеджерах свои..но с другими индексами.тоесть в блоке в принципе хватит 2 интеджера..

Отправлено спустя 1 минуту 39 секунд:
aidar_i писал(а):
24.02.2022{, 22:07}
neangel писал(а):
24.02.2022{, 22:00}
Повторил про это уже два раза чтобы aidar_i забыл про эту тему.
Договорились! :)
Теперь вопрос к вам..непланируете чтото типа МЕш сети на ESP_NOW создать..?сообшения по индексу...и построение сети по команде и оптимальному маршруту?

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

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

#214

Сообщение aidar_i » 18.03.2022{, 06:31}

egor19741974 писал(а):
17.03.2022{, 18:48}
Теперь вопрос к вам..непланируете чтото типа МЕш сети на ESP_NOW создать..?сообшения по индексу...и построение сети по команде и оптимальному маршруту?
Я делал блоки для МЕШ. Доработать хотел, но
пока руки не дошли. Может займусь, если будет время. Поищите в форуме, там были старые блоки, Они рабочие, но в старых версиях Ардуино Иде.

egor19741974
Рядовой
Сообщения: 7
Зарегистрирован: 26.09.2021{, 16:23}
Репутация: 0
Имя: сергей

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

#215

Сообщение egor19741974 » 18.03.2022{, 07:15}

aidar_i писал(а):
18.03.2022{, 06:31}
egor19741974 писал(а):
17.03.2022{, 18:48}
Теперь вопрос к вам..непланируете чтото типа МЕш сети на ESP_NOW создать..?сообшения по индексу...и построение сети по команде и оптимальному маршруту?
Я делал блоки для МЕШ. Доработать хотел, но
пока руки не дошли. Может займусь, если будет время. Поищите в форуме, там были старые блоки, Они рабочие, но в старых версиях Ардуино Иде.
спасибо посмотрим...надеюсь будет у вас время продолжить работу над МЕШ

Kubota1989
Рядовой
Сообщения: 2
Зарегистрирован: 04.02.2022{, 09:51}
Репутация: 0
Имя: Вячеслав

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

#216

Сообщение Kubota1989 » 30.03.2022{, 00:06}

Народ подскажите как мне добавить больше 2х bool ? мне надо 12 кнопок с пульта передвать сигнал .

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

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

#217

Сообщение ArtemArable » 30.03.2022{, 04:48}

Кодированием/декодированием

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

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

#218

Сообщение aidar_i » 30.03.2022{, 06:21}

Kubota1989 писал(а):
30.03.2022{, 00:06}
Народ подскажите как мне добавить больше 2х bool ? мне надо 12 кнопок с пульта передвать сигнал .
Посмотрите видео Грачика.

Kubota1989
Рядовой
Сообщения: 2
Зарегистрирован: 04.02.2022{, 09:51}
Репутация: 0
Имя: Вячеслав

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

#219

Сообщение Kubota1989 » 30.03.2022{, 06:44}

aidar_i писал(а):
30.03.2022{, 06:21}
Посмотрите видео Грачика.
уже посмотрел там он 2 кнопки ставил и всё как больше подключить на этот блок непонятно. а сам блок я неумею редактировать.

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

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

#220

Сообщение aidar_i » 30.03.2022{, 19:18}

Kubota1989 писал(а):
30.03.2022{, 06:44}
aidar_i писал(а):
30.03.2022{, 06:21}
Посмотрите видео Грачика.
уже посмотрел там он 2 кнопки ставил и всё как больше подключить на этот блок непонятно. а сам блок я неумею редактировать.
Он там передавал болеан через интежер!

Ответить

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