PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Рабочий журнал (http://pccar.ru/forumdisplay.php?f=25)
-   -   Alfa 147 + Android (http://pccar.ru/showthread.php?t=15052)

formatzz 12.02.2012 02:09

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

Romi4 12.02.2012 02:21

очень интересный проект! думаю, что за андройдом будущее, если бы сейчас начинал новый истал то пошёл бы по вашему пути. менее затратно и минимум проводов. из минусов только два момета радио и нет "фрон-энда" типа icarDS или центрифуги, но дума, что это дело не далёкого промежутка времени. удачи.

greenkey 26.02.2012 14:15

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

tsynik 27.02.2012 01:20

Цитата:

Сообщение от greenkey (Сообщение 212531)
а как реализована громкая связь?
например, как телефон с блютус может подключится к этому компу, и использовать его как handsfree?

От hands-free пришлось отказаться. С точки зрения Android планшет и есть телефон, и он может теоретически выступать в этой роли, но для этого в нем самом должна быть сим-карта. Пользовать 2 номера не вижу смысла, а наоборот пока не возможно. Для подключения от планшета к телефону по BT и использования его как гарнитуры нужна реализация в стеке Bluetooth Android профиля Hands-Free Profile (HFP), что пока, насколько мне известно, до конца не реализовано. Хотя, есть таковой для Linux, и кто-нибудь скорее всего попробует рано или поздно портировать его на Android.

Vadim72 07.03.2012 08:34

Здравствуй. У меня планшет Texet TM-21. Раньше не сталкивался ни с Linux, ни с Android.Поддержки моста USB-COM В ядре не было. С трудом найден модуль Pl2303.ko для ядра 2.6.34.Теперь хочу автоматизировать подключение GPS(подключить модуль,сменить используемый интерфейс GPS в Android). Ты написал:

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

Возникло два вопроса.
Как ты организовал автозагрузку?

Самый правильный вариант - добавить в init.rc,но он после перезагрузки обнуляется. Образ этого файла лежит в boot.img,и зашит как отдельный раздел.Проблема в том что бут подписан и его не поменяешь.

Пришлось использовал программу Autostart, которая после загрузки планшета запускает от имени рута скрипт /data/opt/autostart.sh.

Как ты переключаешь интерфейсы?Можно ли посмотреть листинг твоего скрипта?

По умолчанию используется ttyS0,а надо использовать ttyUSB0.Прописываю setprop ro.kernel.android.gps ttyUSB0

Очень надеюсь на ответ.

tsynik 10.03.2012 20:23

Цитата:

Сообщение от Vadim72 (Сообщение 213827)
Пришлось использовал программу Autostart, которая после загрузки планшета запускает от имени рута скрипт /data/opt/autostart.sh.

Как ты переключаешь интерфейсы?Можно ли посмотреть листинг твоего скрипта?

По умолчанию используется ttyS0,а надо использовать ttyUSB0.Прописываю setprop ro.kernel.android.gps ttyUSB0

Очень надеюсь на ответ.

Autostart.sh - нормально. По-хорошему на планшете также нужно установить busybox в /system/bin или /system/xbin, чтобы был полноценный shell с поддержкой конструкций if. Скрипт выглядит примерно так:

Код:

#!/system/bin/busybox ash

sleep 2

#
# GPS
#

# Загружаем модуль ядра
insmod pl2303.ko

/system/bin/setprop "ro.kernel.android.gps" "ttyS1"
/system/bin/setprop "ro.tty.speed" "9600"

# если подключен внешний GPS (есть устройство /dev/ttyUSB0)
if [ -c /dev/ttyUSB0 ]; then
        # создаём символическую ссылку
        busybox ln -s /dev/ttyUSB0 /dev/ttyS1
        /system/bin/log -t init.sh "Linking /dev/ttyUSB0 to /dev/ttyS1 for GPS"
else
        busybox ln -s /dev/ttyS0 /dev/ttyS1
        /system/bin/log -t init.sh "/dev/ttyUSB0 does not exist. Use internal GPS (/dev/ttyS0)"
fi

# USB Audio
#/system/bin/setprop "media.audio.out.mode" "usb"

# Navitel SafeStart
sed -i 's/SafeExit = 0/SafeExit = 1/g' /data/data/com.navitel/settings.001.ini

В библиотеке GPS андроида может как обрабатываться, так и в принципе не использоваться параметр "ro.kernel.android.gps".

Идешь в /system/lib или /system/lib/hw/ и находишь там *gps*.so, это и есть бинарник библиотеки, работающей с gps. Копируешь его на карту памяти и на компьютер.

Проверить можно любым HEX-редактором. Открываешь в HEX-редакторе загруженный файл (libgps.so?), поиск - "ro.kernel.android.gps", если совпадения есть - значит устройство по-умолчанию можно переназначить на /dev/ttyUSB0). Просто устанавливаешь значение ro.kernel.android.gps = ttyUSB0 через setprop в autostart.sh, этого должно быть достаточно.

Если нет, тогда нужно посмотреть в HEX-редакторе совпадения на /dev/* и поменять /dev/ttyS0 на (к примеру) /dev/ttyS1 (или любое другое не существующее в /dev/ устройство с именем той же длинны), а это будет ссылка либо на /dev/ttyUSB0 либо на /dev/ttyS0. Так имеет смысл делать, если есть встроенный GPS-модуль. Если его нет, тогда просто при загрузке линковать /dev/ttyUSB0 на то устройство, с которым работает библиотека. Также, важным моментом является скорость работы порта (4800 9600 etc). Если после загрузки по команде cat /dev/ttyUSB0 ты видишь данные NMEA а не мусор - скорость ставить не нужно, и так всё ОК.

vms1976 13.03.2012 15:59

Здравствуйте. Уменя нет встроенного GPS в модуле GPS.SO указан порт /dev/s32410_serial1. Подскажите какие строки в вашем скрипте необходимы в моем случае . Внешний GPS монтируется на ttyUSB0.

tsynik 14.03.2012 22:15

Цитата:

Сообщение от vms1976 (Сообщение 214646)
Здравствуйте. Уменя нет встроенного GPS в модуле GPS.SO указан порт /dev/s32410_serial1. Подскажите какие строки в вашем скрипте необходимы в моем случае . Внешний GPS монтируется на ttyUSB0.

Можно попробовать

Код:

busybox ln -s /dev/ttyUSB0 /dev/s32410_serial1
но, если встроенный GPS отсутствует, библиотека может получить ошибку при попытке включения питания на встроенном чипе, которого нет, и неправильно выставить скорость порта. В таком случае целесообразнее передать координаты через сторонее ПО

vms1976 15.03.2012 11:21

В файле GPS.SO тупо изменил s32410_serial1 на ttyUSB0. Планшет перестал загружаться пришлось перепрошивать. Прошил другой прошивкой т.к. родной нема, там android 2.3. В файле init.rc прописана работа GPS от порта ttyUSB0. Подключаю приемник включаю USB хост загружаю GPStest или навител спутники видит, при сворачивании или выходе из программы навигации питание с USB хоста пропадает. Как можно сделать что бы при выходе из проги хост не отваливался?

tsynik 15.03.2012 22:59

Цитата:

Сообщение от vms1976 (Сообщение 214948)
В файле GPS.SO тупо изменил s32410_serial1 на ttyUSB0. Планшет перестал загружаться пришлось перепрошивать. Прошил другой прошивкой т.к. родной нема, там android 2.3. В файле init.rc прописана работа GPS от порта ttyUSB0. Подключаю приемник включаю USB хост загружаю GPStest или навител спутники видит, при сворачивании или выходе из программы навигации питание с USB хоста пропадает. Как можно сделать что бы при выходе из проги хост не отваливался?

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


Часовой пояс GMT +4, время: 12:23.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot