![]() |
Цитата:
После запуска команды Код:
busybox date -D %H%M%S%d%m%y -s "$(cat /dev/ttyUSB0 |busybox grep -m1 GPRMC | busybox cut -f2,10 -d, | busybox sed -e 's/.000,//')" Немножко разобрался с командами и выяснил что команда ищет в посылках NMEA текст GPRMC. Командой Код:
cat /dev/ttyUSB0 Код:
busybox date -D %H%M%S%d%m%y -s "$(cat /dev/ttyUSB0 |busybox grep -m1 GNRMC | busybox cut -f2,10 -d, | busybox sed -e 's/.000,//')" Код:
sh: cat: |
Цитата:
Цитата:
А вообще это всего-навсего означает, что ваш GPS не выдает сообщения GPRMC. GPRMC - это сообщения которые есть в NMEA 2.0, предполагаю, что у вас приемник NMEA 4.0, в котором есть сообщения GNRMC. Дабы не делать наобум неосмыленных действий, просто подменяя строки - для начала почитайте что-нибудь типа нижеследующего про 2.0 и про 4.0 По поводу ошибок - первая это ок, означает, что grep нашел нужную строку и вышел. Может быть подавлена при помощи Код:
> /dev/null 2>&1 Путем нехитрых преобразований получаем, что новый код будет выглядеть как Код:
busybox date -D %H%M%S%d%m%y -s "$(cat /dev/ttyUSB0 |busybox grep -m1 GNRMC | busybox cut -f2,10 -d, | busybox sed -e 's/.600,//')" Код:
busybox date -D %H%M%S%d%m%y -s "$(cat /dev/ttyUSB0 |busybox grep -m1 GNRMC | busybox cut -f2,10 -d, | busybox sed -e 's/\.[0-9][0-9][0-9],//')" Код:
cat /dev/ttyUSB0 |busybox grep -m20 GNRMC |
Цитата:
Спасибо что откликнулись! После написания предыдущего поста появилась мысля и я пошел ее проверить. И вот что получилось: Цитата:
В результате нашел решение: добавил до скрипта который запускает сам GPS следующий код: Код:
sleep 5 Спасибо за оптимизацию! Код:
's/\.[0-9][0-9][0-9],//' |
Цитата:
Цитата:
Цитата:
На самом деле еще хочу вас попросить понаблюдать, стабильно ли выставляется дата-время, если добавлять вызов этого скрипта в /etc/install-recovery.sh? У меня есть ощущение, что на моем приемнике в случае, если спутники еще не найдены, то выдается "начало времен" 1 января 1970 года. Но проявляется это не каждый раз. |
Кстати, вот такой код должен работать и с 2.0 и с 4.0
Код:
busybox date -D %H%M%S%d%m%y -s "$(cat /dev/ttyUSB0 |busybox grep -e -m1 "G[NP]RMC" | busybox cut -f2,10 -d, | busybox sed -e 's/\.[0-9][0-9][0-9],//')" |
Цитата:
Код:
's/\.[0-9]00,//' Цитата:
п.с. пересмотрел Ваши ссылки по документации на NMEA и увидел там что есть флаг который отвечает за валидность информации о времени. Можно доработать скрипт на проверку этого флага и установка часов будет только тогда когда данные будут правильными. |
Добрый день!
подскажите пожалуйста, железо rk3188 + bu-353s4 когда в командной строке выполняю: echo -n "1-1.2:1.0" > /sys/bus/usb/drivers/option/unbind insmod /system/lib/modules/pl2303.ko busybox stty -F /dev/ttyUSB0 ispeed 4800 busybox chmod 666 /dev/ttyUSB0 setprop ro.kernel.android.gps ttyUSB0 по команде cat /dev/ttyUSB0", побежали NMEA данные. Но когда я все добавляю по инструкции в автозагрузку и перезагружаю устройство, то скорость сама не меняется. Может кто знает почему? |
После перезагрузки, по команде busybox stty -F /dev/ttyUSB0 показывает 9600, т.е. автозагрузка не выполнилась.
Кто знает почему? |
Ну может автозагрузка (init.d) у вас не пашет или криво ее пытались поднять....попобуйте другой вариант. (install-recovery)
Смотрите логи командной dmesg, может все работает, а только скорость не выставляется.... |
Цитата:
install-recovery.sh c содержимым: Цитата:
и назначил права busybox chmod 755 /system/etc/install-recovery.sh и все, данные пошли, автозагрузка заработала!!! Спасибо, Rage2! |
Часовой пояс GMT +4, время: 19:57. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot