В предыдущих статьях я рассказал, как CaRadio прошла путь от первых экспериментов с автомобильными магнитолами до работающего CarPlay на Raspberry Pi.
Но одно дело — запустить систему на столе, и совсем другое — собрать из неё устройство, которым можно пользоваться каждый день в автомобиле.
После неудачной попытки сохранить электронику RCD510 мне предстояло фактически заново собрать магнитолу, используя её корпус и собственные компоненты.
От RCD510 остался корпус
Изначально я рассчитывал использовать штатную плату RCD510, её усилитель и управление питанием. Но после проблем с циклическими перезагрузками от этой идеи пришлось отказаться.
В результате основой CaRadio стала Raspberry Pi, а за вывод изображения отвечал семидюймовый сенсорный дисплей Waveshare с разрешением 1024×600.
Для воспроизведения звука я использовал отдельный модуль усилителя, который заменил штатную электронику RCD510.
Таким образом, от оригинальной магнитолы остался прежде всего корпус, позволивший установить собственную конструкцию на штатное место в Volkswagen Golf.
Собрать всё в одно устройство
Теперь нужно было разместить компоненты внутри корпуса, подключить дисплей, усилитель и организовать питание.
В отличие от первых экспериментов, здесь уже недостаточно было просто соединить Raspberry Pi с экраном и убедиться, что CarPlay запускается.
Магнитола должна была работать в автомобиле, выдерживать ежедневные включения и выключения и не создавать проблем с аккумулятором.
При этом времени на полноценную разработку всех узлов практически не оставалось. Впереди была поездка, а мне нужна была работающая навигация.
Поэтому некоторые решения пришлось сделать временными.
Питание: рабочее, но не окончательное решение
После отказа от оригинальной платы RCD510 управление питанием пришлось организовать самостоятельно.
Сейчас для включения CaRadio используется кнопка и электронный силовой ключ.
При нажатии кнопки питание поступает на DC-DC преобразователь, после чего начинает загружаться Raspberry Pi.
Во время загрузки Raspberry Pi активирует GPIO, который удерживает силовой ключ во включённом состоянии. После этого кнопку можно отпустить — система продолжает работать самостоятельно.
С выключением ситуация получилась интереснее.
Raspberry Pi получает информацию по CAN-шине автомобиля. Когда ключ извлекается из замка зажигания, система получает соответствующее сообщение и начинает корректное завершение работы.
Таким образом, выключение уже связано с автомобилем, а вот для запуска пока требуется ручное действие.
Это не самое удобное решение для повседневного использования, но оно позволило установить CaRadio в автомобиль и не откладывать проект ещё на неопределённый срок.
Проверка дорогой
С момента установки CaRadio прошло уже больше трёх месяцев, а автомобиль проехал с ней около 8000 километров.
За это время магнитола перестала быть просто экспериментом на Raspberry Pi.
Она стала устройством, которым я действительно пользуюсь в дороге: с навигацией, музыкой и беспроводным CarPlay.
Конечно, эксплуатация выявила и недостатки.
Например, яркости дисплея Waveshare не всегда хватает под прямыми солнечными лучами. А ручное включение питания — тот компромисс, который хотелось бы устранить.
Но главная задача была выполнена: мне удалось собрать собственную магнитолу, установить её в Golf и проверить не только на столе, но и в реальных поездках.
Что осталось доделать
Несмотря на то что CaRadio уже несколько месяцев работает в автомобиле, некоторые решения по-прежнему остаются временными.
В первую очередь это касается управления питанием. Сейчас магнитолу приходится включать вручную, и хотя такая схема вполне работоспособна, изначально я представлял себе этот процесс иначе.
В идеале CaRadio должна самостоятельно реагировать на события автомобиля: включаться, когда это необходимо, и корректно завершать работу, когда поездка закончена.
У меня уже есть несколько идей, как этого добиться. Но прежде чем рассказывать о них подробнее, хочется проверить всё на практике.
Возможно, к этой теме я ещё вернусь в отдельной статье.
Но уже сейчас CaRadio доказала, что такая конструкция вполне пригодна для повседневного использования.
Конец первого этапа
На этом я пока ставлю точку в истории CaRadio в её нынешнем виде.
Не потому, что закончились идеи или больше нечего улучшать.
Скорее наоборот.
За время работы над проектом появились новые возможности и решения, которые заставили меня по-другому посмотреть на всю конструкцию автомобильной мультимедийной системы.
Продолжать бесконечно дорабатывать текущую версию уже не кажется самым интересным направлением.
CaRadio на Raspberry Pi выполнила свою задачу: я получил работающий CarPlay, разобрался со многими особенностями автомобильной электроники и проверил собственные решения на практике.
А главное — этот опыт стал основой для следующего этапа.
Так что история на этом не заканчивается.
Просто дальше она пойдёт немного другим путём.