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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Навигация (http://pccar.ru/forumdisplay.php?f=176)
-   -   USB GPS for Android (http://pccar.ru/showthread.php?t=18871)

dmitry-c 27.04.2014 15:33

Ок, попробую спросить там, если будут продвижения, отпишусь. Спасибо.

CheGuevara 28.04.2014 14:34

Планшет Pipo U2 на RK3066 (рутованый, busybox установлен)
GPS-приемник: GlobalSat BU-353S4 USB

Приемник подключен через OTG-переходник (без хаба)

В папке "/system/etc/permissions" есть файл "android.hardware.location.gps.xml"
В этом файле есть
Файл "android.hardware.location.xml" отсутствует.
(позже скопировал "android.hardware.location.gps.xml" в "android.hardware.location.xml" - ничего не изменилось)

В меню "Настройки"-"Мое местоположение" есть пункты
"По координатам сети"
"Учитывать при поиске"
(про GPS слов нет)

В меню "Для разработчиков" проставлена галка на "Фиктивные местоположения"

Из первого поста скачаны:
new_gps.sun4i.so.zip
usb_serial_for_RK3066_3.0.8+.zip

Монтирую раздел "/system" в RW.
Заливаю модули на планшет:
Код:

adb push pl2303.ko /system/lib/modules/pl2303.ko
adb shell chmod 644 /system/lib/modules/pl2303.ko

adb push gps.sun4i.so /system/lib/hw/gps.default.so
adb shell chmod 644 /system/lib/hw/gps.default.so

adb shell sync

Далее в терминале выполняю такую последовательность команд:
Код:

su
echo -n "1-1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

Проверяю:
Код:

cat /dev/ttyUSB0
на экране вижу поток NMEA данных.
Ок??

Запускаю (для теста) программу AndroiTS GPS Test Free

Спутники показывает, координаты показывает. Но скачут показания азимута
(наверное азимута, значение в градусах показывает либо 0 либо 350) и высоты
(либо 14 либо 474 метра... реальная высота, примерно, 474 метра и есть).
В Навителе моргает значок спутника красный/зеленый, если зайти в просмотр
спутников - моргает показание высоты: либо "-" либо "474м".
Моргает равномерно - примерно по полсекунды каждое показание.

Установил UsbGps4Droid - показания перестали мигать, но и информацию
о спутниках не видно.

Можно ли как-то порешать чтоб и информацию по спутникам было видно
и не моргали значения??

Rage2 28.04.2014 16:14

Как решить вашу проблему точно я не скажу, но вот есть не используете UsbGps4Droid, тогда галку "Фиктивные местоположения" нужно убрать.

попробуйте софтовую реализацию драйвера pl2303 http://www.pccar.ru/showthread.php?t=19270

eyeless 07.05.2014 10:29

Либа работает на 4.2, использовал для UART приемника, сенкс!

UPD. Погонял, не очень хорошо оно парсит NMEA и с глонасом беда, спутники скачут :(
Эээх, придется похоже писать самому.

LowriderA 08.05.2014 18:30

МК908II(сток 4,2 от 19,12,13)+ BU353S4 слибой и "пинанием" работает отлично, осталось добавить время
Всем спасибо! Прочитав всю тему победил!

Rage2 08.05.2014 21:29

LowriderA, молодец, что нашел силы самостоятельно изучить и переварить информацию :wink2:
.....ну хоть кому то мои труды были полезны.:happy:

SanchSanch 15.05.2014 01:07

Добрый день. Спасибо огромное за подробные инструкции по настройке USB GPS.

Сейчас собираю систему в машину на основе свистка MK908II.
Прикупил к нему приемник LS-2030G через pl2303.ko и либу из первого поста. С pl2303 пришлось помучаться, но инструкции в первом посте помогли (видимо драйвер криво вкомпилен в ядро). Скрорсть порта подобрал экспериментально по выводу текста через команду cat. Получилось 115200.

В общем через терминал поток нормально идет, а в прогах типа GPS Test и GPS Status спутники постоянно "прыгают и мигают". Видел в теме подобные жалобы, вроде бы предполагается что это из-за несовместимости либы с GLONASS.
Хотел уточнить, нет ли работающего с данным приемником либы? Уж очень не хочется юзать Mock Locations - какой-то это не полноценный GPS.
И на всех ли приемниках с Glonass такая фигня с данной либой? Или есть соместимые по командам?

Так же откопал старый приемник BU-353 (ему лет 5, если не больше), тоже на pl2303, только скорость 4800. Глонасса там естественно нет. С ним спутники не прыгают, но уж очень низкая чувствительность по современным меркам и спутники долго ищет.
Глонасс все-таки хочется, и чтоб без костылей в виде Mock Locations...

Rage2 15.05.2014 01:39

Новой либы я не встречал, но у plohish гпс приемник с глонасс (Locosys LS23090) и вроде у него ничего не скачет и не прыгает с этой либой.
Только у него приемник юзает cdc-acm.ko и скорость 115200.
Попробуйте вместо модуля, использовать софтовый драйвер pl2303. http://www.pccar.ru/showthread.php?t=19270

eyeless 16.05.2014 11:09

Цитата:

Сообщение от Rage2 (Сообщение 297100)
Новой либы я не встречал, но у plohish гпс приемник с глонасс (Locosys LS23090) и вроде у него ничего не скачет и не прыгает с этой либой.
Только у него приемник юзает cdc-acm.ko и скорость 115200.
Попробуйте вместо модуля, использовать софтовый драйвер pl2303. http://www.pccar.ru/showthread.php?t=19270

plohish тоже писал что скачут, вот тут
я думаю что проблема в том что инфа GPS и GLONASS идет отдельными сообщениями, и либа их парсит как равноценные, а не объединяет

BorisGreen 02.06.2014 15:29

DNS e77 RK3066
 
Зарегистрировался, чтобы поблагодарить и рассказать случай.

Планшет DNS e77 RK3066, Android 4.1.1, 3.0.8+
При втыкании cp2101 \ FT232RL они автоматом распознаются, возникает /dev/bus/usb/001/00* каждый раз разный файл.

UsbGPS автоматом ловит этот файл.

Но я залил родную библиотеку gps.default.so, ее не было в планшете. Сделал **.xml с разрешением на Настройки-Местоположение- По спутникам.

init.d не сущестововал, preinstall.sh не существовал. Создал, но не работает.

Тогда создал install-recovery.sh rwx-rx-rx и поместил туда строки:

PHP код:

#!/system/bin/sh
insmod /system/lib/modules/cp210x.ko
setprop 
"gps.enable" "true"
setprop "ro.kernel.android.gps" "ttyUSB0"
sleep 50
stty 
-/dev/ttyUSB0 speed 9600
chmod 777 
/dev/ttyUSB0 

Еще в build.prop прописал "gps.enable" "true", НО думаю, что можно без этого.
---------------
Включаю планшет со вставленным cp2102+MTK, грузится, проверяю скорость файла - 9600, данные NMEA бегут. В 2ГИС и прочих приложениях работает "родная" библиотека, которую воткнул.
Как только планшет уснул - файл /dev/ttyUSB0 исчезает. Навигации нет.
При втыкании флешки вместо ГПС она определяется и работает. После флешки ГПС не работает, только снова ребут со вставленным ГПС.
Итого, планшет включаем с ГПС, спать не даем, 2ГИС запускаем и используем.

В общем, спасибо вам за интересный квест и полезную тему!

BorisGreen 02.06.2014 15:41

GPS
 
Еще проверяйте, что данные NMEA валидные. Я на подоконнике держал ГПС, он гнал 4878594, ,,, Не обратил внимания, что координат нет. Библиотеки ругаются, кажется, что они не работают :be: Например, родная библиотека пишет "Поиск ГПС", хотя в терминале данные бегут, правда, пустые :laugh2:
Убил на это пару часов! Мучал софт, а дело в железе.

Если у кого есть Ардуино, то создаете простой скетч, serial.begin(***_ваша_скорость_порта);
PHP код:

void setup()
{
   
// initialize serial and wait for port to open:
   
Serial.begin(9600); //ваша_скорость_порта
}

void loop()
{
     
//координаты какие пожелаете, можно свой город, чтобы карта была в навигаторе
     
Serial.println("$GPRMC,204322.842,V,8819.797,N,07605.094,E,2.8,32.30,010614,,E*58");
     
delay(100);
     
Serial.println("$GPGGA,204323.842,8819.797,N,07605.094,E,0,00,,,M,,M,,*41");
     
delay(100);
     
Serial.println("$GPGLL,8819.797,N,07605.094,E,204324.842,V*26");
     
delay(100);
     
Serial.println("$GPVTG,32.30,T,,M,2.8,N,5.1,K*6C");
     
delay(100); 


Подключаете GND,TX Ардуины на GND,RX своего CP2101\FT232 и получаете валидные NMEA прямо на столе в бетонной коробке. Планшет думает, что ГПС шлет координаты.

Mypp 04.06.2014 13:42

Друзья, а есть ли у кого программа PL2303GPS MockLocationProvider ?

отличная программа чтобы работали usb gps на чипе PL2303
просто всё сразу работает, без шаманств с модулями, терминалом, рутом и т.п.
воткнул GPS и программа сама запустилась.

но демо версия 10 минут живёт, а платную версию за 80 р. гугл не даёт купить, недоступно мол ни на одном моём планшете.

BorisGreen 05.06.2014 14:53

Цитата:

Сообщение от Mypp (Сообщение 298996)
платную версию за 80 р. гугл не даёт купить, недоступно мол ни на одном моём планшете.

У вас планшет без GPS? Тогда Гоогл не даст. Я тоже страдал, когда хотел установить GPS_INFO из маркета.
После шаманства с родной либой gps.default.so у меня "появился" GPS, я написал в build.prop gps.enable = on. Google.market сразу дал скачать любой GPS-софт, мол, ваш планшет поддерживает.

webnet 07.06.2014 18:39

помогите не могу победить авто загрузку! ttyacm0


insmod /system/lib/modules/cdc-acm.ko грузиться в dev появляется ttyacm0

cat /dev/ttyacm0 данные идут.

всё прочитал и перепробовал. может есть у кого готовые скрипты

Mypp 09.06.2014 12:34

Цитата:

Сообщение от BorisGreen (Сообщение 299151)
планшет без GPS?

ну да.
демо версию я скачал через APK Downloader

прога нравится тем что всё автоматом делается, установил программу, воткнул USB разъём и все, независимо от версии прошивки или настроек.

Shino Kuyo 10.06.2014 15:32

хай олл
хотел спросить, но уже подсказали, поэтому правлю сообщение будет типа план действий для конкретной железки :)
на столе Radxa Rock (RK3188) и UART GPS модуль, собственно подключенный к SPI1/UART3/GPS Radxa Rock (пины 17,18,22,24)
ставим бузибокс, рут есть в прошивке изначально

библиотеку gps.sun4i.so кладём в /system/lib/hw
переименовываем в gps.default.so (без замены, так как до этого там только gps.glofish.so)
выставляем ей права 644
монтируем раздел /system/etc на запись
создаём файл install-recovery.sh с Unix-переводами строк с содержимым:
Код:

#!/system/bin/sh

busybox stty -F /dev/ttyS3 9600
busybox chmod 666 /dev/ttyS3

setprop "ro.kernel.android.gps" "ttyS3"

копируем install-recovery.sh в /system/etc/ права 755

пользуемся :)

BorisGreen 11.06.2014 10:25

Цитата:

Сообщение от Shino Kuyo (Сообщение 299614)
UART GPS модуль, собственно подключенный к SPI1/UART3/GPS Radxa Rock (пины 17,18,22,24)

Повезло! Вам даже не требуется sleep() для инициализации и подкачка драйверов.
У вас пины RxTx выведены на пяточки? GPS разместили внутри планшета?

Shino Kuyo 11.06.2014 12:01

Цитата:

Сообщение от BorisGreen (Сообщение 299701)
Повезло! Вам даже не требуется sleep() для инициализации и подкачка драйверов.
У вас пины RxTx выведены на пяточки? GPS разместили внутри планшета?

это не планшет, это девелопер борд radxa.com
пины выведены на колодку
размещаться всё будет в корпусе штатной магнитолы :)
ну, кроме GPS приёмника, хотя может тоже будет внутри, только окошко для антенны выпилю сверху. вроде под обшивкой торпедо должен ловить. там посмотрим

webnet 11.06.2014 12:45

как создать файл install-recovery.sh с Unix-переводами строк с содержимым

Shino Kuyo 11.06.2014 12:49

notepad++ в помощь

webnet 11.06.2014 14:06

а может кто его прислать готовый?

Shino Kuyo 11.06.2014 14:21

устройство в системе как видится?

webnet 11.06.2014 14:25

Цитата:

Сообщение от Shino Kuyo (Сообщение 299708)
notepad++ в помощь

а может дать готовый файл

Shino Kuyo 11.06.2014 14:41

Вложений: 1
форум не дает *.sh грузить пришлось кинуть в архив
это для устройства ttyS3
http://notepad-plus-plus.org качаете если надо отредактировать
права уже в самом ведроиде рутэксплорером

webnet 11.06.2014 14:45

Цитата:

Сообщение от Shino Kuyo (Сообщение 299716)
форум не дает *.sh грузить пришлось кинуть в архив
это для устройства ttyS3
http://notepad-plus-plus.org качаете если надо отредактировать
права уже в самом ведроиде рутэксплорером

а в этот файл полностью переность загрузку типа
#!/system/bin/sh

insmod /system/lib/modules/cdc-acm.ko
sleep 50
busybox chmod 666 /dev/ttyACM0
setprop ro.kernel.android.gps ttyACM0

вот так должен выглядить?

webnet 11.06.2014 15:47

#!/system/bin/sh

insmod /system/lib/modules/cdc-acm.ko
setprop ro.kernel.android.gps ttyACM0
busybox stty -F /dev/ttyACM0 9600
busybox chmod 666 /dev/ttyACM0

webnet 11.06.2014 19:27

Спасибо всём всё работает!

DaveMF 20.06.2014 12:23

есть такой приемник, у него чип Ublox 6010. Под него есть библиотека?

Shino Kuyo 20.06.2014 13:29

а какая разница-то какой приемник?
видится андроидом в девайсах?

DaveMF 20.06.2014 14:05

Цитата:

Сообщение от Shino Kuyo (Сообщение 300426)
а какая разница-то какой приемник?
видится андроидом в девайсах?

Я планирую только еще купить, вот и спрашиваю будет ли работать, чтобы деньги не выкинуть. Мой BU-353S4 отлично работает с библиотекой pl2303.ko

dmitry-c 22.06.2014 11:28

Здравствуйте уважаемые, не могу подружить зверька на rk3188 андроид 4.4.2, ядро 3.0.36+ и gps приемник на mediatek MTK3329.
Установил драйвер и либу
u0_a67@rk3188:/ $ lsmod
cdc_acm 13916 0 - Live 0x00000000
rk29_ipp 9957 1 - Live 0x00000000 (C)
mali 152580 35 - Live 0x00000000
ump 30472 21 mali, Live 0x00000000
rk30xxnand_ko 162075 0 - Live 0x00000000
u0_a67@rk3188:/ $


Устройства ttyACM при подключении в dev не появляется есть ttyS0, которое откликается на "busybox stty -F /dev/ttyS0"

u0_a67@rk3188:/ $ su busybox stty -F /dev/ttyS0 ispeed 115200
u0_a67@rk3188:/ $ su busybox stty -F /dev/ttyS0
speed 115200 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint -imaxbel
u0_a67@rk3188:/ $


Но после ввода "cat /dev/ttyS0", потока данных NMEA нет...

Rage2 22.06.2014 15:17

dmitry-c, ttyS0 не трогать..это другое.
Не исключено, что ваш приемник не на cdc_acm интерфейсе построен.
Попробуйте pl2303.ko

dmitry-c 23.06.2014 12:17

Цитата:

Сообщение от Rage2 (Сообщение 300586)
dmitry-c, ttyS0 не трогать..это другое.
Не исключено, что ваш приемник не на cdc_acm интерфейсе построен.
Попробуйте pl2303.ko

Да похоже что другое точно, это устройство не определяется совсем, попробовал pl2303.ko, но пока не могу сменить скорость порта на 4800

busybox stty -F /dev/ttyUSB0 ispeed 4800 или busybox stty -F /dev/ttyUSB0 4800
setprop ro.kernel.android.gps ttyUSB0


выдают: ошибка "cannot perform all requested operations
пробовал сделать так по инструкции результата нет...

Rage2 23.06.2014 12:48

dmitry-c попробуй "софтовый" драйвер.
http://www.pccar.ru/showthread.php?t=19270

nrgizer79 23.06.2014 16:02

Приветствую всех!

Связка ODROID U3 (Exynos 4412) + Holux M-215+ (чип МТК3333).
Android 4.4.4. Ядро 3.0.51
Судя по выводу lsusb (Bus 001 Device 007: ID 067b:2303) модуль pl2303, причем модуль вкомпилен в ядро.
Устройство определяется как ttyUSB0.
Скорость 9600 (speed 9600 baud; line = 0; )
Скорость в настройках приемника - 4800.
Данные NMEA естественно не идут.
Если скорость поменять ручками busybox stty -F /dev/ttyUSB0 4800, то данные пойдут.
Создал папку /system/etc/init.d, дал права 755 (chmod 755 /system/etc/init.d).
Создал файл /system/etc/init.d/gps_speed, дал права 755 (chmod 755 /system/etc/init.d/gps_speed).
Прописал туда:
Код:

#!/system/bin/sh

busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0

Скрипт походу не отрабатывается, скорость при запуске не меняется.
"Выписка" из лога:
Код:

--------- beginning of /dev/log/main
06-23 14:49:25.725 I/installd( 1435): installd firing up
06-23 14:49:25.820 I/DEBUG  ( 1430): debuggerd: Jun 16 2014 09:35:30
06-23 14:49:25.965 I/busybox ( 1442): run-parts: /system/etc/init.d/gps_speed exited with code 111
06-23 14:49:25.965 I/busybox ( 1442): busybox terminated by exit(1)

Что я делаю не так ?

Bkmz 23.06.2014 18:01

Цитата:

Сообщение от nrgizer79 (Сообщение 300714)
Приветствую всех!

Связка ODROID U3 (Exynos 4412) + Holux M-215+ (чип МТК3333).
Android 4.4.4. Ядро 3.0.51
Судя по выводу lsusb (Bus 001 Device 007: ID 067b:2303) модуль pl2303, причем модуль вкомпилен в ядро.
Устройство определяется как ttyUSB0.
Скорость 9600 (speed 9600 baud; line = 0; )
Скорость в настройках приемника - 4800.
Данные NMEA естественно не идут.
Если скорость поменять ручками busybox stty -F /dev/ttyUSB0 4800, то данные пойдут.
Создал папку /system/etc/init.d, дал права 755 (chmod 755 /system/etc/init.d).
Создал файл /system/etc/init.d/gps_speed, дал права 755 (chmod 755 /system/etc/init.d/gps_speed).
Прописал туда:
Код:

#!/system/bin/sh

busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0

Скрипт походу не отрабатывается, скорость при запуске не меняется.
"Выписка" из лога:
Код:

--------- beginning of /dev/log/main
06-23 14:49:25.725 I/installd( 1435): installd firing up
06-23 14:49:25.820 I/DEBUG  ( 1430): debuggerd: Jun 16 2014 09:35:30
06-23 14:49:25.965 I/busybox ( 1442): run-parts: /system/etc/init.d/gps_speed exited with code 111
06-23 14:49:25.965 I/busybox ( 1442): busybox terminated by exit(1)

Что я делаю не так ?

Попробуй из скрипта убрать слово ispeed....

nrgizer79 23.06.2014 18:25

Цитата:

Сообщение от Bkmz (Сообщение 300724)
Попробуй из скрипта убрать слово ispeed....

То же самое.
Из командной строки работает что с ispeed, что без нее.

Rage2 23.06.2014 18:56

Убери базибокс

webnet 24.06.2014 00:14

Помогите решить проблему. Спутники пропадают через неопределённое время.а в терминале после ввода cat /dev/ttyACM0 данные идут. Помогает только перезагрузка?

nrgizer79 24.06.2014 10:12

Цитата:

Сообщение от Rage2 (Сообщение 300731)
Убери базибокс

Не помогает.

UPDATE:
Побеждено.
Создавал файл скрипта в notepad++ на винде - не работало.
Создал файл в андроиде в RootExplorer - все пошло.


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

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