Вопрос по модификации устройств с целью запоминания состояния
#1
Отправлено 21 Октябрь 2022 - 12:19
Суть в чем. Дома имеется довольно много всяких USB устройств типа... ммм.... ну, скажем, светильников.
Чтобы светильник работал как тебе хочется, в общем случае надо понажимать на пульте много
разных кнопок. Но когда его вынимаешь из розетки, он эту настройку забывает.
А некоторые устройства - помнят.
Причем дорогущая кольцевая сэлфи-лампа состояние забывает, а коврик для мышки с подсветкой
за 250 рублей - помнит. Обычные цокольные лампы с пультом, за 900 рублей - выключатель включил, пульт понажимал,
потом свет выключил и по новой. Раздражает. Лишние телодвижения
Собственно вопрос - можно ли устройство доработать, чтобы оно своё состояние вспоминало после отключения питания?
В данном случае интересует:
А. Посредство чего именно реализуется такое "сохранение памяти"
Б. Возможен ли вариант, что в схеме просто не добавлен этот "запоминающий модуль" в целях удешевления и как такая "пустышка" может выглядеть на плате
В. Общий принцип добавления в схему такой запоминалки, даже если конструктивно установка модуля изначально не предусмотрена
Заранее благодарен
GlovesHard.jpg 125,24К 13 Количество загрузок:
#3
Отправлено 22 Октябрь 2022 - 10:01
Б. Такой вариант теоретически возможен, но вероятность его очень мала, мне не встречалось ни разу.
В:
1. Разбираем устройство, срисовываем схему и выясняем на каких компонентах оно сдедано.
2. Если удаётся идентифицировать управляющий микроконтроллер, и он поддаётся перепрошивке, и на него есть документация и инструменты разработки, и у него есть встроенная EEPROM то переходим к пункту 4.
3. Если у микроконтроллера нет маркировки, это какаято заказная, непрошиваемая микросхема без документации, то проще передетать устройство на подходящем, доступном мк. Для простых устройств проще заново разработать всю плату, либо сделать плату-переходник, впаиваемую на место оригинального мк.
4. Тщательно изучаем и записываем поведение оригинального устройства.
5. Пишем прошивку имитирующую поведение оригинального устройства.
6. После этого остаётся самое простое - дописать функцию сохранения состояния.
#4
Отправлено 23 Октябрь 2022 - 05:09
Вынимаете из розетки = сброс.
Вывод - продолжать подавать питание, не выключать из розеток и разъемов. Либо вскрыть устройство, и изучив схему, выяснить, что у контроллера есть нога, сохранение напряжения на которой позволяет помнить настройку.
#5
Отправлено 23 Октябрь 2022 - 21:33
Kupo_Moogle (23 Октябрь 2022 - 05:09) писал(а):
Вынимаете из розетки = сброс.
Вывод - продолжать подавать питание, не выключать из розеток и разъемов. Либо вскрыть устройство, и изучив схему, выяснить, что у контроллера есть нога, сохранение напряжения на которой позволяет помнить настройку.
Ага. Логично. То есть если на эту ногу повесить какое-то устройство, подающее напряжение для сохранения паитания, проблема может быть решена?
То есть аккумулятор+схема заряда, да?
Можете привести какие-нибудь примреы такого?
Вроде был какой-то электронный сингл-компонент, типа конденсатора, но как-то иначе назывался...
Сообщение отредактировано.
#7
Отправлено 24 Октябрь 2022 - 12:40
Или, например, любая метеринская плата со времен IBM PC AT имеет на борту батарейку для сохранения настроек биоса и RTC (схемы гуглятся)
#8
Отправлено 24 Октябрь 2022 - 22:40
Naevus (24 Октябрь 2022 - 12:40) писал(а):
Или, например, любая метеринская плата со времен IBM PC AT имеет на борту батарейку для сохранения настроек биоса и RTC (схемы гуглятся)
Да, про батарейки на мат.платах я немножко в курсе.
Просто предложенный общий случай с перепрошивкой контроллеров - сложноват для меня.
Поэтому я ищу спобсобы применения более простых и доступных методик.
"Повесить 3 кроны" - да, мне понятно.
"Определить протокол работы микроконтроллера и перешить EEPROM" - слегка сложновато
Поэтому сначала попробую что попроще.
#9
Отправлено 30 Октябрь 2022 - 10:44
ps А самый очевидный вариант не рассматриваете? Поскольку приведение девайса к нужному вам состоянию происходит путем нажатия неких кнопок в определенном порядке - не проще ли эмулировать этот порядок нажатия при подаче питания?
#10
Отправлено 31 Октябрь 2022 - 13:45
Naevus (30 Октябрь 2022 - 10:44) писал(а):
ps А самый очевидный вариант не рассматриваете? Поскольку приведение девайса к нужному вам состоянию происходит путем нажатия неких кнопок в определенном порядке - не проще ли эмулировать этот порядок нажатия при подаче питания?
#11
Отправлено 31 Октябрь 2022 - 17:17
ps Это просто первое что пришло в голову
#12
Отправлено 01 Ноябрь 2022 - 23:16
Naevus (30 Октябрь 2022 - 10:44) писал(а):
ps А самый очевидный вариант не рассматриваете? Поскольку приведение девайса к нужному вам состоянию происходит путем нажатия неких кнопок в определенном порядке - не проще ли эмулировать этот порядок нажатия при подаче питания?
Подробности - ок. Понял. Чуть позже, сорри.
uncle_sem (31 Октябрь 2022 - 13:45) писал(а):
Naevus (30 Октябрь 2022 - 10:44) писал(а):
ps А самый очевидный вариант не рассматриваете? Поскольку приведение девайса к нужному вам состоянию происходит путем нажатия неких кнопок в определенном порядке - не проще ли эмулировать этот порядок нажатия при подаче питания?
Ну... чутка немножко понятия есть.... даже уже проект родился:
генератор на к155ла3 и счётчик. Досчитал и остановился.
Но.... Это не влезет в корпус устройства )))
#13
Отправлено 06 Ноябрь 2022 - 19:13
dark256 (21 Октябрь 2022 - 12:19) писал(а):
разных кнопок. Но когда его вынимаешь из розетки, он эту настройку забывает.
dark256 (21 Октябрь 2022 - 12:19) писал(а):
dark256 (21 Октябрь 2022 - 12:19) писал(а):
А. Посредство чего именно реализуется такое "сохранение памяти"
Скорее всего, у той же кольцевой лампы всё плохо с ПЗУ, или оно не единое целое и у некоторых компонентов есть свои ПЗУ. Например, ИК-приёмник знает что надо сделать если примет нужную последовательность.
Можно поискать спецификации на все микросхемы лампы и по ним прикинуть количество памяти, где используется и подобное. Если память можно перезаписать на программаторе, то придётся возиться с чужим двоичным кодом и получать интересную профессию. Если найдется абстрактная сотня свободных байтов, код ИК-приёмника можно будет слегка изменить, поставив безусловный переход на свой инициализатор, который по завершении прыгает на оригинальный код. Лет 20 назад я бы счёл это интересной и решаемой задачей, а сейчас я просто забью
dark256 (21 Октябрь 2022 - 12:19) писал(а):
dark256 (21 Октябрь 2022 - 12:19) писал(а):
- Сменить код прошивки в какой-либо компоненте
- Добавить свою микросхему в разрыв некоторых дорожек: отключить подачу питания, когда прибор отключают, перестать заряжать батарейку питающую память, которую теперь питают от батарейки
- На внешнем устройстве проводить инициализацию сброшенного девайса
#15
Отправлено 10 Ноябрь 2022 - 15:23
Nuts_ (09 Ноябрь 2022 - 14:17) писал(а):
весьма лишь немногие могут залезть в двоичную прошивку, понять что там и как и тем более че то доделать, иногда гораздо проще создать свою с 0
Я примерно представляю )) Когда-то давно ковырялся с этим. Что там происходит сейчас - представляю....
Хотя с другой стороны - Ардуино - тот же контроллер. Хотя - да. Код не двоичный.