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

Сейчас многие владельцы автотранспорта сталкиваются с проблемой убогости штатных и космической дороговизны хороших магнитол с современными функциями. Вот и я купив машину 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 Так вот я начал читать как же всё сделать под машину и к огромному своему удивлению нашёл кучу информации о том как вкрячить таблетку, а как жить с этим дальше почти ноль. И так я начал собирать по крупицам наводки и наступать на грабли. В итоге получилось очень даже удобная система которую вы можете видеть на видео.[embedded content]Начнём всё же с подключения. Я принципиально не хотел ничего резать и даже вскрывать панель, поэтому я повесил таблетку на скрытой медной проволоке за силиконовый чехол прямо ПОВЕРХ магнитолы. И подключил кабели. Питание рекомендую сразу человеческое те на основе 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: a8c0cce17474464fb05a4db24ff0e5fe.pngfd7fedae04e44f7ea6acb2e2f58e08f0.png77a353f75def4c6981f86712e75568c2.pngПрограмму навигации каждый выбирает на свой вкус. Мне Нравится Garmin Navigon, тем более что я использую Garmin HUD.6c99f18510db45a5a6b44f8365513edf.pngДопустим вы выбрали свою программу и поставили её. Дальше встают следующие проблемы: — как же переключаться между экранами музыки и навигации в одно касание? — как использовать полную площадь экрана и при этом не потерять кнопки управления? — Как управлять музыкой (Пауза, Сл песня и тд…) не выходя из навигационного приложения?

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

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

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

Теперь самое вкусное это Tasker! Без этого Мега приложения вообще ничего сделать бы не удалось. Это своеобразный автоматизатор для Android с возможность ловить внешние события и выполнять визуально программируемые действия. Он супер гибкий, супер удобный и вездесущий. К нему уже написано куча плагинов и толи ещё будет. Я рекомендую поставить сразу его и Secure Settings Pro и в нём Secure Settings Helper.1c245dd2ed6c432f92df46ab10e575cc.pngd2fdf2bbf1b64182bebe5cbcbb52e074.png9e334f332a5848518ae65f6cb64c993d.pngeca5bcd4d2d54641865e65fb11027920.pngПервую простую задачу которую мы решим с помощью Tasker это будет правильное засыпание при выключении машины (зарядки) и включение при появлении питания. При засыпании надо кроме очевидного отключить GPS, Блютус, погасить экран и прочее надо ещё остановить проигрывание музыки и запомнить что проигрывалось и проигрывалось ли вообще, чтобы при последующем включении продолжить с того же места. Также при пропадании питания на несколько секунд, как например на время включения стартёра на многих машинах питание в прикуривателе исчезает. Если специально не заморачиваться, то таблетка сначала включится на секунду при повороте ключа, потом выключится при работе стартёра, а потом опять включится и полностью потеряется. В предоставленном скрипте решена эта проблема и проблема обратного допустим вы вставили ключ на несколько секунд только чтобы закрыть окна в машине и таблетка не должна начинать петь и плясать.Для удобства я поставил хорошие TTS iVona русский и английский. При включении моя система приветствует меня приятным голосом, желает приятного пути, говорит который час и сообщает что продолжает проигрывать такую то и такую то песню. Это не только приятно, но и удобно. Также при переключении на новую песню система произносит названия Исполнителя и Композиции. При этом выбирает правильный язык (английский/русский) в соответствии с кодировкой символов в MP3 Tag. Причём если предыдущая Композиция была того же исполнителя то она произносит только название Композиции. И все эти чудеса с помощью Tasker и Media Utilities plugin. Ок кстате работает не только с Google Music, но и многими другими популярными проигрывателями.28e40b8e11e24f319480c0a16c75f1a9.pngВ некоторых случаях я пользовался TaskKill плагином, чтобы прибивать приложения.f60c573c94a947bebdf8c00fe4609f6b.pngДальше я озадачился изменением громкости в соответствии со скоростью. Эта функция есть во многих машинах, но не всегда доступна, поэтому я написал task «Speed Volume Control Plus» который делает это в андроиде. Есть пять уровней громкости и 5 диапазонов скорости которые надо задать в соответствии с вашей ситуацией в Init Vars. Мне он в итоге не пригодился, но может пригодиться вам.Всё это и многое другое находится в скрипте github.com/chouckz/AndroidTasker4Car. Вы можете подпилить его под себя или использовать как есть.aa8a1141e0a047fa975569c9ec0b3bf5.pngd240569407fe427484b3705eca304d1c.png234a19d174514737aca226f01bdafc9c.pngeed12fdcb22a49d8861efa51d43a5a5a.png

Очень важно снять галочку Enforce Task Order в свойствах Power и желательно других профайлов. Иначе таски начнут ждать друг друга и слаженной и адекватной работы не получится. 5e75f8605f2f47a896e170371967fc02.pngЕсли у вас после перезагрузки появляется надоедливое сообщение/предупреждение о слишком высокой громкости «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 выключая всё

[embedded content][embedded content]

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

© Habrahabr.ru