Форум программистов, компьютерный форум, киберфорум
Programma_Boinc
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.

Запись от Programma_Boinc размещена 31.05.2025 в 14:08
Показов 3239 Комментарии 0

Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.

Хотел бы поделиться опытом в исправлении ошибки приложения в части заряда батареи смартфона. Сразу скажу, что описанный способ подходит только для устройств без батареи.

Я совсем не программист, поэтому заранее прошу прощение за описанные костыли.

Телефоны решил собрать в некое подобие кластера. Делаю все из подручных средств. Пока все еще в процессе.
Первая часть кластера готова, подключено к компьютерному БП через преобразователь напряжения 12>5 В.
Прикладываю фото работающих телефонов с модифицированным приложением.

Небольшая предыстория. Ко мне в руки попало несколько смартфонов Vertex Impress Luck без батарей. Оперативки 1 Гб, 4 ядра, Android 8.1. Конечно железо слабое, но было интересно повозиться с этими телефонами и запустить на них BOINC.
Телефоны предполагалось использовать без батарей, провода питания подключал к контактам вместо батареи.

К сожалению, расчеты не запускались, все время висело сообщение:
"Расчеты возобновятся, когда заряд батареи достигнет 90% (в настоящее время 100%) (computing will resume when battery charge reaches 90% (currently 100%))".

В сети решения этой проблемы не нашел, но возможно плохо искал. На форуме boincstats было сообщение, что разработчики знают о такой проблеме, но решения пока нет.

Я подумал, что смогу как-нибудь отключить использование батареи в исходном коде приложения, ломать - не строить. На гитхабе довольно подробная инструкция по компиляции приложения под андроид с помощью WSL. Для модификации использовал версию 8.0.2.

Методом проб и ошибок я сделал следующий костыль. В файле client/cs_prefs.cpp вручную указал значение заряда батареи: int cp = 90;

И это сработало. Приложение скачало задание, и начался расчет.

Но каждые 28 секунд вычисления останавливались и начинались сначала. Оказалось проблема в отсутствии батареи. Хотя у меня уже несколько лет BOINC работает на смартфоне без батареи, там таких проблем не было, но там андроид версии 4.2.
В логе постоянно было сообщение "E/BOINC_GUI( 3087): [MONITOR] Monitor.reportDeviceStatus exception: temperature parsing error."

Приложение не могло определить температуру батареи и постоянно перезапускало вычисления.
Эту проблему я также решил с помощью костыля. В файле
android/BOINC/app/src/main/java/edu/berkeley/boinc/client/DeviceStatus.java вручную указал значение температуры батареи: int temperature = 10;

Сейчас приложение работает нормально, уже посчитано несколько заданий Einstein@home.
Костыль про температуру может быть опасен для устройств с батареей, может привести к перегреву батареи и к пожару. Поэтому его можно использовать только для устройств без батареи.
Нажмите на изображение для увеличения
Название: 2025-05-27-23-00-27.jpg
Просмотров: 244
Размер:	44.2 Кб
ID:	10859

Нажмите на изображение для увеличения
Название: 2025-05-27-23-00-47.jpg
Просмотров: 237
Размер:	66.4 Кб
ID:	10860
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru