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

Глюки с выходом из длительного сна

pvvx

Активный участник сообщества
Для вашей задачи особо актуальный аппаратный глюк - у чипа неиcправен BOR.
 
Я в пятницу залил скетч, где установил deep sleep 0xffffffff. Чётко отработало 56 раз подряд. Без глюков и сбоев. Проблема только, что хотелось бы чтобы просыпался пореже, чем раз в час с хвостиком. Если это вообще возможно.
 

pvvx

Активный участник сообщества
А в чем проблема, что часто "просыпается"?
Чем это плохо?
Если каждый раз усреднять и записывать напряжение в Flash или RTC, то показания будут более четкими...
 

pvvx

Активный участник сообщества
Сокращение потребления, в случае с ESP8266, достигается вписыванием программы измерения и округления показаний в boot-loader. Остальное – включение WiFi и передачу и уже можно написать и в Arduino.

Типичное время работы специального boot-loader-а со старта с измерением составит около 80..90 ms, со средним потреблением 40..50 mA (Wifi отключен).

А старт с инициализацией Arduino выжирает гораздо больше. Тем более принципы работы в Arduino никогда не рассчитывались на малое потребление…
 

pvvx

Активный участник сообщества
Рассматривая ваш код, если Wifi соединяется раз в час и более менее стабильно, то среднее потребление составит от 58 мкА. Если не соединяется, то более 0.25 мА. А учитывая стабилизатор питания с необходимым током для работы WiFi в ESP8266 - лучший итог при всем супер-пупер будет не менее 0.1 мА.
0.02 мкА + (80 мА*1.75 сек)/3600 сек = 0.058 мА
Т.е. это эквивалентно потреблению со специальным boot-loader-ом с пробуждением каждые 100 сек (36 раз в час).
0.02 мкА + (50 мА*0.08 сек)/100 сек = 0.06 мА
PS: всё это смешно по сравнению с типовым BLE (Xiaomi LYWSD03MMC = измерение и передача показаний каждые 2.5 сек и индикация = 14 мкА).
 
А в чем проблема, что часто "просыпается"?
Чем это плохо?
Если каждый раз усреднять и записывать напряжение в Flash или RTC, то показания будут более четкими...
Я пока ещё не на том уровне, чтобы справиться с RTC и флешем.
Внесение программы измерения в бутлоадер тоже звучит он круто, но для меня немыслимо. Настолько немыслемо, что я даже не представляю с чего начать.
Даже как ограничить отправку сообщения раз в сутки, я пока не представляю.
 
Поставьте дешевый rtc модуль ds3231 и будете будить по будильнику.
Это не совсем подходящее мне решение. Раз в сутки машина может не стоять на парковке у дома и не словить вай-фай. Поэтому я и очень обрадовался, что можно штатными средствами получить 3.5-4 часа. И в принципе готов мириться с 4мя письмами в сутки.
А в процессе увидел, что есть возможность подключиться к серверу времени в интернете, но что-то она у меня не компилась. Пока выкинул. А так возникала у меня идея сравнивать дату и записывать в память, отправлялась ли почта сегодня.
 

pvvx

Активный участник сообщества
и т.д.
Основные функции:
1. Получает уведомления о состоянии батареи в диапазоне Bluetooth.
2. Автоматически проверяет систему управления транспортным средством во время запуска двигателя.
3. Проверка системы зарядки (генератор)
4. Показывает время каждого вождения.
5. Оповещает мобильный телефон при обнаружении аномальных данных.
6. Защита от короткого замыкания и обратного подключения.
7. Данные, хранящиеся в мониторе батареи до 35 дней, если они не синхронизируются.
8. Автоматическая синхронизация в диапазоне Bluetooth.
9. Совместим со всеми 12V батареями транспортного средства.
10. Показывает данные в графическом виде.
11. Автоматическое обнаружение запуска двигателя.
12. Бесплатное приложение для iOS и Android.
13. Поддержка управления несколькими батареями
14. Эксклюзивная частная учетная запись, данные не будут потеряны
15. Функция поиска местоположения автомобиля с помощью карты google.
16. Запись поездки с картой и маршрутом.
17. Работает со всеми батареями 12 В./Беспроводной (Bluetooth 4,0) in10 метр./Программное обеспечение для Android и iPhone./Все приложения для Android и iPhone разработаны нами, скачать бесплатно через Интернет.
 

pvvx

Активный участник сообщества
LYWSD03MMC – цена на али за 1 шт около 300 р, за пачку – менее 200 р

Основные функции альтернативной прошивки с опцией DIY_ADC_TO_TH = 1
  • Индикация напряжения с двух источников
  • Передача текущих показаний с настраиваемым периодом в 62.5 ms .. 10 sec
  • Запись истории в 20 тысяч замеров с задаваемым шагом
  • Время работы от CR2032 при default установках 1.5 года
Совместимость со всеми альтернативными "умными домами" и множеством программ для смартфонов.
Доработка для измерения напряжения от двух источников - припаять делители напряжения к контрольным точкам-выводам на плате.
Для доступа к п.плате требуется разобрать корпус путем откручивания двух мелких шурупов.
Для программирования требуется смартфон или комп с BT адаптером.
 

pvvx

Активный участник сообщества
В LYWSD03MMC достаточно неиспользуемых выводов, выведенных на тестовые контакты печатной платы, чтобы подключить ещё и выключатель питания/пробуждения вашего ESP или ещё чего для передачи аварийного оповещения о посадке батареи.
При этом главное преимущество остается - просмотр текущих показаний, истории и настройка конфигурации на смартфоне.
 

pvvx

Активный участник сообщества
@Gosha_Ginzburg - В вашем “кексе”:

float Tvoltage_Threshold_above = 12.6;
float Tvoltage_Threshold_below = 12.4;

Замер напряжения составлен из суммы 10 замеров с шагом 5 мс. При этом ESP жрет и включен WiFi, что плохо сказывается на его ADC - там нет такой точности, чтобы отделить 12.6 и 12.4 (1.6%). Если WiFi не выключен во время измерения, то рассчитывайте что ADC имеет не более 3-х бит или городите цифровые фильтры, отбрасывающие выбросы.

При старте стартером напряжение на батарее проседает очень хорошо и если замер придется на запуск, то будет ошибочная индикация об разряде батареи.
На среднестатистическом авто напряжение батареи частенько падает ниже 12.4В в пробках из-за кондиционера или зимой при большом минусе, что не говорит о её полном разряде.

Вам придется дорабатывать свой код ещё очень долго…
 
и т.д.
Основные функции:
1. Получает уведомления о состоянии батареи в диапазоне Bluetooth.
2. Автоматически проверяет систему управления транспортным средством во время запуска двигателя.
3. Проверка системы зарядки (генератор)
4. Показывает время каждого вождения.
5. Оповещает мобильный телефон при обнаружении аномальных данных.
6. Защита от короткого замыкания и обратного подключения.
7. Данные, хранящиеся в мониторе батареи до 35 дней, если они не синхронизируются.
8. Автоматическая синхронизация в диапазоне Bluetooth.
9. Совместим со всеми 12V батареями транспортного средства.
10. Показывает данные в графическом виде.
11. Автоматическое обнаружение запуска двигателя.
12. Бесплатное приложение для iOS и Android.
13. Поддержка управления несколькими батареями
14. Эксклюзивная частная учетная запись, данные не будут потеряны
15. Функция поиска местоположения автомобиля с помощью карты google.
16. Запись поездки с картой и маршрутом.
17. Работает со всеми батареями 12 В./Беспроводной (Bluetooth 4,0) in10 метр./Программное обеспечение для Android и iPhone./Все приложения для Android и iPhone разработаны нами, скачать бесплатно через Интернет.
Классный девайс. Прикольные плюхи. Но 🤷‍♂️
Уже начал развлекаться самостоятельно :)

Я так понимаю, что это готовый термометр - гигрометр, который можно потрошить и переделать под свои нужды?

При этом ESP жрет и включен WiFi, что плохо сказывается на его ADC - там нет такой точности, чтобы отделить 12.6 и 12.4 (1.6%). Если WiFi не выключен во время измерения, то рассчитывайте что ADC имеет не более 3-х бит или городите цифровые фильтры, отбрасывающие выбросы.
Для этого стоит перенести WiFi.begin в луп, после if отправки? Или это требует другого решения?
Выбросы, точность, попадание в старт ДВС мне не сильно мешают. Зимы у нас нет, когда авто не около дома - домашней wifi нету, письмо не придёт.
 
Поэтому я и очень обрадовался, что можно штатными средствами получить 3.5-4 часа. И в принципе готов мириться с 4мя письмами в сутки.
Просыпайтесь хоть 100 раз в сутки. Просто отправляйте письмо на каждое 100 пробуждение (счетчик пробуждений сделайте).
 
Сверху Снизу