07.12.2014, 17:23 | #1 |
Старший Пользователь
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
|
Opel Insignia Nexus 7 3g 2012
Новый проект.
Многие вещи на форуме подробно не описываются, тк для имеющих опыт работы - уже стали как само собой разумеющееся, но для тех кто это видит в первый раз, представляют возможно даже основные трудности. Поиском пользоваться тоже не очень хороший вариант, тк ветки очень замусорены, а шапки не обновляются. Поэтому для себя, а возможно и для других буду собирать сюда ссылки и расписывать все подробно, тк даже сам по прошествии полу года иногда смотрю в то что делал, как в первый раз и приходится все изучать чуть ли не заново. Вопросы пока можете мне не задавать, тк большим специалистом себя не считаю и боюсь не верно подсказать. А вот если есть замечания к моему проекту - то буду очень рад их услышать! Цели в новом проекте: 1. Стабильная работа без вмешательства из вне. 2. Максимально простая внешняя часть, по возможности готовыми устройствами, без необходимости их программировать, и возможности свободно купить. 3. Надежная работа навигации. 4. Камера ЗХ, если будет стабильно работать. Пока и пытаться не буду. 5. Подключение к CAN шине для считывания данных работы двигателя и управления планшетом кнопками с руля. (Вот тут человек добился значительных успехов в данном направлении, обещал делиться, ждем. Вот он и на этом форуме ) Итак: 1. Установка Планшет встраивается вместо, или вернее вместе со штатным ГУ CD300 Ранее уже делал аналогичный в такой же машине на Nexus 7 Wi-fi, стояла прошивка тимура, а так-же был у меня и изикап и флешка и вебкамеру подключал. Глюков было полно, приходилось с ними бороться, что то получилось (перешел с управления включением по ОТГ на HallSensor), что-то нет (стабильности от Изикапа с Каркамом так и не добился, в итоге выкинул на ...). Из полученного опыта сделал для себя вывод, что максимум задач должно по возможности решаться штатными средствами, те прошивка - сток, вкл/выкл - Hall Sensor, управление процессами при помощи таскера, и тп. Почему Nexus 3g 2012: 2012 - так как очень мне понравился, плюс уже много чего по нему изучил, плюс большая база знаний на форуме, плюс дешевле найти донора в случае выхода из строя. Производительности вроде как хватало, прошивку 5.0 вроде обещают так зачем платить больше Выбирал 3g - тк нужен инет для интернет-радио, виджетов погоды и прочих потребностей, модем с wifi версией стабильно работать так и не получилось, а раздавать с телефона тоже надоело. Планшет будет встроен в панель, но максимально штатно без "колхоза", поэтому приобрел рамку от оригинального экрана штатной навигации. Рамка в оригинале стоила около 80$, но удалось найти ее на разборке на Польском аукционе Allegro.pl, посредника для доставки нашел на родном Белорусском форуме Onliner.by. в итоге после 3-х недель ожидания рамка у меня - суммарные затраты 42$. Хоть и весь экран планшета в рамку не помещается - я не стал че-то распиливать и расширять, тк уверен все равно красиво не получится. Рамки достаточно что бы увидеть основной экран без нижней панели кнопок. Кнопки будут реализованы иначе, но об этом позже. Сам планшет также приобретен на барахолке Onliner.by за 160$ - новый в родной упаковке, даже еще не вскрытой до меня, и с гарантией. Для встраивания планшета в рамку пришлось подрезать некоторые элементы рамки (внутри) и вклеить крепления (фото позже) Вот как он выглядел в предыдущей машине: А вот изикап в работе (жаль работал только не часто) Родной экран был перенесен в потолок, и под него была сделана рамка на место штатной заглушки: В текущем проекте, тк в потолке теперь у меня стоят датчики объема, планирую перенести родной экран в пепельницу, за ее не надобностью. Выглядеть должно примерно так-же как у китайских друзей: (фото из отчета по установке китайского гу) 2. Программная часть Что бы получить максимум функционала и минимум багов нам нужно прошить ядро и прошивку Для начала основы, как я их понял: Ядро(kernel) Android - Это центральная часть операционной системы, обеспечивающая взаимодействие между аппаратными и программными компонентами системы: как управление памятью и процессами, работа с драйверами. Прошивка - Это непосредственно сама операционная система, которая работает с приложениями, и имеет интерфейс для работы пользователя. Поэтому если нам нужны новые драйвера для устройств которые не поддерживает стоковая (родная) прошивка, то нам нужно новое ядро. Для начала скачаем: - Стоковое ядро для Nexus 7 2012 под Android 4.4.4 от Daniel с поддержкой USB-аудио (даст возможность подключать USB звуковую карту для более чистого звука) и easycap (для подключения EasyCap с stk1160, к которому можно подключить аналоговую камеру, например заднего хода, подробнее тут), а так же с обходом контроллера батареи (для возможности удалить батарею из планшета вместе с ее контроллером - без этого ядра при отсутствии батареи, в системе будут появляться ошибки) . Прямая ссылка. Это ядро подходит для 3g и WiFi версий. Но только для android 4.4.4 - Так же нам понадобится файл libtinyalsa.so Он нужен для работы подключения "на горячую" USB-Audio, а самое главное при его подключении останется работать встроенный микрофон! Вот подробное описание и инструкция как и куда его подставить. Если кратко, то путь: /system/lib, нужны рут-права. - Приложение для подключения и работы с планшетом под windows UNIFIED ANDROID TOOLKIT, вот ссылка на загрузку. Дополнено февраль 2017: После года использования стокового Андроида 4.4.4, откатился к прошивке от Тимура, причина - тормоза и необходимость установки дополнительных прог на стоке для выполнения функций, которые уже заложены в Тимуровскую прошивку изначально. Более удобной программой для перепрошивки показалась Nexus Root Toolkit. При перепрошивке было куча багов, то что-то не загружалось, то не прошивалось, то память терялась. Самым надежным способом был выбран: Прошивка стока 4.2.0 по методу возврата планшета в стоковое состояние, прошивка TRWR рекавери, загрузка в планшет архива с Тимуровской прошивкой, и прошивка из рекавери. После всех прошивок и настроек, сделал бэкап Нандроид, но загрузить в последующем его так и не получилось, все время при загрузке или зависал, или выдавал ошибки об отсутствии прав доступа к файловой системе -если кто в курсе причины, прошу написать мне. В последующем буду делать бэкап из рекавери и хранить на планшете. Прошивка: Имеем чистый новый планшет Nexus7 2012 3g 32gb: 1. Сразу после первого включения, полной зарядки и подключения к wi-fi, скачал обновления и обновился до версии 4.4.4 (обновления качаются и обновляются все по очереди, сразу с 4.2.1 на 4.4.4 перейти нельзя). 2. Включаем на планшете режим разработчика, для чего нужно нажать минимум 7 раз подряд на номер сборки в настройках андроида. 3. Устанавливаем в корень диска С на компьютере, приложение UNIFIED ANDROID TOOLKIT - выбираем в нем версию планшета - запускаем установку драйверов - после установки подключаем планшет через USB к компьютеру - компьютер должен опознать устройство и сообщить о установке драйверов для него 4. Разблокируем загрузчик - запускаем UNIFIED ANDROID TOOLKIT - загружаем планшет в fastboot (выключить, а затем включить удержанием кнопки включения и минуса громкости), выбираем UnLock BootLoader в UNIFIED ANDROID TOOLKIT и следуем инструкциям, при этом будет нужно подключить планшет загруженный в fastboot к компьютеру, выполнить выбор операции в TOOLKIT - программа в свою очередь запустит разблокировку, о чем вы узнаете по появившемуся на экране планшета запросу. Кнопками громкости выбрать разблокировку и подтвердить кнопкой вкл-я питания. Перезагрузка. Если все прошло успешно, при загрузке планшета, под надписью Google, появится разомкнутый замок. 5. Установка кастомного рекавери - запускаем UNIFIED ANDROID TOOLKIT - выбираем Flash Recovery и следуем инструкциям. Я выбрал CWM (там несколько вариантов). Подключать планшет в fastboot. Важно! По окончании прошивки не выключая и не перезагружая планшет переходим в рекавери (листаем кнопками громкости, выбор подтверждаем кнопкой вкл.), после загрузки рекавери выбираем пункт Reboot system, должно появится меню с выбором YES / NO disable recovery flash, выбираем YES., затем появится запрос на получение прав "суперпользователя" (Root), так же выбираем YES. Загружаемся. Когда я делал роот другому планшету, описанный способ мне не помог, и я делал через загрузку отдельного файла через рекавери, вот ссылка на 4pda 6. Перед выполнением любых действий с прошивками, ядрами и тп, считаю необходимым выполнить бэкапы, что бы иметь возможность всегда вернутся к исходной точке. И первое, что надо забэкапить, это загрузчик, те получить файл blob.bin, тк если его убить, (а это легко сделать в нашем варианте использования планшета, например вырубить питание при загрузке), то Nexus превратится в кирпич, и вылечить его может только замена материнской платы. Подробно весь процесс описан тут, тут и тут Я делал по инструкции в последней ссылке (инструкция для 3g) и заодно поглядывал в инструкцию по wi-fi, тк по сути все должно быть одинаковое, и на всякий случай опишу и здесь т к многое вызвало у меня вопросы, на которые я искал ответы на других сайтах: Вот некоторые моменты, которые сразу были не понятны: Используется 3 варианта загрузки праншета: fastboot - минус громкости + вкл рекавери - запускается из fastboot APX - плюс громкости + вкл (с подключенным шнуром) - в этом режиме экран не загорается и определить его можно только по появляющемуся в устройствах APX-устройству, для него нужно поставить драйвера, я их брал в папке Universal_Naked_Driver_0.72.zip из инструкции описанной в wi-fi версии. Команды, описываемые в инструкциях, вводятся в командную строку окна команд, вызывается оно в windows запуском штатной программы CMD, так же ее можно вызвать нажав правую кнопку мыши с зажатым Shift в окне проводника и выбрав "Открыть окно команд" из открывшегося контекстного меню, На планшете, в меню его настроек должна быть включена опция «Отладка USB». Для выполнения команд нужно наличие утилиты adb (Android Debug Bridge), она вроде есть в TOOLKIT, но я без опыта, не понял как ее от туда использовать и взял ее в Android SDK, вот инструкция по установке этого всего. Все скачанные по ссылкам с 4pda файлы (flatline_grouper.img, bootloader-grouper-4.23.img, распакованный nvflash-tools-win32.zip), что бы не писать длинные пути в командные строки, я скинул в папку platform-tools\, из этой же папки я вызвал, правой кнопкой через шифт, командную строку, и в нее вводил все команды. Подключаем планшет загруженный в fastboot и вводим: fastboot flash recovery flatline_grouper.img -для прошивки нужного загрузчика, затем выбираем на планшете выключение (это важно), и снова загрузил в fastboot (шнур не отключал) Сохранение необходимых файлов: - Переходим в режим рекавери - Идем в меню Advanced, выбираем пункт Wheelie - Соглашаемся с возможным риском - Нас интересует "Step 1: flash AndroidRoot BL" - Когда девайс выключится, нужно его включить и дать полностью загрузиться (это важно!) - Если увидите лого нексуса, значит бутлоадер встал нормально. - Перезагружаем планшет в режим рекавери. - Теперь нас интересует "Step 2: Generate wheelie blobs" - вывод последней команды будет указан адрес, куда сохранились blob. Адрес может отличаться! - вводим в терминале: adb pull /data/media/AndroidRoot ./ - (это мой адрес) для сохранения файлов на компьютер, получил 7 файлов все в той же папке platform-tools, от туда скопировал их в надежное место. далее - Выключаем планшет. - Заходим в моду APX, для этого нажимаем VolUp и Power, Экран остается черный. wheelie --blob blob.bin -обратить внимание на отсутствие ошибок после выполнения данной команды, у меня первый раз они были тк я не дал загрузится после Step 1 nvflash -r --download 4 bootloader-grouper-4.23.img - обратная прошивка загрузчика 4.23, после этой команды планшет все еще должен оставаться в APX, но у меня он отвечал в командной строке успехом и перезагружался. Версия загрузчика все же была 4.23, это видно при загрузке в fastboot. - После пробной загрузки, вошел в в fastboot и через UNIFIED ANDROID TOOLKIT заново прошил CWM рекавери - Затем выключил, подключил шнур и вошел в APX (громкость "+" + "включение") - Снова выполнил команду wheelie --blob blob.bin - планшет ответит в командной строке ..... [!] Done - your device should now be ready for nvflash и загорится на экране логотип Google - затем копируем для бэкапа последние необходимые файлы следующими командами: nvflash --resume --rawdeviceread 0 2688 bricksafe.img nvflash --resume --read 5 eks.img nvflash --resume --read 13 factory-config.img nvflash --resume --read 14 mda.img - по окончании выключаем планшет, загруженные файлы так же храним в надежном месте Все, самое главное сохранили, при желании можно сделать бэкап остального содержимого, но на это есть много способов, я делал через рекавери. 7. Единственное, что нам нужно теперь прошить, это ядро от Daniel, скаченное ранее. Для этого воспользуемся все той же UNIFIED ANDROID TOOLKIT: - распакованный файл ядра кладем в папку put_img_files_to_flash_here/nexus7 - запускаем TOOLKIT и после подключения планшета загруженного в fastboot выбираем загрузку IMG файлов, далее последовательно отвечаем на вопросы (нужно будет ввести название нашего файла ядра, указать что его нужно прошить (flash) в область Boot). Еще не до конца понял, но похоже при этой прошивке, аккумулятор всегда показывает полную зарядку, поэтому при установленном штатном, нужно следить, что бы не разрядить его больше чем нужно (без него проблем не будет) В конце нужно ещё раз установить Рут (см выше) 8. Если использовать USB Audio, то нужно еще заменить файл libtinyalsa.so, ссылки на инструкции даны выше, вместе со ссылкой на загрузку этого файла. Тк я пока не планирую это использовать, то и копировать не стал. 3. Схема питания и вывод кнопок. - Планшет установлен без батареи и запитан от основного аккумулятора автомобиля. - Управление включением и засыпанием производится через Arduino посредством датчика Холла. - Управление питанием внешнего usb хаба, так же производится через Arduino. - Для стабильной работы навигации используется внешняя активная GPS антенна. 1. Блок питания. За образец взята схема и скетч от Chubaka885 Тк взаимодействие с кнопками руля автомобиля планируется осуществить иначе, то от указанной схемы была взята только часть касающаяся управления питанием: Все компоненты покупались на Ebay и Ali: Arduino Pro Micro DC/DC преобразователь Kis-3r33s Relay 1-Channel Module for Arduino Корпус, разъемы, кнопки и оптрон с резисторами - в местном радио-ларьке. Вот что получилось (извините за качество фото): 2. Внешние выводы Nexus. Тк планшет будет сниматься вместе с частью панели, то решено было все выводы объединить в один разъем для удобства быстрого снятия/установки. На роль основного разъема был выбран ATX - выпаянный из старой материнской платы компьютера. Разъем для подключения внешней GPS антенны так же выбран из "того что было" - BNC Аккумулятор на время отсутствия питания от машины, подсоединяется к тому же разъему и закреплен на планшете лентой "липучкой" Мой вариант распиновки разъема: и распайка в планшете: В разъемы подключения наушников и USB были вставлены соответствующие штекеры с распаянными проводами, а сами разъемы сняты со штатных мест и уложены на место батареи. Таким образом минимизировано количество мест пайки на материнской плате. Мною были подпаяны только 2 провода кнопки включения, 1 провод HallSensor, и коаксиальный кабель GPS, 5в на его центральную жилу подано с USB, ни каких фильтров не ставил, тк они уже есть на плате. 3. Проводка в машине Для обеспечения устойчивого приема сигналов спутников GPS, была установлена внешняя активная антенна. Покупалась также в китае. Антенну установил на лобовое стекло за зеркалом заднего вида - при выборе иного места установки, учитывайте, что лобовое стекло в Insignia - имеет покрытие, являющееся хорошим экраном и мешающее приему, но за зеркалом есть фрагмент без покрытия - именно туда лучше всего поместить антенну. Я ее закрепил на "липучку" с двухсторонним скотчем. Единственное, для такого ее положения требуется небольшая доработка: я снял с ее основы наклейку из фольги, снял магнит (у вас она может быть и без магнита), и вскрыв корпус перевернул плату активной стороной вниз - тк установлена она будет на стекле "в верх ногами" - обратно собрал (без фольги), наклеил "липучку" и закрепил на стекле. Провод проложил под потолком и по правой стойке спустил в панель. Замечание: прокладывайте провод в стойке так, что бы он не мешал подушке в случае ее срабатывания! Питание и АСС - я взял в блоке предохранителей, в левой нижней части панели, за открывающимся отсеком для мелочей. В качестве ACC выбрал провод на котором напряжение появляется с включением зажигания, а пропадает с выходом водителя из машины. Провод питания прерван предохранителем на 5А - на всякий случай. И кнопкой общего отключения. Кнопку общего отключения и кнопку включения планшета, а также пару USB вывел в бардачек. Нужно предусмотреть простое отключение проводов идущих к этим кнопкам, тк бардачек придется периодически снимать, как минимум для замены фильтра салона. Подключение к AUX автомобиля сделал сразу в разъеме ГУ, вот есть отчет о подключении на форуме Insignia. Для отключения AUX, провода управляющие им - не трогал, подсоединил только аудио, а в штатный разъем AUX воткнул пустой 3,5jack штекер. 4. Дополнительные принадлежности. Для удобства работы с планшетом в снятом состоянии сделан кабель для зарядки подключаемого аккумулятора и подключения к компьютеру: 4. Монтирование в панель. в стадии подготовки... 5. Настройка андроида и установка программ. Вначале, если шили Тимура, нужно установить гапсы (приложения от гугл, маркет и тп). Ставить через рекавери. Затем с помощью EXпроводника с правами SuperSu, удалить не нужные. 1. SuperSU Основная программа, описывать не буду, но от нее много что зависит. Сама по себе ни чего не дает, для ее работы необходимо сделать root (см. выше в разделе прошивки) 2. ES Проводник Самый удобный для меня файловый менеджер. 3. Set Orientation Для наших целей планшет будет использоваться только в горизонтальной ориентации. Что бы она не изменялась, было установлено это приложение. Эту задачу можно выполнить и штатными средствами, но у меня на 4.4.4 перестал работать акселерометр (проблема конкретного устройства) и экран был только в вертикальном положении. Это программа очень спасла. 4. ES Диспетчер задач С его помощью можно легко выставить все уровни звука на максимум и запретить спящий режим (в штатных настройках есть только тайм аут макс 30мин). К сожалению в одном из имеющихся у меня планшетов это не помогало и при выставлении "Никогда", Nexus уходил в сон через 10 сек. Проблема была решена следующим приложением: 5. Менеджер подсветки 6. StickMount Pro Программа для подключения внешних флешек по USB. Pro - версия необходима для возможности продолжения воспроизведения с прежнего места файла записанного на флешку. (Если честно, сам не разбирался - прочитал что нужно Про, купил и поставил) 7. LMT Launcher Тк при установке планшета в панель нижняя строка навигации будет скрыта, то нужно либо изменить размер экрана - что практически на верняка вызовет определенные сложности в некоторых приложениях, либо установить альтернативный способ вызова команд (домой, назад, недавно запущенные) строки навигации. Мне на форуме посоветовали эту программу, и ею я пользуюсь. Настраиваю на вывод диска с кнопками, "на вытягивание" с правой стороны экрана. На маркете ее нет, так что нужно держать апк во внутренней памяти на случай перепрошивки, иначе не вынув планшет из панели, ни чего не сделаете. 7.1. В дополнение, при переходе на андроид 4,4,4 пришлось поставить еще одну аналогичную программу: Handy Soft Keys Ставил только для IGo, тк в нем при нажатии кнопки назад в LMT, он переходил не на предыдущий экран, а на домашний, те закрывался, и только эта программа работала как штатная кнопка "назад". В последствии вернулся на Тимура и все заработало на LMT как и прежде. 7.2. На Тимуре не работает кнопка "последние запущенные приложения" (2 квадратика) - что бы заработала, нужно зайти в службы в настройках и там разрешить службу LMT 8. Classy Live Wallpaper Lite Отличные живые обои. Я ставлю карбон, настраиваются тёмный вид с еле заметным движением. Получается и стильно, и в темноте не слепит. 9. Nova Launcher Лаунчер, позволяющий произвольно располагать виджеты и ярлыки на рабочем столе. 10. Desktop VisualizeR Приложение для создания виджетов из картинок и тп, в частности с его помощью сделан логотип-кнопка "Opel" 11. Slider Widget - громкость В виде значка динамика или подсветки для быстрого доступа к их настройка например после перезагрузки. 12. Навител Навигатор Настройки: -на экране с картой жмем сверху "Динамик" - Настройки - Звуковой поток - Будильник. Теперь навигатор будет говорить в динамики нексуса, когда Aux не включен и например играет диск или штатное радио. -камеры качал вот от сюда: http://mapcam.info/speedcam/ Последний раз редактировалось alexnf; 16.10.2017 в 16:02. |
07.12.2014, 17:25 | #2 |
Старший Пользователь
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
|
13. IGo Собран в конструкторе
Была проблема тихого звука, решилась изменениями в файле sys.txt [android] navigation_audio_stream= 0, 3, 5, 6 - Igo(все звуки предупреждения) и PlayMusic(музыка) говорят вместе только в нашники(АУКС), динамик Nexus молчит. 1 - Igo(все звуки предупреждения) - Тихо и PlayMusic(музыка) - нормально, говорят вместе только в нашники(АУКС), динамик Nexus молчит. 2,4 - Igo(все звуки предупреждения) - говорят нормально, PlayMusic(музыка) - глушится, звук и в нашники(АУКС), и в динамик Nexus. sys.txt Это мой файл с изменениями 14. Google Play музыка Скачивание и проигрывание музыки. 15. Play Music Exporter Экспорт сохраненной музыки из Play музыка в мп3. Что бы увидеть сохраненные трэки, нужно поставить галку Show AllAccess tracks в настройках. 16. ID3Fixer Исправление кодировки трэков мп3. 17. Autorun Manager Отключение автозапуска сервиса. Находим строчки с SystemUpdateServices и снимаем галки. Пока у меня не получилось.... 18. Xposed. Программа для изменения настроек приложений и прошивок. К ней еще нужны модули. Можно было ограничиться только: Unsafe Volume Xposed mod, это для отключения предупреждения о не безопасном уровне звука, но я добавил: 18.1 GravityBox Очень много настроек, в тч отключение предупреждения об уровне звука и расширенная выезжающая правая панель с возможностью добавления различных ярлыков и гибкой настройкой. 19. BusyBox 20. Secure Settings 21. Антирадар MapcamDroid очень хорошая идея, но как то пока не очень мне нравится реализация, надеюсь допилят. 22. Media Utilities создание простых виджетов для плеера музыки и отслеживания состояния плеера для таскера. 23. Tasker выполнение задач по событиям в системе. Вот отличный проект, который я брал за основу: Полезная ссылка на проект с широким использование таскера. Я его подрезал и дополнил: backup__insignia.xml.zip распаковать в папку Таскера Tasker-configs-user, и потом восстановить через меню настроек: данные профиля - восстановить. Описание скрипта: Профили: Экран включен. По событию включени/выключения дисплея запускает задачи DC ON или DC OFF Media Utilities State is Playing. Отслеживает состояние плеера. При старте воспроизведения запускает задачу Now Playing, при остановке - Now Not Playing. Устройство выключается. Запускает задачу Shutdown. Загрузка закончена. Запускает Boot Startup. Задачи: DC ON - сохраняет состояние включения в переменную DCPOWER=1 и запускает задачу On DC OFF - сохраняет состояние выключения в переменную DCPOWER=0 и запускает задачу Off On - Включает gps, bluetooth, wifi, ставит громкость на максимум, выполняет задачу устанавливает таймаут подсветки на 23 часа. OFF - Если задача включения on, уже закончилась, сохранаяет состояние плеера из переменной MPLAYING в переменную WasMusicPlaying, ставит плеер на паузу, выключает bluetooth, gps, wifi если режим "тур" (частые остановки) не включен. Resume Music - если экран включен, снижает уровень звука, запускает воспроизведение, плавно повышает звук до установленного максимума. Boot Startup - ждет 30 секунд и выставляет тайм аут экрана на 10 секунд. Это сделано для автоматического выключения экрана в случае самопроизвольной перезагрузки, тк при загрузке экран включается и не реагирует на сигнал датчика холла до первого изменения им своего состояния. После загрузки и выключения экрана, при его следующем включении тайм аут будет изменен на 23 часа. Now Playing - записывает в MPLAYING - 1 при воспроизведении плеером Now Not Playing- записывает в MPLAYING - 0 при остановке воспроизведения Shutdown - запускает задачу off при выключении планшета. Mode Tour - меняет значение переменной и картинку привязываемого к ее выполнению виджета, если переменная Mtour имеет значение 1 - то при выключении экрана bluetooth, wifi, и gps не вырубаются, сделано для ситуаций с частыми включениями, например когда стоите где то в очереди и часто заводитесь/ глушите, или когда оставляете машину во время обновления андроидом приложений в зоне действия вайфая. Max Vol - меняет значение переменной и картинку привязываемого к ее выполнению виджета. При подключении по ауксу, бывает что на 1 громкости авто, музыка все равно громко звучит и приходится делать по тише в андроиде, и наоборот, если слушаю штатное радио то навигатор паралельно говорит в динамики планшета и при этом нужен максимальный уровень звука. Что бы не крутить настройки громкости, сделал виджет меняющий данный параметр одним нажатием. ЗЫ присутствуют еще некоторые не доработки, требующие настройки, в частности все гладко работает, только после пары включений/выключений экрана после загрузки, видимо как то не так надо настроить начальные значения переменных. 24. Smart Keyboard Pro - при подключении по USB внешней клавиатуры (у меня это ардуино с эмуляцией клавиш руля), экранная не выезжает. Нужно править системные файлы или ставить эту клавиатуру, у нее в настройках галка, что бы не убиралась Последний раз редактировалось alexnf; 24.12.2015 в 17:56. |
07.12.2014, 17:28 | #3 |
Старший Пользователь
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
|
Программирование Arduino.
Скетч для блока питания, как уже и писал выше, а взял у Chubaka885 только обрезал его, оставив лишь управление питанием. Все вместе со схемой выложил тут. Светодиоды это реле датчика холла и питания хаба, а выключатель, это ACC автомобиля. На всякий случай скетч выложу и тут: Rabochiy_Bloc_Pitania.rar Скетч для подключения к Can-шине с целью подключения кнопок на руле и прочих фишек, пока не доступных. Тут буду писать заметки по ходу работы, в дальнейшем систематизирую. Хочу отметить огромную работу, проведенную в этом направлении, пользователем Farman Фактически это все его разработка, я лишь повторил его опыт с максимальным упрощением, тк моего опыта не хватало для полного воплощение в жизнь его проекта, да мне и не нужно было. Я взял только основные вещи. Ссылки на темы и приложения, созданные им: "CarPC на базе Radxa" на Drive2 Подробнее на www.opel-insignia.su Демо и полная версия программы под Android И наконец его видео Надо заметить, что я пошел немного другим путем почти во всем, поэтому пришлось во многом разбираться самостоятельно. В частности, кроме того что Farman использовал не Nexus7, а полноценный компьютер на Radxa, он так же использовал не Arduino, а ее клон Elduino CAN128, вот сайт разработчика, там же можно с ним связаться и приобрести данный микроконтроллер. Из отличий - это уже встроенный Canbus Shild, а так же Lin - что дает практически не ограниченные возможности в управлении автомобилем, в частности дает возможность например подключения штатных кнопок, и джойстика Insignii. Когда Farman воплотит это в жизнь, я наверно тоже подумаю о переходе на данный контроллер. Пока же я, как упоминал ранее, стараюсь пойти наиболее простым и универсальным путем. Итак, после первоначальных опытов с Arduino, осталась одна Leonardo, и блютуз модуль к ней, с ними и будем работать. Что бы снять лишние вопросы, покупал тут: Leonardo R3 Pro Micro ATmega32U4 Wireless Serial 6 Pin Bluetooth RF Transceiver Module HC-05 RS232 CAN-BUS Shield В качестве канбас шилда Farman мне советовал CAN-BUS Shield от Seeedstudio , но меня задушила жаба, и я купил аналог от ElecFreaks в 2 раза дешевле, о чем и не жалею. Вот на него вся документация. Рабочие заметки: 1. Макет для опытов. Тк все хочу объединить в одной Ардуине, то для начала собрал копию блока питания на столе: Источник 12в - аккумулятор от мото. Преобразователь 12 в 5 использовал от разломанной автомобильной зарядки телефона. Залил выше указанный скетч, все заработало. 2. Разберемся с подключением блютуза. Подбирал Bluetoth модуль с индексом HC-05 (он имеет больший функционал чем 06, советовал его мне farman, вот тут можно по подробнее почитать). Из имеющихся на Bluetoth модуле пинов, нам нужны только 4: питание "+" и "-", и сигналы "Rx" и "Tx". К сожалению штатно ее в Leonardo не воткнешь, поэтом припаиваем провода и подключаем "+" и "-" питания к 5-ти вольтам, а сигнальные выводы к аналогичным выводам Leonardo, только с перекрещиванием, те "Rx" подключаем к "Tx" и наоборот "Rx" подключаем к "Tx". Заливаем скетч для проверки правильности подключения Bluetooth (внутри подробные комментарии): Bluetooth_OK.rar -Запитываем Arduino (можно по USB, подключив кабелем к компьютеру) -Устанавливаем на телефоне или планшете простейший Bluetooth Terminal, заходим в настройки Bluetooth на Android, находим наше устройство, подключаем (попросит пароль - 0000 или 1234 или 1111 - пробуйте, как менять написано тут), далее заходим в Bluetooth Terminal, выбираем наше устройство и на экране должны побежать цифры счетчика. -Посылаем символ "1" - видим загоревшийся диод на выводе 13 (он впаян в плату, можно и свой подключить к 13-му пину через резистор 1-10кОм на землю), посылаем "0" - диод гаснет. В общем смотрите скетч, там все описано. , Ну че, заработало? Поехали дальше 3. Подключаемся непосредственно к CAN Отключаем все диоды, втыкаем Каншилд в Ардуину. Если разъемы не распаяны, то проследите, что бы соединились выводы питания 5в и gnd, пин 10 и шестиштырьковый разъем ICSP (там достаточно соединить только 4 вывода) Питать будем от USB. Скетч к Леонардо с указанным выше Кан шилдом для работы на скорости 33.33 с Can-шиной. В нем все описано моими словами, так что не судите строго. Работать можно с таким скетчем и через блютуз и юсб. GMLAN_Leonardo_Podrobno.rar Теперь подключение к машине: Для тестов я соединял Can шилд с диагностическим разъемом авто, через вот такой кабель: OBD2 16Pin to DB9 Serial Port RS232 Adapter Connector Cable Он не имеет ни какой электроники, единственное, что нужно проверить, это соответствие пинов в машине, пинам в кабеле и соответственно в Can шилде: 1. Номера пинов кабеля со стороны шилда: на самом шилде соответственно зеркальное отражение 2. Номера пинов диагностического разъема авто Вид на разъем машины (или подключаемый разъем шнура со стороны пайки): 3. Распиновка кабеля, обязательные пины выделены: OBD II 16 Pin Connector ----------> RS232 9 Pin Connector Pin 1 - SW-LS-CAN (33kB) ----------> Pin 3 - CAN H or DW-FT-CAN (+) (<125kB) для наших целей нужна именно эта шина и читать мы ее будем на скорости 33kB Pin 2 - J1850 ----------> Pin 7 - не задействован Pin 3 - MS-CAN (+) (95kB) ----------> не подключен Pin 4 - Battery - (Chassis Ground), Pin 5 - Signal Ground ----------> Pin 2 Ground, Pin 5 CAN L Шину мы читаем по CAN H, поэтому не задействованный CAN L заземляем, я это сделал внутри разъема OBD Pin 6 - ISO 15765 HS-CAN (+) (500kB) ----------> не задействован при работе с шиной 500kB, в разъеме ODB, провод припаянный к пину 3 перепаять на пин 6 Pin 7 - K-Line ----------> Pin 4 не задействован Pin 8 не задействован ----------> Pin 6 не задействован Pin 9 - DW-FT-CAN (-) (<125kB) ----------> не задействован Pin 10 - PWM ----------> не задействован Pin 11 - MS-CAN (-) (95kB) ----------> не задействован Pin 12 - K-Line (KW82 Prot.) ----------> не задействован Pin 13 - Reserved ----------> не задействован Pin 14 - ISO 15765 HS-CAN (-) (500kB) ----------> не задействован Pin 15 - L-Line ----------> Pin 8 не задействован Pin 16 - Battery + (Constant 12V Power) ----------> Pin 9 Vin Ардуино может питаться от сети машины через 9 пин, который через диод соединен с Vinn Leonardo. Но на сколько я энаю, это не рекомендуется, тк микроконтроллер расчитан на максимальное входное напряжение 12в, а напряжение в сети автомобиля доходит до 15в. Отключить питание от OBD можно переключателем на Can шилде. Подключение на прямую без кабеля: Используем контакты Can шилда с винтами: CanH на Pin1 на OBD разъём машины при подключении к шине 33кб или к Pin6 при подключении к шине 500кб. CanL соединить с GND леонардо или шилда и подключить на Pin4 на OBD Сразу хочу снять с себя всю ответственность, если в процессе подключения, что либо сожжете. Пожалуйста учитывайте, что это не стандартна отработанная технология, делаете вы все на свой страх и риск. Прежде чем подключать, хотя бы в общих чертах разберитесь со схемой работы! Если все соединили, то после подачи питания к Leonardo и соединения по USB или Bluetooth, увидим бегущие по шине данные. (смотреть в Bluetooth Terminal или мониторе порта приложения Arduino) У меня выглядел девайс вот так: При подключении к шине 500кб, меняем подключение с пин 1 на пин 6 в разъеме OBD и меняем в скетче строку: mcp2515_init(33, 0x00) на mcp2515_init(500, 0x00) При монтировании в панель, подключиться можно к Модулю контроля кузова, BCM (body controle module) ............ скоро продолжение ......... Последний раз редактировалось alexnf; 07.01.2017 в 12:25. |
08.12.2014, 00:20 | #4 |
Пользователь
Регистрация: 16.03.2009
Возраст: 40
Город: Baku
Регион: другой - для добавления сообщить ab
Машина: 2011\Opel Insignia
Сообщений: 45
|
Тот человек и здесь тусуется
|
08.12.2014, 00:28 | #5 |
Старший Пользователь
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
|
|
08.12.2014, 00:47 | #6 |
Пользователь
Регистрация: 16.03.2009
Возраст: 40
Город: Baku
Регион: другой - для добавления сообщить ab
Машина: 2011\Opel Insignia
Сообщений: 45
|
Не против конечно. Кстати я щас пытаюсь получить GPS координаты с штатны навигации и передать их через MOCK на андройд. Таким образом можно вместо ГУ обойтись с планшетом без GPS, например обычный свисток и монитор с тачем. Об результате напишу
|
08.12.2014, 02:34 | #7 | |
Старший Пользователь
Регистрация: 07.04.2013
Регион: Беларусь
Машина: Opel Insignia
Сообщений: 112
|
Цитата:
Меня больше волнует возможность получения данных со штатного экрана, что бы его спрятать. |
|
08.12.2014, 15:52 | #8 |
Пользователь
Регистрация: 16.03.2009
Возраст: 40
Город: Baku
Регион: другой - для добавления сообщить ab
Машина: 2011\Opel Insignia
Сообщений: 45
|
как я уже сообщил, данных с радио пока туга. Смог получить только температуру окр. среды. Время/дата тоже не проблема, данные есть, надо проверить. Но в андройде время/дата не актуально
|
19.02.2015, 18:03 | #9 |
Новый Пользователь
Регистрация: 23.01.2015
Возраст: 32
Регион: 86
Сообщений: 5
|
Подскажите пожалуйста заказал Y кабель на алиэкспрес! Подключаю через него зарядку а заряд не идёт! Получается он не работает?
|
19.02.2015, 21:19 | #10 |
Новый Пользователь
Регистрация: 23.01.2015
Возраст: 32
Регион: 86
Сообщений: 5
|
Короче поже я совсем дурак не выходит у меня поставить эту прошивку 2 раз убиваю планшет! Главное востонавливать научился а шить не в какую
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|