Устройство: Moto X Play (с рутом, Stock, Android 6.0.1, плата msm8916, XT1562)
(Давайте не будем указывать, являются ли мои причины действительными или нет, и примем, что я хочу , если вы не согласны с моими причинами)
Чтобы увеличить срок службы батареи, я хочу ограничить зарядку, когда она достигает 90%, как описано здесь. Идеальный процент зарядки/разрядки для максимального срока службы батареи?
Да, по крайней мере, на моем предыдущем устройстве Honor 6, как указано здесь . Как переопределить ток зарядки на Huawei Honor 6? , с двумя разными способами сделать это
Я безуспешно пытался определить ответственный файл, в котором изменение значений ограничило бы зарядку.
(как я видел на своем предыдущем устройстве, найти путь к файлу было большой проблемой после его идентификации)
Хорошо, понял :)
Первое, что нужно отметить, это то, что на Honor 6, моем предыдущем устройстве, был один файл, с которым я мог поиграть, чтобы автоматически остановить зарядку.
В Moto X play есть два разных файла: один для отключения зарядного устройства, а другой для удаления символа зарядки (другими словами, вы можете остановить зарядку, но при этом будет отображаться символ подключенного зарядного устройства). Пока я не понял это, я бегал по кругу, так как я взял символ зарядки, чтобы показать, что происходит зарядка (и предполагая, что я имел дело с неправильным файлом). Во время экспериментов, когда я заметил падение заряда, несмотря на отображение символа зарядки, я проверил приложение Ampere, и меня осенило!
Какие файлы?
( Редактировать: 30 марта 20 Джекпот! Нашел этот потрясающий репозиторий файлов для различных устройств разработчиком модуля Magisk Advanced Charging Controller . Вам лучше использовать этот универсальный модуль, но если вы хотите сделать все своими руками, это отличное начало).
Могут быть и другие файлы, но файлы, на которые я тоже обратил внимание:
Для значка зарядки: /sys/devices/soc.0/78d9000.usb/power_supply/usb/online
(Для отключения значка изменить значение файла с 0 to 1
)
Для зарядки: /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/charging_enabled
(Для отключения зарядки измените значение файла с 1 to 0
)
Для автоматизации подход был аналогичен моему ответу здесь с использованием эмулятора терминала и Macrodroid, как описано здесь — Как автоматизировать командную строку при запуске определенного приложения?
Как я нашел файлы?
Неэлегантно , и я надеюсь, что кто-то опубликует хороший способ. Вот способ, который может помочь вам определить файл и путь
Предположения
Долгие часы в сети и некоторое кодирование на GitHub (в котором я совсем не разбираюсь) заставили меня посмотреть на i2c
связанные usb
файлы с именами типа charger_enabled
или enable_charger
. Похоже, это верно для Honor 6, Moto X и некоторых устройств Nexus. Я понятия не имею, зависит ли это от чипсета или устройства
Истинный путь к этому файлу находится в /sys
. Опять же, может варьироваться
Следующие шаги
Выполните поиск charger enabled
или enable_charger
или поиск по подстановочным знакам с похожими словами в/sys
Изменить rw
разрешения, чтобы разрешить изменение содержимого с 1
на 0
или наоборот
Подключите зарядное устройство и посмотрите значение в файле, отключите и повторите. Если значение меняется, это похоже на правильный файл. Пока зарядное устройство подключено, измените значение в файле, и если зарядка прекратится, вы попали в него (тем более, если путь находится в i2c
каталоге). Подтвердите с помощью приложения Ampere, чтобы подтвердить статус зарядки
Пока вы этим занимаетесь, можете также копировать исходные и измененные файлы в отдельный каталог в вашем хранилище. Нужно для автоматизации
Если ваше устройство похоже на мое, где зарядка может быть остановлена, но отображается значок зарядки, нужно больше усилий, чтобы идентифицировать этот файл по ключевым словам, таким как online
или connected
или ???
Если вам повезет, вышеописанное должно сработать для вас
В качестве дополнительной информации для потомков ярлыки эмулятора терминала:
su –c "cp /storage/emulated/0/moto_charging/disable_charging/charging_enabled /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/"
;
su -c "cp /storage/emulated/0/moto_charging/no_symbol_charging/online /sys/devices/soc.0/78d9000.usb/power_supply/usb/"
su -c "cp /storage/emulated/0/moto_charging/show_charging/online /sys/devices/soc.0/78d9000.usb/power_supply/usb/"
;
su –c "cp /storage/emulated/0/moto_charging/enable_charging/charging_enabled /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/"
moto_charging
это папка, созданная на Внутренней SD, в которой есть оригинальные и измененные копии (для включения и отключения зарядки), и эти файлы копируются в систему. Конечно требует рут
Теперь есть Chargie — комбинация USB-накопителя и приложения для Android, которая ограничивает внешнюю зарядку. Просто установите флешку между зарядным устройством и телефоном и используйте приложение, чтобы выбрать уровень заряда. Просто как тот. Найдите в Google «зарядную палку».
Раскрытие информации: я являюсь генеральным директором Lighty Electronics. Мы разработали Chargie и хотели бы, чтобы люди, столкнувшиеся с этой проблемой, наслаждались нашим продуктом так же, как и мы. Никакого спама, только решение проблемы.
Вы беспокоитесь о чем-то, а также сосредотачиваетесь на чем-то несущественном.
Большинство современных телефонов имеют встроенную технологию, которая автоматически прекращает зарядку при уровне заряда от 90% до 100%.
Не покупайтесь на всю ерунду во всем цикле зарядки. Если у вас хороший телефон, вы будете золотыми в 100% случаев (при условии, что вы заряжаете свой телефон, когда его нужно заряжать. Это означает, что не каждую ночь ). Я протестировал много-много телефонов и еще не убедился, что эта «теория» цикла зарядки верна.
Ваш телефон уже построен таким образом. Когда вы видите, что он заряжен на 100%, это не буквально его емкость. OEM-производители делают это, чтобы люди не перезаряжали устройства. (То есть, если у вас телефон где ОЕМ шустрый).
Также важно отметить, что обычное использование телефона может разрядить аккумулятор за год. Выживание батареи не вечно, независимо от того, насколько здоров ваш цикл зарядки. Это зависит от того, как вы используете устройство, какие приложения загружаете и как они взаимодействуют с вашей батареей (потребление) и т. д.
В любом случае, вы можете использовать Safe Charge , приложение из Google Play, чтобы уведомлять вас, когда зарядка превышает определенный процент.
Источники
Помимо шести лет опыта, что само по себе немного, вот несколько соответствующих статей.
Существует также множество форумов, организованных сверстниками, на которых люди с многолетним опытом проверяли эту теорию и оказывались ложными. Устройства обрабатывают заряд самостоятельно и останавливаются, когда это необходимо.
сова
Дмитрий Григорьев
/sys/class/power_supply/
практически в любой системе Linux, которую я видел. Зачем вам нужно размещать их, например, внутри дерева i2c?бишайамс
Овидиу Сандру
Габриэль Стейплс