Где проходит граница
Разберём, как это устроено и какой ценой достигается.
В автомобиле не один компьютер, а много. Отдельные блоки управляют двигателем, тормозами, батареей, подушками безопасности, климатом. Общаются они между собой по CAN-шине — внутренней сети автомобиля.
Мультимедиа с большим экраном — тоже блок, но особенный. Он показывает информацию и развлекает, а к управлению движением отношения не имеет.
ToolBox работает исключительно внутри мультимедийной системы. В другие блоки он не обращается.
Это не ограничение — это решение
Важный момент: так получилось не потому, что не смогли. Так сделано намеренно. ToolBox работает в пределах своей системы и не лезет в другие блоки.
- Плюс: программа не может навредить чему-то за пределами головного устройства. Что бы ни пошло не так внутри мультимедиа, тормоза остаются тормозами, батарея — батареей, а машина — управляемой.
- Минус: доступны не все данные. Приходится довольствоваться тем, что есть в системе Android.
Живой пример: температура высоковольтной батареи
Лучше всего границу видно на конкретной просьбе, которая звучит регулярно: выведите на приборку температуру высоковольтной батареи. Ответ — нельзя. И причина показательна.
Эти данные в машине есть. Они передаются по CAN-шине между блоками. Но в головное устройство они не приходят, а доступа к шине у ToolBox нет. Значит, узнать эту температуру программа не может — никак.
Здесь легко было бы пообещать «когда-нибудь добавим». Честный ответ другой: это упирается не в сложность разработки, а в принятое ограничение.
Откуда тогда берутся приборы
Возникает резонный вопрос: если доступа к шине нет, откуда обороты двигателя и температура охлаждающей жидкости?
Ответ в том, что часть данных машина сама передаёт в мультимедиа — они там уже есть. Система их получает, но показать владельцу производитель не предусмотрел.
Большинство твиков ToolBox устроены именно так: это штатные данные, которые просто никогда не выводились на экран. Программа их достаёт и рисует на приборной панели. Ничего нового в машину она при этом не добавляет.
Почему такой подход стоит ценить
На рынке есть решения, которые работают иначе. Кастомные прошивки меняют системные разделы. Внешние адаптеры подключаются к OBD-разъёму и напрямую общаются с блоками автомобиля.
У этих способов больше возможностей. И принципиально другой профиль риска: ошибка там может задеть то, что к экрану отношения не имеет.
ToolBox — обычное приложение. Ставится и удаляется штатно, через настройки машины. Прошивку не трогает, системные разделы не меняет, с другими блоками не разговаривает. Максимум, что он может испортить, находится внутри мультимедийной системы.
Что это значит на практике
Из этой архитектуры следуют несколько выводов, полезных владельцу.
- Установка обратима. Не понравилось — удалили, как любую программу.
- Гарантийные риски ниже. Программа не вмешивается в работу агрегатов и не меняет заводское ПО блоков.
- Возможности ограничены прозрачно. Если чего-то нет — обычно потому, что этих данных нет в мультимедиа, а не потому, что не дошли руки.
- Чёрный экран — отдельная история. Он вызывается не ToolBox, а изменением системных настроек Android самим пользователем. Программа как раз защищает от этого, делая резервные копии ключей.
Разумный компромисс
Можно было бы сделать мощнее. Добавить работу с CAN-шиной, получить доступ ко всем данным машины, вывести на экран вообще всё.
И одновременно получить программу, ошибка в которой имеет последствия на дороге, а не на экране.
Выбран другой размен: часть возможностей в обмен на невозможность сломать что-то серьёзное. Для программы, которая ставится на машину в личном пользовании и обновляется регулярно, это выглядит здравым решением.
Что именно программа умеет — на страницах Tweaks и Приборная панель. Вопросы — в сообщество.