Android Планшет вместо магнитолы

в 19:51, , рубрики: android, diy или сделай сам, music, tablet, TTS, авто, Магнитола, машина, проигрыватель

Сейчас многие владельцы автотранспорта сталкиваются с проблемой убогости штатных и космической дороговизны хороших магнитол с современными функциями. Вот и я купив машину 2010 года не смог ужиться с CD проигрывателем и поспешил поставить вместо него таблетку — Планшет. В статье описаны аспекты не освещённые в остальных источниках информации. В частности не как физически врезать планшет в машину, а как всё настроить так чтобы было приятно и удобно пользоваться.
image

Начнём из далека.

Проблема отсутствия современной магнитолы меня волновала уже давно и в прошлой машине мне пришлось купить 2din китайский чудо ящик частично под управление WinCE. Не буду в красках описывать сколько часов или наверно недель я потратил на то чтобы до настроить всё до белее менее рабочего состояния и в итоге из полезных функций: блютус работал жутко криво изначально, так что пользоваться можно было только стриммингом музыки (и то без управления), в DVD застрял диск, WinCe с GPS iGO стал грузиться один раз из 10. Самой надёжной оказалась камера заднего вида. И это за 300 с копейками долларов 6 лет назад. И я уже давно начал подумывать об андроиде, но цены на единственный «приличный» Android 2.3 Астероид заоблачные 700+$ а достойных вариантов от монстров мангитольного рынка тоже нет. Тупик в общем-то какой-то.
И тут я купил относительно свежую машину 2010 г выпуска от японского лидера в неплохой комплектации и получил убогий CD/MP3 плеер раскоряченный так что без специальных некрасивых заглушек ничего другого 1-2din туда просто не воткнуть. На мою удачу в часть её предпродажной подготовки вошла кривая сборка передней панели (непонятно зачем) так что диск воткнуть было невозможно. К сожалеют купленному коню в зубы я посмотрел слишком поздно И это явилось последней каплей. Я заказал на ибее бу 7" Samsung Galaxy tab. Долго помучавшись с ним из-за того что не работал вай-фай, я в пылу злости заказал Nexus 7 1 gen 16gb. В тот момент я даже себе представить не мог что у него нет microSD слота и без OTG мне придётся довольствоваться только встроенными 16 гигами. Такой подставы от гугла с Асусом я даже не мог ожидать. Но в общем вторая таблетка оказалась гораздо бодрее первой и я ничуть не жалею. В итоге оказалось что эта модель является культовой у менятелей магнитол на таблетки по всему миру. Думаю в первую очередь из-за распространённости качества и цены. Ещё удобные контакты на корпусе для питания и звука POGO PINS image Так вот я начал читать как же всё сделать под машину и к огромному своему удивлению нашёл кучу информации о том как вкрячить таблетку, а как жить с этим дальше почти ноль. И так я начал собирать по крупицам наводки и наступать на грабли. В итоге получилось очень даже удобная система которую вы можете видеть на видео.

Начнём всё же с подключения.

Я принципиально не хотел ничего резать и даже вскрывать панель, поэтому я повесил таблетку на скрытой медной проволоке за силиконовый чехол прямо ПОВЕРХ магнитолы. И подключил кабели. Питание рекомендую сразу человеческое те на основе KIS3R33S модуля, чтобы быть мощным. С самсунгом одной из проблем была хитрость включения режима быстрой зарядки. Те когда ток зарядки не обычные 300мА как из USB портов компьютера, а хотябы 500 или лучше 1 ампер. Практика показала что если включить на полную яркость (солнечный день), GPS и прочее то таблетка потребляет больше чем заряжается от 300мА. Это как вы понимаете тупик. Вот я намаялся с резисторами на дата проводах USB и прочим шаманством долго, и вроде успешно, пока с переходом на Nexus эти проблемы не отпали сами собой. Нужен сразу хороший (не микро в прикуриватель) DC-DC адаптер 14->5в желательно на 2-3 ампера чтобы питать не только таблетку, но и телефон и другие потенциальные гаджеты. У меня не было блютуса в машине поэтому отдельный проводок пришлось сделать с выхода наушников на AUX вход штатной магнитолы. Вот в общем-то и всё с подключением.
На этом как оказалось многие и останавливаются. Но ведь пользоваться обычным андроидом в машине тем более за рулём жудко не удобно! Тут я определил круг задач. Для меня он свёлся к проигрыванию музыки и GPS навигации. Камера заднего вида у меня уже была, но как выяснилось в нексус и это можно подключить читайте www.pccar.ru/showthread.php?t=18305. Всего 2 приложения, но должно быть удобство пользования ими и переключения между ними.
Я долго искал удобный медиа проигрыватель. В обычной жизни я предпочитаю Astro, но тут самым удобным как не странно казался Google Music. Причём тут тоже есть нюансы. Последняя 5я версия очень белая, неудобная в навигации особенно в плей листах. Я пользуюсь только плей листами в m3u файлах за ранее созданными старым добрым WinAmp и бережно закинутые на таблетку. Там тоже есть нюанс и почему-то если плейлист не заполнен всеми тагами те не прокручен до конца в WinAmp (пока в окошке плей листа времена всех песен не определились) и сохранён на диск только после этого, то Music его не видит. Ешё у Music проблема с файлами с русскими именами, так что всё пришлось переименовывать в латиницы с помощью Multi File Translator или TagScanner и других тулов. Хотя таги русские он отображает отлично и крупно. 3я версия уж совсем убогая и фоны не чёрные и плейлисты только списком, а 4.1.512 версия чёрная оказалась в самый раз для машины www.filedropper.com/tablet4car_1. Так что надо откатится с последней на неё 4pda.ru/forum/index.php?showtopic=237901. Если перед установкой старой версии новый Music не удаётся удалить штатными средствами надо воспользоваться Titanium Backup (uninstall).
Google Music:
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы

Программу навигации каждый выбирает на свой вкус. Мне Нравится Garmin Navigon, тем более что я использую Garmin HUD.
Android Планшет вместо магнитолы
Допустим вы выбрали свою программу и поставили её. Дальше встают следующие проблемы:
— как же переключаться между экранами музыки и навигации в одно касание?
— как использовать полную площадь экрана и при этом не потерять кнопки управления?
— Как управлять музыкой (Пауза, Сл песня и тд..) не выходя из навигационного приложения?

Это решить могут только две программы Button Savior и full!screen. play.google.com/store/apps/details?id=de.tsorn.FullScreen&hl=en. Я долго боролся и даже подпиливал (менял картинки иконок чтобы были икогка Навигации и Музыки) Button Savior и в общем добился от него определённой любви и удобства Android Планшет вместо магнитолы (его иконки/кнопки в виде домика, квадратов, карты и нот модно видеть в правом краю экрана) www.filedropper.com/tablet4car_1, но с full!screen всё гораздо удобнее и проще. В итоге я до сих пор использую их обе. full!screen даёт кроме полноэкранного режима возможность иметь в углах 2 чудо кнопки, настройки ах 3 действий (нажатие, Долгое нажатие, swipe) каждое можно менять. В отличии от Button Savior где таких кнопок всего две и у них только можно менять действия нажатия. Причём в full!screen (его иконки/кнопки можно видеть в правом и левом углах экрана) назначить можно не только Home, Menu, Back, но и управление проигрыванием (Пауза, Сл песня и тд..) но и запуск/вызов предыдущего приложения получается такой своеобразный Alt+Tab, чего Button Savior нет. Так как у нас только два основных приложения то это как раз то что надо.
Android Планшет вместо магнитолы

Дальше я боролся за батарейку. Оказалось если не полностью усыпить андроид то даже без вай-фая и GPS за ночь или сутки он может сожрать несколько десятков процентов заряда. Что не приемлемо. Для уверенности полного засыпания я поставил Deep Sleep Battery Saver который прибивал в спящем состоянии все активности кроме редкого исключения.
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы

Теперь встала проблема адекватного изменения яркости экрана при разном освещении. В стоковой прошивке это кастомизировать нельзя поэтому я поставил Lux+ и настроив его под разное освещение добился хорошей видимости экрана в любой ситуации.
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы

Теперь самое вкусное это Tasker!

Без этого Мега приложения вообще ничего сделать бы не удалось. Это своеобразный автоматизатор для Android с возможность ловить внешние события и выполнять визуально программируемые действия. Он супер гибкий, супер удобный и вездесущий. К нему уже написано куча плагинов и толи ещё будет. Я рекомендую поставить сразу его и Secure Settings Pro и в нём Secure Settings Helper.
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы

Первую простую задачу которую мы решим с помощью Tasker это будет правильное засыпание при выключении машины (зарядки) и включение при появлении питания. При засыпании надо кроме очевидного отключить GPS, Блютус, погасить экран и прочее надо ещё остановить проигрывание музыки и запомнить что проигрывалось и проигрывалось ли вообще, чтобы при последующем включении продолжить с того же места. Также при пропадании питания на несколько секунд, как например на время включения стартёра на многих машинах питание в прикуривателе исчезает. Если специально не заморачиваться, то таблетка сначала включится на секунду при повороте ключа, потом выключится при работе стартёра, а потом опять включится и полностью потеряется. В предоставленном скрипте решена эта проблема и проблема обратного допустим вы вставили ключ на несколько секунд только чтобы закрыть окна в машине и таблетка не должна начинать петь и плясать.
Для удобства я поставил хорошие TTS iVona русский и английский. При включении моя система приветствует меня приятным голосом, желает приятного пути, говорит который час и сообщает что продолжает проигрывать такую то и такую то песню. Это не только приятно, но и удобно. Также при переключении на новую песню система произносит названия Исполнителя и Композиции. При этом выбирает правильный язык (английский/русский) в соответствии с кодировкой символов в MP3 Tag. Причём если предыдущая Композиция была того же исполнителя то она произносит только название Композиции. И все эти чудеса с помощью Tasker и Media Utilities plugin. Ок кстате работает не только с Google Music, но и многими другими популярными проигрывателями.
Android Планшет вместо магнитолы
В некоторых случаях я пользовался TaskKill плагином, чтобы прибивать приложения.
Android Планшет вместо магнитолы
Дальше я озадачился изменением громкости в соответствии со скоростью. Эта функция есть во многих машинах, но не всегда доступна, поэтому я написал task «Speed Volume Control Plus» который делает это в андроиде. Есть пять уровней громкости и 5 диапазонов скорости которые надо задать в соответствии с вашей ситуацией в Init Vars. Мне он в итоге не пригодился, но может пригодиться вам.
Всё это и многое другое находится в скрипте github.com/chouckz/AndroidTasker4Car. Вы можете подпилить его под себя или использовать как есть.
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы
Android Планшет вместо магнитолы

Очень важно снять галочку Enforce Task Order в свойствах Power и желательно других профайлов. Иначе таски начнут ждать друг друга и слаженной и адекватной работы не получится. Android Планшет вместо магнитолы
Если у вас после перезагрузки появляется надоедливое сообщение/предупреждение о слишком высокой громкости «raise volume above safe level....» его можно прибить следующим образом: forum.xda-developers.com/xposed/modules/mod-unsafe-volume-disable-safe-media-t2338474

Давайте подробнее посмотрим на все Profiles (триггеры) И Tasks:

Profiles:
Power AC — запускает соответствующие таски (DC ON, DC OFF) при подключении и выключении питания. Мы подразумеваем что Таблетка работает только когда питание есть, а без него засыпает.
Media Utilities State New Track — Вызывает таск «Fill Track» когда начинает проигрываться новая композиция
Media Utilities State Is Playing — Вызывает таск «Now Playing» когда композиция проигрываться и «Now Not Playing» когда проигрывание остановленно
Device Boot — Вызывает таск «Boot Startup» когда планшет загружается. Почти пока не используется. Может пригодится зимой когда батареи не будет хватать чтобы пережить отсутствие питания.
Device Shutdown — Вызывает таск «Shutdown» когда таблетка выключается. Почти пока не используется. Может пригодится зимой когда батареи не будет хватать чтобы пережить отсутствие питания.
Music — Вызывает таск «Set Active App To Music» когда Music на экране и является активным приложением.
NAVIGON- Вызывает таск «Set Active App To Navigation» когда NAVIGON на экране и является активным приложением.

Tasks:
DC ON — Устанавливает переменную %DCPOWER в 1, вызывает/будит автоматический регулировщик яркости Lux Plug-in и
запускает таск «On».
DC OFF — Устанавливает переменную %DCPOWER в 0, и запускает таск «Off».
On — возобновляет проигрывание если оно было прервано кратковременным исчезновением питания. Включает GPS, WiFi, Bluetooth. Устанавливает громкость. Приветствует голосам и говорит Время. Запускает Программу навигации и Музыки (на всякий случай если они были прибиты во сне). Если при предыдущем выключении проигрывалась музыка то произносится название Композиции и исполнителя и возобновляется проигрывание. Снова вызывает/будит автоматический регулировщик яркости Lux Plug-in.
Off — Останавливает проигрывание музыки. Выключает GPS, WiFi, Bluetooth. Прибивает программу навигации. Засыпает.
Resume Music — Произносится название Композиции и исполнителя правильным языком TTS и возобновляется проигрывание плавно увеличивая громкость до нужного уровня.
Fill Track — Получает от Media Utilities название исполнителя и композиции и запоминает их предварительно определив язык текста чтобы использовать правильный TTS при чтении. Также отдельно запоминает название предыдущего исполнителя чтобы не повторяться при произнесении. Произносит Название исполнителя(если не совпадает с предыдущей композицией) и композиции.
Say Time — Заполняет правильно системное время
Now Playing — Устанавливает переменную %MPLAYING в 1. Значит Музыка играет.
Now Not Playing — Устанавливает переменную %MPLAYING в 0. Значит Музыка не играет.
Boot Startup — пока пустует
Speed Volume Control Plus — Крутится в вечном цикле и занимается изменением громкости в соответствии со скоростью. Эта функция есть во многих машинах, но не всегда доступна, поэтому я написал task который делает это в андроиде. Есть пять уровней громкости и 5 диапазонов скорости которые надо задать в соответствии с вашей ситуацией в Init Vars.
Init Vars — начальная инициализация некоторых констант и переменных
Shutdown — Выполняет такс Off выключая всё


На этом у меня остановиться не получилось так как мне покоя не давали 5 кнопок на руле (-, +, <, >, Mode) которые управляют штатной магнитолой и было бы супер удобно если бы андроид их понимал. Тун началась вторая фаза проекта.

Автор: chouck

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js