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)

Astravod 23.02.2015 22:15

Доброго времени суток! Скажите, а как подключить вот этот модуль http://ru.aliexpress.com/item/GPS-UA...865149790.html
к вот этой плате http://mysku.ru/blog/aliexpress/26949.html. По идее задокументирована поддержка GPS, но вот надо ли для этого драйвер и надо ли пересобирать ядро уже установленного андроида.

SanchSanch 24.02.2015 20:56

Цитата:

Сообщение от nrgizer79 (Сообщение 321222)
В общем проблема однозначно в либе для GPS, т.к. не умеет она одновременно парсить GPS и GLONASS.
Как временное решение хочу включить на чипе режим GPS only, а может GLONASS:dntknw:.
Чип MTK3333.
Вот, что нашел на просторах:
Модулем GPS можно управлять с помощью отправки в порт проприетарных команд чипсета MT3333.
Код:

Пример для перевода чипа в standby
echo -e "\$PMTK161,0*28\r" > /dev/ttyNSC1

Из описания чипа:
Код:

Packet Type: 353 PMTK_API_SET_GNSS_SEARCH_MODE
Support Chip Type:
MT3333
Packet Meaning:
This command is used to configure the receive to start searching of which satellite system
Data Field:
PMTK353,GPS_Enabled,GLONASS_Enabled
GPS_Enabled: ‘0’=disable (DO NOT search GPS satellite)
 ‘1’ or non-ZERO value=search GPS satellite
GLONASS_Enabled: ‘0’=disable (DO NOT search GLONASS satellite)
 ‘1’ or non-ZERO value=search GLONASS satellite
Example:
$PMTK353,0,1*36 Search GLONASS satellite only
$PMTK353,1,0*36 Search GPS satellite only
$PMTK353,1,1*37 Search GPS and GLONASS satellite only

Т.е. мне нужно в чип отправить команду:
Код:

$PMTK353,1,0*36
Видимо в Андроиде через терминал надо вводить:
Код:

echo -e "\$PMTK353,1,0*36\r" > /dev/ttyUSB4
Знатоки Андроида (Линукса), а также протоколов GPS подскажите:
1. Что такое (из описания команды чипа) ?
2. Что такое "r" после цифры 36 ?
3. Как выбирается значение "36" (видно, что бывает и 37 и 28...) ?

Попробуй вот так:
echo -n -e "\$PMTK161,0*28\r\n" > /dev/ttyNSC1

28 - это контрольная сумма. Зависит от текста команды. если команда меняется (или любые ее параметры) - надо рассчитывать заново.
Расчитать можно на сайте:
http://www.hhhh.org/wiml/proj/nmeaxor.html
(вставить в поле текст команды между $ и *)
- это символ возврата каретки. Для команды echo эквивалентно \r
- это символ перевода строки, эквивалентно \n

Но если ты юзаешь вместо модуля прогу pl2303drv - не заработает. Там напрочь не работает передача данных в обратном направлении.
Сегодня-завтра выложу поправленную версию, где это пофиксил. так же у меня не работала скорость 115200, теперь работает.

Также на днях выложу свое решение (костыль) для парсинга данных GPS и формирования новых NMEA-сообщений для кривой либы, так, чтобы она понимала их правильно (глонассовские спутники шлются одним пакетом с GPS-ными) и спутники не прыгали.

Rage2 25.02.2015 00:01

Попробуйте новую либу.
gps.odroidxu3.so, где odroidxu3 в названии меняем как и раньше на вашу платформу (например gps.default.so)
Выдрал из прошивки для ODROID-XU3, ( 4.4.4_Alpha_1.6_Jan-13-2015)

Параметры скорости и путь к gps приемнику задаются через:
Можно прописать в ваш /system/build.prop
ro.kernel.android.gps=/dev/ttyACM0
ro.kernel.android.gps.speed=9600

или так в скрипт /etc/init.d/
setprop ro.kernel.android.gps ttyACM0
setprop ro.kernel.android.gps.speed 9600

Файлы удалил....не взлетело.

SanchSanch 25.02.2015 15:25

У меня не заработало - девайс перестал загружаться. Восстановил старую либу через рекавери.

SanchSanch 25.02.2015 15:30

Как и обещал, в соответствующей теме выложил поправленную версию проги pl2303drv для работы с приемниками на базе pl2303 без модуля ядра.
Поправлена работа на скорости 115200 и передача данных от хоста к устройству (теперь можно передавать GPS-приемнику спец-комманды для конфигурации).

Обещанный костыль для корректной работы либы с GLONASS еще немного подшлифовываю, выложу на днях.

DaveMF 25.02.2015 16:48

Цитата:

Сообщение от Rage2 (Сообщение 321603)
Попробуйте новую либу.
gps.odroidxu3.so, где odroidxu3 в названии меняем как и раньше на вашу платформу (например gps.default.so)
Выдрал из прошивки для ODROID-XU3, ( 4.4.4_Alpha_1.6_Jan-13-2015)

Параметры скорости и путь к gps приемнику задаются через:
Можно прописать в ваш /system/build.prop
ro.kernel.android.gps=/dev/ttyACM0
ro.kernel.android.gps.speed=9600

или так в скрипт /etc/init.d/
setprop ro.kernel.android.gps ttyACM0
setprop ro.kernel.android.gps.speed 9600

После замены на данную библиотеку Radxa тоже зависает на загрузке.

DaveMF 25.02.2015 16:50

Цитата:

Сообщение от SanchSanch (Сообщение 321637)
Обещанный костыль для корректной работы либы с GLONASS еще немного подшлифовываю, выложу на днях.

Аналогичная проблема с mt3333 вот этот брал, идет переключение с частотой примерно 2Гц спутников GPS и ГЛОНАСС и в итоге не цепляет ни те ни другие.

Нужна новая библиотека... Hander Clander поделился исходниками?

Rage2 25.02.2015 17:07

Цитата:

Сообщение от DaveMF (Сообщение 321641)
После замены на данную библиотеку Radxa тоже зависает на загрузке.

Цитата:

Сообщение от SanchSanch (Сообщение 321635)
У меня не заработало - девайс перестал загружаться. Восстановил старую либу через рекавери.

Х.м...значит не повезло...тогда нужно компилить из сорцов.

https://github.com/codewalkerster/an...5d1b434bc4d37d

plohish 26.02.2015 09:08

а таскером через скрипт не получиться подсунуть, я когда выставлял задержку и права в init.d , сразу возрастало время загрузки в двое. Эта проблема исчезла при использовании скрипта запускаемого таскером.

DaveMF 26.02.2015 15:41

Цитата:

Сообщение от SanchSanch (Сообщение 321588)
Попробуй вот так:
echo -n -e "\$PMTK161,0*28\r\n" > /dev/ttyNSC1

Команда проходит и отключает данные GLONASS, но спутники как моргали так и моргают, и навител показывает ноль, хотя в спутниках показывает нормально.

Так что отключение не помогает.


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

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