• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

??????

pvvx

Активный участник сообщества
Полагаю, что существенное потребление обеспечивает чип flash.
При старте большую часть составляет включенный WiFi в чипе. Почему он включен при старте - задавайте вопросы разработчикам - Espressif.
Потребление включенной части WiFi чипа примерно равно потреблению самого работающего CPU. Пики потребления у ESP8266 приходятся на очистку больших областей SRAM. При старте SDK это обязательно - очистка сегмента BSS и HEAP (т.е. запись практически всей SRAM нулями). Этого нет на вашем графике, что свидетельствует о просачивании питания по другим пинам или вообще неверного измерения (замер неизвестно чего).
Если к модулю припаять супер-кап, то пиков более тока его заряда в несколько мА вообще не будет для вашего замера :)
Про какие мкА у вас идет речь, если в конце вашего графика ток более 1 мА?
Года 3 назад уже давал решение просыпаний с частотой 50 мс и опросом датчика SHT7x. При этом время старта ESP8266 до опроса датчика равно 30 мс и 20 мс - deep-sleep (просто такой тест был, для экспа). Почему у вас хуже в 3 раза?
Опубликованный RapidLoader стартует SDK быстрее чем ваше эксп и давно используется в Web-свалке...
Спрашивается - нафига вам год назад разжевывал принципы как он работает и давал примеры?
За это время вы так и не смогли улучшить то, что вам уже давалось? :eek:
Но у flash есть режим экономии питания, в котором чип потребляет 1 мка.
Зависит от производителя чипа, температуры, напряжения питания и для используемых на модулях ESP8266 самых дешевых чипов Flash лежит в границах от пары мка до 20 мка (читайте их PDF и проверяйте реальными измерениями, а не абстрактными теоретическими описаниями тока потребления чипа по какой-то ноге в теоретическом вакууме :) ). Т.е. реальное расхождение может наблюдаться в десятках раз только по потреблению Flash от описываемых вами и не годятся для расчетов.
Статистики вообще не приводите, что очень похоже на выдумку или "Золотой эксклюзивный модуль на базе отобранного ESP8266" :) и данная, очередная тема от nikolz, как всегда не несет ничего практического.

Раз не можете измерить правильно сами, то давайте код (или прошивку) - измерим, да опишем ограничения и специфику использования...

Из-за ваших не знаний как работает ESP8266 и это рушится:
Идея такая. Так как в режиме boot вся программа находится в памяти и нет надобности во flash, то хотел бы включить flash в этот режим.
После возникновения прерывания снова включить активность flash. Полагаю, что это может дать существенное снижение потребляемого тока.
Для питания памяти надо оставить работающим встроенное LDO в чип, а оно, совместно с утечками на все компоненты жрет, т.к. в чипе нет PMU и все возможные "отключения" блоков производятся отключением CLK на них. А этого мало.

Озадачился вопросом работы ESP внутри boot(загрузчика),
т е без использования SDK и WIFI с целью проверки активности датчиков, достаточности питания т е реализацию работы CPU в ULP.
В чем смысл то какого-то единичного параметра? Есть какие-то практические реализации для применения ESP8266, кроме игры в мигание "светодиодом" через WiFi на Arduino?
Какую из практических реализаций на ESP8266 можно применить в простой системе, типа этой Интернет-магазин Ajax Systems: смарт-сигнализации для дома и офиса ?
Ответ заранее известен - ESP8266 не применимо ни в каких работающих устройствах для дома или офиса, тем более с автономным питанием. Иначе, за 4 года наличия чипа ESP8266 в доступе, были-бы представлены такие устройства (не говоря уже использовании во всяком бытовом хламе с питанием от сети - их тоже нет, кроме DIY SonOff без сертификации и каких-либо гарантий).
 
Последнее редактирование:

pvvx

Активный участник сообщества
Я вас уже спрашивал про проблемы в RL Вы отмахнулись.
Найти ответ? :) Было раз пять лично вам сказано, что есть одна проблема, которая не решена и у вас - ESP8266 стартует со включенным модулем WiFi (включенным тактированием CLK блока WiFi на неверной частоте).
SDK c версии где-то 1.0 по 2.0 не включают сами подачу CLK на блок WiFi, считая что он сам включен изначально :)
И вам было указано команда включения CLK, что её надо вставить перед стартом SDK, а так-же, раз вы туго соображали, как и сейчас :), были даны ссылки на пример полной стыковки всего на git, в случае проекта со стандартным SDK от Espressif с неисправленными ошибками...
Т е в отличии от Вашего решения, я лишь заменил загрузчик (первый файл с 0x0000 , а все остальное (второй файл с адреса 0x10000 ) обычный файл со стандартным SDK.
Т.е. сделали то-же самое, как и в случае RapidLoader - заменили первый загрузчик :) А жалуетесь на то, что документации нет, хотя описали всё что вам говорилось по данному поводу :)
Вот картинка работы (потребление) ESP в режиме загрузчика с прерыванием от таймера и от GPIO
ток потребления не более 12 ма.
Таймер включается на 81 mc.
После срабатывания таймера 1071 мс, плавно переходим в deep-sleep.
Посмотреть вложение 5305
Это вы руками график нарисовали по вашему вымыслу? :)
Нарисуйте хотя-бы полный график - от подачи питания или как вам рекомендовали другие включать ваш внешний костыль (таймер) - на CH_PD и посмотрим где там 75 мс :) :)

И у flash, устанавливаемых в модули ESP8266 не 1 мкА в режиме power-down. Измерьте, прежде сем писать :p
И про времена загрузки стандартного загрузчика вы опять пишите не верно.
Вариант с 30 мс вами не был освоен (похоже ждать не менее пару лет его понимания от вас) - он требует внешний костыль, иначе, при отключении питания на ESP8266 старта больше не будет - он работает только режиме автоматической перезагрузки между deep-sleep, т.к. информация в boot секторе переписана для отработки по ветке ошибки загрузчика, который в ROM :) Тем самым он делает это молча, без вывода кракзяб в UART, на что уходит основное время старта ESP8266.

И так-же нет ничего нового по поводу отключения Flash. При выполнении deep-sleep Flash переводиться в режим power-down, от чего в Espressif-китай-SDK и вторая ошибка - не всегда выходит в deep-sleep с записью в регистрах RTC и чипа для последующего быстрого старта-восстановления, описанного в документации, а стартует с записью protected, т.к. CPU успевает выполнить команду ret последней процедуры выхода в deep-sleep с возвратом в область Flash и далее выполняет 'рандом' команды с висячей шины и летит на ветку porotected (тут как повезет - это как там собрались заряды на шине до того и как синхронизнулась команда отключения для мееедленного RTC с её клоком) с записью в чип и RTC причины перезагрузки Protected, а не deep-sleep :p
Вы хотя-бы это исправили? :) А патченные либы разных версий SDK c устраненной этой random/плавающей ошибкой давались мной на почти весь ряд Espressif-китай-SDK...

И о потерях на перевод в режим power-down Flash на время работы пары команд уже загруженного boot. Его задача у вас - решить грузить ли далее SDK из Flash для работы c WiFi. Время передачи команды power-down через настроенный ROM загрузчиком SPI в одиночный режим с низкой тактовой во много раз более пары команд CPU (отношение за тысячи :), после которых опять придется включить Flash :) Итого: увеличение общего потребления из-за тупо-nicolz-алго. :)
Но это ничего - первые версии bootLoadera для Arduino от "сообщества" имели в своем коде специальную паузу на 1 сек, пока не дошла ругань до его создателя... :)

PS: В общем всё ясно - тема про наскальные рисунки от nicolz, про то, что ему кажется, т.к. примера что измерять как всегда нет.
 
Последнее редактирование:

pvvx

Активный участник сообщества
нда, разговор глухого со слепым.
1) Я вам пишу, что взял rboot,а Вы мне, что я повторил RL. но если посмотрите, то это вы делали после появления rboot и потом как всегда ругали, что он плохо сделан.
------------------
2) Напомню еще раз, про ваш RL. Когда я в нем получил ошибку после добавления своего кода работы с датчиками, то Вы объяснили что надо руками посчитать новую длину кода и записать в прогу. Вспомнили? Ну и зачем это мне.
Т е В вашем решении
1) руками считаем адрес старта основного приложения
2) командой win copy надо пришить ваш RL к началу прошивки и потом шить.
----------------
В моем решении на основе rbоot. Просто вместо boot.bin указываем nboot.bin
и ничего не надо ни считать ни пришивать.
Похоже на Ваше решение?
Да. Но беда с тем, что ваше решение надо делать ручками в ESP-TOOL и невозможно использовать с любыми прошивками, а мое - автоматом. Со времен dos существует команда копирования файла и в среде SDK и добавка rapidloader-а происходит автоматом в маке или другом скрипте. :)
copy /b rapidloader.bin + стартовый.блокSDK.bin данные_для_прошивки_в_000.bin
Я же просил помощи, а не восхваления Вашего решения, но Вас опять понесло на олимп.
Я обещал вам писать в вашем стиле, чтобы вам было привычнее. Своё - ближе к телу. :) Других стилей и обращений вы не понимаете, про что и указывали, и с чего и договорились, что вам понятно только если описано в вашем стиле :)
Вы у нас один ныне такой, кто ковыряется в давно известных многим вещей в уже устаревшем ESP8266.
Другим это всё пофигу - им надо только готовое. Вся надежда на вас, что вы до-реализуете для всех описываемые вещи. Других заинтересованных в этом - нет.

PS: rbоot был написан после публикации всех его составных частей и что требуется сделать и как. Досих пор он не содержит и 50% рекомендаций... Писатель оказался Безнадега - туго понимал, что ему говорят - типа как и вы. Пришлось делать свою публичную реализацию...
 
Последнее редактирование:

pvvx

Активный участник сообщества
Жёсткий слив темы...
Через время, учтя большую часть сказанного и описанного, да учтя ошибки, nicolz опять создаст аналогичную тему. Так уже продолжается года два.
В этом ничего страшного нет, кроме того, что он не желает использовать и изучать новые варианты WiFi-SoC.
А ESP8266 находится в стадии Arduino обмена готовыми скетчами и никаких новых разработок на нем уже не будет, как и копаться и что-либо менять в boot и прочих уже сложившихся и не всегда оптимальных решениях сделанных к нему для Arduino пару лет назад.
Битва в виде попытки исправлений всех багов для реализаций чего ли-бо рабочего на ESP8266 проиграна так-же года два назад из-за политики Espressif, а ныне он уже не актуален и имеет сугубо свою нишу - обучение игры в WiFi для Arduino в самых простых задачах. Т.е. для ознакомления с WiFi для возрастного уровня 11..15 лет с минимальной стоимостью демо-платок. Какие-то ускорения или оптимизации в этом деле не требуются, и большинство туда даже не полезет.
Если даже сегодня Espressif изменит политику - как либо опубликует всё что есть в чипе и все имеющиеся исходные коды, то это уже не изменит ничего.

И вместо того, чтобы попытаться как-то улучшить положение путем публикаций хороших решений на новых выходящих вещах, которые только формируются и учтут эти предложения, nikolz всё тупит над старым безнадежным ESP8266, время которого прошло – переделывать всё в нем с нуля уже никто не будет.
 
Последнее редактирование:

A_D

Active member
Через время, учтя большую часть сказанного и описанного, да учтя ошибки, nicolz опять создаст аналогичную тему. Так уже продолжается года два.
В этом ничего страшного нет, кроме того, что он не желает использовать и изучать новые варианты WiFi-SoC.
А ESP8266 находится в стадии Arduino обмена готовыми скетчами и никаких новых разработок на нем уже не будет, как и копаться и что-либо менять в boot и прочих уже сложившихся и не всегда оптимальных решениях сделанных к нему для Arduino пару лет назад.
Битва в виде попытки исправлений всех багов для реализаций чего ли-бо рабочего на ESP8266 проиграна так-же года два назад из-за политики Espressif, а ныне он уже не актуален и имеет сугубо свою нишу - обучение игры в WiFi для Arduino в самых простых задачах. Т.е. для ознакомления с WiFi для возрастного уровня 11..15 лет с минимальной стоимостью демо-платок. Какие-то ускорения или оптимизации в этом деле не требуются, и большинство туда даже не полезет.
Если даже сегодня Espressif изменит политику - как либо опубликует всё что есть в чипе и все имеющиеся исходные коды, то это уже не изменит ничего.

И вместо того, чтобы попытаться как-то улучшить положение путем публикаций хороших решений на новых выходящих вещах, которые только формируются и учтут эти предложения, nikolz всё тупит над старым безнадежным ESP8266, время которого прошло – переделывать всё в нем с нуля уже никто не будет.
Не, я не про предмет обсуждения говорю, с ESP давно вполне понятно .. что с применением, что с аудиторией. Я про то, как по-детски поступил топикстартер, "обидевшись\другое" взял да поудалял всё что мог.
 

pvvx

Активный участник сообщества
Как пример, для nikolz – при сборке версии 5 RapidLoader, используемого в web-свалке, исходники которого не опубликованы на git, а кинуты только тому, кто интересовался, были проведены тесты и учтены такие параметры:

1) Какие команды в asm у данного CPU самые короткие для реализации используемых алгоритмов.

2) Сравнения времени считывания данных с Flash с помощью обращения к SPI контроллеру свои и/или процедуры в ROM, или через аппаратные возможности XIP. Через XIP (который с “кещем”) оказалось быстрее.

3) Какие процедуры можно отнести уже на исполнение из Flash и какой минимум кода необходим для запуска системы XIP для работы CPU уже c процедурами Flash. И как будет быстрее – работать из Flash или догруженной IRAM.

4) Длина кода загружаемого самим ROM-BIOS загрузчиком на предмет анализа, что быстрее – время вывода одного дополнительного символа в logUART в виде “load 0x40100000, len 1xx, room 16” или “load 0x40100000, len xx, room 16”. Один символ на кривой скорости загружаемого размера boot или кучка команд на asm дающая какие-то ещё плюшки. Вышло, что вывод символа дает большую задержку и доп. плюшки не прошли.

5) Стоит или нет переключать PLL на установленный в модуле кварц или использовать стартовую настройку ROM-BIOS на кварц в 40 МГц. Длительность установки и синхронизации PLL с загрузкой стартовой части SDK в IRAM хоть с переходом на 160 МГц оказалась дольше, чем не менять то, что уже поставила ROM-BIOS при старте до RapidLoader-а.

Ну и т.д.

Nikolz - У вас время есть на все эти специфические тесты, да на устаревшем чипе, которые не пригодятся ни с чем другим? Вы уже писали, что этого времени и знаний по данным вопросам у вас нет, как и примитивного оборудования. А при наличии уже отлаженного комплекса и методологий для таких тестов на это уходит очень мало времени :p И “хобийный” интерес в таком случае оправдывается. :p
Я про то, как по-детски поступил топикстартер, "обидевшись\другое" взял да поудалял всё что мог.
Ну а как ему ответить?
Писать "простите-извините" или подобное? Дать исходники или примеры он не может.
Актерские (виртуальные-инет) роли давно расставлены и в варианте её исполнения у него такая программа уже утверждена и отработана не в первый раз. Это никак не значит и не говорит о реальном характере человека - такова его система и методы, реакции, выработанные обществом при общении в данной виртуальной среде. Писать правду он ещё не умеет. За правду бьют и это дозволено или покоряется только с опытом, которого тоже ещё у него нет.
Как-бы пример в тему Зависимость от компьютерных игр собираются признать психическим расстройством :)
 
Последнее редактирование:

A_D

Active member
Ну а как ему ответить?
Писать "простите-извините" или подобное? Дать исходники или примеры он не может.
Ну просто промолчать, ничего не удаляя самый норм, имхо, вариант..
Про примеры и исходники к слову, забавно получается. Свои не выкладывает, а уже пару тем видел, что спрашивает совета\решения, получает, потом пишет что у него все заработало и тему можно закрывать (не выкладывая решения). :)

Актерские (виртуальные-инет) роли давно расставлены и в варианте её исполнения у него такая программа уже утверждена и отработана не в первый раз. Это никак не значит и не говорит о реальном характере человека - такова его система и методы, реакции, выработанные обществом при общении в данной виртуальной среде. Писать правду он ещё не умеет. За правду бьют и это дозволено или покоряется только с опытом, которого тоже ещё у него нет.
Как-бы пример в тему Зависимость от компьютерных игр собираются признать психическим расстройством :)
А это спорно.. (про игры). Я считаю, что к ним можно по разному относится и просто если у человека есть какое либо расстройство, то он может находить утешение в играх, а сами игры это не причина расстройства. Я же не скрываю, что люблю иной раз поиграть, к примеру в шутеры, уже с 10-ок лет довольно регулярно играю (и не только шутеры), но как то и мысли не возникало пойти на улицу и начать перестрелку. Игры - как по мне, это один из вариантов для отдыха мозга, а вот сколько мозгу "отдыхать" - это уже должен человек решать сам. :)
 
  • Like
Реакции: kab

pvvx

Активный участник сообщества
Ну просто промолчать, ничего не удаляя самый норм, имхо, вариант..
Про примеры и исходники к слову, забавно получается. Свои не выкладывает, а уже пару тем видел, что спрашивает совета\решения, получает, потом пишет что у него все заработало и тему можно закрывать (не выкладывая решения). :)
Та и пусть. Такое тоже нужно. Вопросы то решаются, а читателей и ищущих решений может быть много...
А это спорно.. (про игры).
Всё можно оспорить и преподнести в другом свете.
А про игру я немного другое имел в виду. Вот если человеку дать ходули, то он будет ходить на них и приобретет некоторые привычки, которые в обычной жизни у него нет и не было, да будет делать на ходулях всё по другому, а со временем может и адаптируется и сможет сделать что нормальное и на ходулях... Так и в инет. Всё это игра со своими правилами и глупостями... :)
PS: А стер сообщения nikolz чтобы получить независимость, т.е. свободу. По другому ещё не умеет...
 
Последнее редактирование:

A_D

Active member
Всё можно оспорить и преподнести в другом свете.
А про игру я немного другое имел в виду. Вот если человеку дать ходули, то он будет ходить на них и приобретет некоторые привычки, которые в обычной жизни у него нет и не было, да будет делать на ходулях всё по другому, а со временем может и адаптируется и сможет сделать что нормальное и на ходулях... Так и в инет. Всё это игра со своими правилами и глупостями... :)
PS: А стер сообщения nikolz чтобы получить независимость, т.е. свободу. По другому ещё не умеет...
Смысл как я понял в общем, что надо постоянно что-то новое изучать)
Хотя допустим применимо к языкам программирования такой подход наверное оооочень растянут по времени, к примеру тот же делфи или паскаль уже довольно сильно устарели, хоть и используются, тот же шарп на порядок удобнее, имхо, и развивается большими шагами, хотя в общем хватает 5-6й версии языка и это не говоря про С++17 - там все наворочено и далеко не факт что понадобится в большинстве случаев, а для МК же зачастую используется С... старый добрый С, уже сколько лет не меняющийся. :)
Хотя с другой стороны - почти все это дело вкуса...
 
Сверху Снизу