• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8266(85) ESP-now->UDP->Supercap

nikolz

Well-known member
Добрый день,
В качестве информации.
С целью изучения возможности автономной работы ESP8266 собрал такую схему:
1) ESP8266 работает по протоколу ESP-now. Режим deep-sleep период 10 секунд.
Время на один сеанс связи составляет 116 ms.
--------------------------
2) ESP8266 принимает информацию от первой ESP по протоколу ESP-now и передает по WiFi
на компе по протоколу UDP.
На комп сервер на луа (6 строк)
----------------------------
Первоначально все работает от стационарного питания, но у первого ESP параллельно источнику включен суперконденсатор на 1f.
Напряжение питания 3.3 в.
-----------------------
Эксперимент - отключаем источник питания от первого ESP, оставив лишь суперкап заряженный до 3.3 в.
--------------------
Внутреннее показание напряжения питания падает с 3.2в до 2.77 в.
В результате первый ESP8266 на одном заряде суперкондера выполнил 65 сеансов связи.
В конце напряжение упало до 2.49 в.
===========================
Второй ESP можно подключить через USB к компу или смартфону и таким образом отказаться от роутера.
Можно включить на втором ESP точку доступа и поднять веб сервер для локального использования.
=========================
Применение протокола ESP-now дает следующие преимущества в модулях датчиков по сравнению с использованием WiFi.
-----------------------
1) так как никакие настройки для связи сохранять не надо,
то можно реализовать deep-sleep с использованием внешнего таймера например TPL5110.
В результате получим потребляемый ток в режиме сна не 20 мка, а менее 10 мка.
----------------------------------
2) Время сеанса по протоколу ESP-now существенно меньше чем при wifi.
Так минимальное время связи по UDP составляет 260 ms и увеличивается до 1-4 секунд при потере связи с роутером.
По протоколу ESP-now это время составляет 120 ms.
-------------------------------------
3) Существенно уменьшаются требования к источнику питания и существенно увеличивается длительность работы от одной батарейки.
---------------------------
4) Если для работы с датчиками использовать STM8L , а ESP8266 лишь для передачи данных по протоколу ESP-now, то затраты энергии на один сеанс составят 4.4 ма*s.
----------------------------------
Предположим нам надо обеспечить работу датчика в течении года без подзарядки с интервалом связи 30 секунд.
Определим емкость батарейки для этого.
Потери энергии на сон составят 9 ma*h.
Затраты энергии на работу составят 1293 ма*h
Таким образом надо батарейку в 1300 ма*h.
-----------------------
И главное преимущество - сеть ESP-now никто не увидит и хакеры могут отдыхать
 
Последнее редактирование:

rst

Member
4) Если для работы с датчиками использовать STM8L , а ESP8266 лишь для передачи данных по протоколу ESP-now, то затраты энергии на один сеанс составят 4.4 ма*s.
В этом случае смысла в ESP нет никакого. Раз есть отдельный МК и всё равно нужен какой-то центральный узел с WiFi-модулем, то просто заменяем везде ESP на nRF24L01+ и получаем в разы меньшее потребление. Либо какой-нить другой простой радиомодуль. ;)
 

nikolz

Well-known member
ESP8285 работает от суперкапа на 1 фараду 355 сеансов связи по протоколу ESP-now.
минимальное время сеанса 102 ms.
На графике изменение внутреннего напряжения источника питания
upload_2018-10-15_19-54-37.png
------
после тренировки суперкапа получилось 375 сеансов
 
Последнее редактирование:

rst

Member
про выигрыш в разы это Вы погорячились.
Да, возможно. Наверное надо было написать - в десятки раз. ;)

Да и заменять ESP на nrf24L01+ не катит.
Почему?

А Ваши выкладки какие будут?
Я делал домашнюю метеостанцию, но уже давно и подробностей не помню. Сохранилось только что в составе MSP430FR5xxx + nRF24L01+ + BMP180 + DHT22 - суммарный средний потребляемый ток был ~30мкА. Причём на nRF24L01+ из них приходилось только 2.6 мкА. Устройство спало, периодически просыпалось (период был точно не помню - пара минут примерно) и отправляло данные на сервер (другой nRF всё время в приёме).

информация к размышлению
У ESP мощность передатчика 100 мв, у NRF - 1 мв.
А самому хотя-бы подумать над этой самой инфой? Такая разница в мощности передатчиков совсем не наводит на мысли о разнице в потребляемой мощности? :cool:

deep-sleep ток ESP -20 мка NRF -26 мка.
Если не только открыть даташит, но ещё и потрудиться прочитать его, то можно заметить что nRF в power-down потребляет 0.9 мкА. А никак не 26. А ещё можно заметить, что время перехода из power down в активное состояние у nRF всего лишь == 1.5 мсек (ей не нужно нигде региться, а нужно просто отправить N байт в эфир). А сколько у ESP? ;)
А ещё у nRF (так как протокол простейший, ACK-и не использовал), оверхед на служебные поля кадра очень маленький. У ESP он наверняка больше.
И в результате имеем, что для режима сон-редкое пробуждение с передачей короткого пакета данных, эффективность nRF будет выше чем у ESP вполне возможно даже в десятки раз.
 
Последнее редактирование:

rst

Member
По протоколу ESP-now это время составляет 120 ms.
А почему ТАК МНОГО? :eek:
У меня на nRF отправка кадра текущих данных укладывалось всего в несколько мсек. Это от пробуждения МК до засыпания.
Вы и вправду считаете, что 100 мВт * 120 мсек будет не хуже по энергопотребелнию, чем 2-3мсек * 1 мВт? o_O
 

rst

Member
На самом деле с MSP430 применяют CC2500 так как это один производитель и есть готовые библиотеки
Причём тут "что и с чем кто-то где-то применяет", если разговор про потребление системы сбора с датчиков?

передатчик 100 мвт у ESP и 1 мв у NRF это для того чтобы Вы посчитали дальность на которую они могут работать.
Причём тут дальность если разговор про потребление??

ESP8285 - это все в одном чипе и память RAM 60 Kбайт и FLASH 1 Мбайт и процессор 32 разрядный на 160 мггц
Причём тут мегабайты и мегагерцы и разряды если разговор про ПОТРЕБЛЕНИЕ???

т е ESP позволяет не только просыпаться и передавать но и обрабатывать и накапливать
Внимательно перечитайте ещё раз моё исходное сообщение. Оно касалось упомянутого Вами случая когда в устройстве есть отдельный МК, а ESP - только для связи.
И причём тогда что там ESP умеет или не умеет обрабатывать?

Кроме того два протокола в одном флаконе. Можно передавать по UDP десятки килобайт.
у 430 сколько RAM ? как у STM8.
А мегабайты не может? Значит не подходит.....
Причём тут десятки КБ если для задачи нужно передать несколько байт? Только для того чтобы оправдать применение ESP и сожрать побольше мА?
И какая разница сколько RAM в МК если её достаточно для решения задачи?

Ну и последнее ESP8285 стоит 120 руб и размер 2x1.5 паять ничего не надо.
430 сколько стоит? примерно 500 руб и А сколько будет стоит плата с 430+nrf ?
Ещё раз - разговор был про ПОТРЕБЛЕНИЕ! При чём тут цена? И откуда Вы знаете какая другая периферия используется у меня на MSP430? И видимо даже знаете что есть в ESP? Может ещё расскажете где именно в ESP есть FRAM-память, которая у меня на MSP430 используется встроенная?
И может посчитаете сколько будет стоить внешняя FRAM при замене на ESP? И сколько потребуется ног для подключения всех моих датчиков? И можно ли будет вообще реализовать интерфейсы обмена этих датчиков?
К Вашему сведению: MSP430 у меня - бесплатный, а nRF с али стоил копейки. И в сумме это - много меньше чем озвученные 120 руб. И к теме это вообще не имеет никакого отношения.

Раз в 10 дороже чем ESP
Т е если считать по потреблению то STM8L+CC2500 будет потреблять при сне 1 мка а в работе не хуже 430+NRF.
А FRAM-память у STM8L где?
Итого: по теме сказано ==0. Но куча пустопорожних рассуждений о мегагерцах, мегабайтах и рублях....
На конкретные вопросы по ESP:
1) каково время перехода ESP из сна в активный режим передачи кадра данных (с разгоном PLL если нужно)?
2) какова минимальная длительность передачи кадра данных (если передать нужно всего лишь показания пары датчиков), т.е. - десяток байт?
3) каково время ожидания подтверждения на кадр данных (если оно необходимо)?
4) каково время перехода из активного режима в сон?
5) каково потребление во сне и во всех вышеуказанных режимах?
не дано ни одного ответа.
Соответственно - и выводы о Вашем уровне компетентности каждый может сделать сам....
 

rst

Member
Т е я изложил новую информацию, которую получил экспериментально.
Вы изложили чушь. К информации она никакого отношения не имеет. Ни на один из вопросов по существу не ответили. Так в чём польза вашей информации? Польза её == 0.
 

CodeNameHawk

Moderator
Команда форума
4) Если для работы с датчиками использовать STM8L , а ESP8266 лишь для передачи данных по протоколу ESP-now, то затраты энергии на один сеанс составят 4.4 ма*s.
Интересно бы посмотреть код для есп, которая принимает блок байтов с uart и передает на другую есп.
Какое общее потребление, время?
 

CodeNameHawk

Moderator
Команда форума
Так мало кому интересно узнать сколько потребляет бесполезный радио маяк.
Проблем в написании кода нет, но если вы проверите сколько потребляет с полезной нагрузкой это будет полезная информация.
 

CodeNameHawk

Moderator
Команда форума
Так и об этом, без передачи данных есп не нужна, а если даже передача коротких сообщений будет потреблять больше разумного...
 

CodeNameHawk

Moderator
Команда форума
Если есть возможность, замер времени и потребления при отсылке 1,2,4,16,32 байт с внешнего проца.
 

rst

Member
Если есть возможность, замер времени и потребления при отсылке 1,2,4,16,32 байт с внешнего проца.
Добавлю что - полного времени, включающего в себя: выход из сна + собственно передачу + ожидание ACK (если нельзя обойтись без оного) + уход в сон.
Я всё это уже спрашивал у автора. Но в ответ получил лишь то, что видно выше....
 

rst

Member
При изменении длины посылки от 16 до 250 байт, время активности изменяется в пределах погрешности измерения.
Получается: что 1 байт передавать, что 250 - один фиг будет 120 мсек со средним током 59 мА. Итого: 59*0.12/3600 = ~2 мкА/ч за сеанс. И ещё сеанс может увеличиться до непредсказуемых величин при отсутствии связи с удалённым ESP (отсутствии ACK-ов от него). Если я правильно понял.

провел эксперимент с питанием от конденсатора в 10 000 мкф (0.01f).
...
Отличие очевидно связано с потерей энергии на внутреннем сопротивлении суперкапа.
Энергия запасённая в конденсаторе - это функция не только от ёмкости, но и от напряжения. И даже более того - от ёмкости зависимость пропорциональная, в то время как от напряжения - квадратичная. Поэтому нет никакого смысла рассуждать об "энергии конденсатора" в отрыве от напряжения на его обкладках.
Т.е. - можно поставить кондёр хоть в 10 фарад, но, если разница между полностью заряженным конденсатором и уровнем напряжения на нём, при котором система перестаёт функционировать, будет составлять всего 0.5 В, то окажется, что если заменить его на кондёр всего в 10000 мкФ, но с разницей между уровнями напряжения (полной зарядки и минимального напряжения) == 20 В, то время работы устройства значительно увеличится.
 
Последнее редактирование:
Сверху Снизу