Меню

andipanda.dev

CaRadio v2: как проблема питания изменила концепцию проекта

Первая версия CaRadio на базе Raspberry Pi довольно долго использовалась в моём Volkswagen Golf Plus. В целом магнитола выполняла свои задачи, но оставалось несколько вопросов, которые я так и не решил окончательно.

Одним из главных было управление питанием.

В отличие от обычных автомобильных магнитол, Raspberry Pi не имеет полноценного режима сна или гибернации. После выключения зажигания устройство может корректно завершить работу, но при следующем включении ему снова потребуется пройти полный процесс загрузки.

Я долго размышлял над тем, как правильно организовать питание, обеспечить безопасное выключение и при этом избежать длительного ожидания запуска магнитолы.

Рассматривались различные варианты, но каждый из них так или иначе усложнял конструкцию.

Изменение подхода

Параллельно я занимался разработкой CaRaBack и CaRadioGui.

Именно в процессе работы над этими проектами пришло понимание, что больше нет необходимости привязывать всю систему к конкретному одноплатному компьютеру.

Если разделить задачи между отдельными компонентами, то устройство, на котором работает пользовательский интерфейс, уже не обязательно должно быть Raspberry Pi.

Это существенно расширяло выбор аппаратной платформы.

Дополнительным толчком стал другой эксперимент. Мне удалось установить Linux на обычный Android TV Box и успешно запустить на нём Klipper для управления 3D-принтером.

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

Так я начал искать альтернативу Raspberry Pi.

Не только питание

Кроме управления питанием, у первой версии CaRadio были и другие недостатки.

Например, внешний вид.

Экран был установлен не самым удачным образом. Он не слишком гармонично вписывался в интерьер автомобиля, а переходную рамку, которую я собирался изготовить на 3D-принтере, так и не сделал.

К тому же хотелось получить дисплей немного большей диагонали, с лучшей яркостью и контрастностью.

Получалось, что при дальнейшем развитии проекта мне всё равно пришлось бы решать сразу несколько задач:

  • организовать управление питанием;
  • подобрать новую аппаратную платформу;
  • заменить дисплей;
  • изготовить крепление и переходную рамку;
  • решить вопросы подключения автомобильной электроники.

И в какой-то момент возник вполне логичный вопрос: а зачем собирать всё это по отдельности, если можно попробовать использовать готовое устройство?

Идея использовать Android-магнитолу

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

На первый взгляд это могло показаться странным решением. Ведь изначально CaRadio задумывалась именно как самодельная магнитола, а теперь я рассматривал покупку готовой.

Но меня интересовала не столько сама Android-система и предустановленное программное обеспечение, сколько аппаратная часть.

За сравнительно небольшую сумму можно было получить сразу несколько необходимых компонентов:

  • экран подходящего размера;
  • встроенный усилитель звука;
  • систему управления питанием;
  • готовый корпус, подходящий для установки в автомобиль;
  • возможность подключения передней и задней камер.

Фактически оставалось подобрать устройство с подходящим процессором и выяснить, насколько свободно можно использовать его аппаратные возможности.

Выбор Vordon VW-910S

После изучения множества вариантов мой выбор остановился на Vordon VW-910S.

Одним из решающих факторов стала информация о процессоре, который, согласно найденным описаниям, поддерживал режим сна. Кроме того, существовали предпосылки для установки Linux.

Именно сочетание этих возможностей делало магнитолу особенно интересной.

Я рассчитывал получить готовую аппаратную платформу, на которой можно будет запускать собственное программное обеспечение, не занимаясь разработкой всей электроники с нуля.

При этом устройство сразу решало несколько проблем первой версии CaRadio: управление питанием, дисплей и усилитель звука.

Дополнительным преимуществом стала штатная поддержка передней и задней камер. Хотя для версии на Raspberry Pi у меня уже существовало аппаратное решение для их подключения, оставалось реализовать соответствующую программную часть.

В случае с готовой магнитолой эта функциональность уже была предусмотрена производителем.

В результате Vordon VW-910S была куплена для дальнейших экспериментов.

Новая концепция CaRadio

На этом этапе стало окончательно понятно, что подход к разработке собственной автомобильной магнитолы изменился.

Раньше CaRadio представляла собой систему, построенную вокруг Raspberry Pi, к которому подключались необходимые периферийные устройства.

Теперь идея заключалась в другом.

Вместо создания всей аппаратной части с нуля можно использовать готовую автомобильную магнитолу как основу, а её штатное программное обеспечение заменить или дополнить собственным.

При этом разработка CaRaBack и CaRadioGui уже показала, что отдельные функции системы можно разделить между разными устройствами, не привязывая проект к одной аппаратной платформе.

Таким образом, поиск решения проблемы управления питанием неожиданно привёл к гораздо более серьёзным изменениям.

Так началась история CaRadio v2.

В следующих статьях расскажу, что на самом деле оказалось внутри купленной магнитолы, какие возможности удалось обнаружить и с какими трудностями пришлось столкнуться при попытке превратить готовое Android-устройство в основу собственного проекта.