06.04.2017 Javad vs Linux
Boldenkov (обсуждение | вклад) (Новая страница: «<summary [ hidden ] > Записи по подключение приёмника Javad Lexxon через Linux </summary> Изначально я ориент…») |
Korogodin (обсуждение | вклад) |
||
(не показаны 13 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
<summary [ hidden ] > | <summary [ hidden ] > | ||
+ | Записи про подключение приёмника Javad Lexxon к RTKlib через Linux | ||
+ | |||
+ | <center>[[File:20170406_Javad_RTKlib_KDPV.png|400px]]</center> | ||
− | |||
</summary> | </summary> | ||
+ | |||
+ | {{TOCright}} | ||
Изначально я ориентировался на статью: https://srns.ru/wiki/Blog:DneprovV/29.07.2015_Работа_с_RTKLib | Изначально я ориентировался на статью: https://srns.ru/wiki/Blog:DneprovV/29.07.2015_Работа_с_RTKLib | ||
Строка 49: | Строка 53: | ||
stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon | stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon | ||
</source> | </source> | ||
+ | |||
+ | Далее, если не привлекать сторонний софт, можно открыть два терминала и в одном из них дать команду: | ||
+ | <source lang="bash"> | ||
+ | cat /dev/ttyUSB0 | ||
+ | </source> | ||
+ | и там будет появлятся всё, что выдаёт Javad. | ||
+ | |||
+ | == Настройка Javad == | ||
+ | |||
+ | Но он не будет ничего выдавать! Ему нужно дать специальные команды. Команды есть [https://srns.ru/wiki/Blog:DneprovV/29.07.2015_Работа_с_RTKLib#.D0.A8.D0.B0.D0.B3_2.1 здесь]. | ||
+ | |||
+ | <source lang="bash"> | ||
+ | em,,def:{1,,} | ||
+ | em,,jps/gd | ||
+ | em,,jps/qd | ||
+ | em,,jps/WD | ||
+ | em,,jps/ET | ||
+ | </source> | ||
+ | |||
+ | Вот дальше я начал эти команды давать и возникли вопросы. | ||
+ | |||
+ | Первая команда устанавливает тем выдачи данных. | ||
+ | <source lang="bash"> | ||
+ | em,,def:{1,,} | ||
+ | </source> | ||
+ | |||
+ | В результате из приёмника начинает сыпаться поток: | ||
+ | |||
+ | [[File:20170406_Javad_log1.png|400px]] | ||
+ | |||
+ | Цифра "1" в команде - это скорость. Если задать "0", данные будут сыпаться ещё быстрее. Чтобы он перестал это делать, надо задать большую цифру, например, 1000. | ||
+ | |||
+ | Проблема заключается в том, что на следующие три команды из списка Javad выдаёт сообщение об ошибке. | ||
+ | <source lang="bash"> | ||
+ | em,,def:{1,,} | ||
+ | em,,jps/gd | ||
+ | em,,jps/qd | ||
+ | em,,jps/WD | ||
+ | </source> | ||
+ | |||
+ | <source lang="bash"> | ||
+ | ER018{2,,wrong 2nd parameter} | ||
+ | </source> | ||
+ | |||
+ | Последняя команда - правильная. | ||
+ | |||
+ | Есть ещё команда dm, которую предписано периодически выдавать в Javad, но в [https://srns.ru/wiki/Blog:DneprovV/29.07.2015_Работа_с_RTKLib#.D0.A8.D0.B0.D0.B3_2.1 инструкции] почему-то не указан период выдачи. | ||
+ | |||
+ | В общем, надо разбираться. | ||
+ | |||
+ | == Проблема с RTKlib == | ||
+ | Повторить это через GUI RTKlib из-под wine не получается. | ||
+ | Похоже, что RTKlib неправильно настраивает порт. Лампочка моргает, но ничего не происходит. | ||
+ | |||
+ | После остановки RTKlib команда "cat" из порта ничего не выдаёт. "Оживить" его обратно можно через stty: | ||
+ | <source lang="bash"> | ||
+ | stty -F /dev/ttyUSB0 raw | ||
+ | stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon | ||
+ | </source> | ||
+ | |||
+ | == Обработка лога в RTKconv == | ||
+ | |||
+ | Пусть так, но я могу записать лог Javad в файл и обработать! | ||
+ | |||
+ | Приступим: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | cat /dev/ttyUSB0 | tee /tmp/javad.log | ||
+ | </source> | ||
+ | |||
+ | [[File:20170406_Javad_from_console.png|400px]] | ||
+ | |||
+ | Теперь можно вызвать RTKconv из-под wine и конвертировать в RINEX: | ||
+ | |||
+ | [[File:20170407_Javad_RTKconv.png|400px]] | ||
+ | |||
+ | В результате я получил файл RINEX с наблюдениями. Но нет файла RINEX c эфемеридами - Javad не выдал, судя по всему, нужные данные. Надо разобраться, как его для этого настроить. | ||
+ | |||
+ | == А теперь - добавим эфемериды == | ||
+ | |||
+ | Владислав записывал из-под Windows лог Javad и конвертировал в RINEX, там тоже не было эфемерид. В результате я давал для обработки файлы, полученные с нашего приёмника и записанные RTKlib. Сделаю в этот раз также. | ||
+ | |||
+ | Настраиваем RTKnavi на работу с нашим приёмником по сети (всё из-под wine). | ||
+ | |||
+ | [[File:20170406_MCR_RTKnavi.png|400px]] | ||
+ | [[File:20170406_MCR_RTKnavi2.png|400px]] | ||
+ | |||
+ | Получаем лог binr в файле /tmp/MCR.binr. С помощью RTKconv конвертируем его в RINEX: | ||
+ | |||
+ | [[File:20170406_MCR_RTKconv.png|400px]] | ||
+ | |||
+ | Далее отдаём это всё RTKpost. PROFIT! | ||
+ | |||
+ | [[File:20170406_Javad_RTKpost.png|400px]] | ||
+ | |||
+ | == Выводы == | ||
+ | |||
+ | * Надо найти команды Javad, чтобы он выдавал эфемериды | ||
+ | * Разобраться с неправильными командами Javad | ||
+ | * Надо понять, что RTKlib делает с портом | ||
+ | * Надо всё автоматизировать в виде скрипта, чтобы не требовалась эта многоходовка. | ||
+ | |||
+ | |||
+ | |||
+ | {{wl-publish: 2017-04-06 13:07:53 +0300 | Boldenkov }} |
Текущая версия на 22:39, 7 апреля 2017
|
Изначально я ориентировался на статью: https://srns.ru/wiki/Blog:DneprovV/29.07.2015_Работа_с_RTKLib В этой статье описано, как подключить Javad через RTKlib.
Но я запускал RTKlib из-под Linux через wine, естественно, ничто не заработало сразу, поэтому я начал экспериментировать...
[править] Проверка связи, как таковой
Javad подключен через адаптер USB-RS232 на чипе PL2303 и отображается в Linux устройством /dev/ttyUSB0.
Необходимо настроить порт. Настройки порта известны
Сделаем это через stty:
Параметр порта | Значение | Ключ stty |
---|---|---|
bitrate | 115200 | 115200 |
Character size | 8 | cs8 |
Parity | none | -parenb |
Stop bit | 1 | -cstopb |
Flow control | none | -ixon |
Итого:
Далее, если не привлекать сторонний софт, можно открыть два терминала и в одном из них дать команду:
и там будет появлятся всё, что выдаёт Javad.
[править] Настройка Javad
Но он не будет ничего выдавать! Ему нужно дать специальные команды. Команды есть здесь.
em,,jps/gd
em,,jps/qd
em,,jps/WD
em,,jps/ET
Вот дальше я начал эти команды давать и возникли вопросы.
Первая команда устанавливает тем выдачи данных.
В результате из приёмника начинает сыпаться поток:
Цифра "1" в команде - это скорость. Если задать "0", данные будут сыпаться ещё быстрее. Чтобы он перестал это делать, надо задать большую цифру, например, 1000.
Проблема заключается в том, что на следующие три команды из списка Javad выдаёт сообщение об ошибке.
em,,jps/gd
em,,jps/qd
em,,jps/WD
Последняя команда - правильная.
Есть ещё команда dm, которую предписано периодически выдавать в Javad, но в инструкции почему-то не указан период выдачи.
В общем, надо разбираться.
[править] Проблема с RTKlib
Повторить это через GUI RTKlib из-под wine не получается. Похоже, что RTKlib неправильно настраивает порт. Лампочка моргает, но ничего не происходит.
После остановки RTKlib команда "cat" из порта ничего не выдаёт. "Оживить" его обратно можно через stty:
stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon
[править] Обработка лога в RTKconv
Пусть так, но я могу записать лог Javad в файл и обработать!
Приступим:
Теперь можно вызвать RTKconv из-под wine и конвертировать в RINEX:
В результате я получил файл RINEX с наблюдениями. Но нет файла RINEX c эфемеридами - Javad не выдал, судя по всему, нужные данные. Надо разобраться, как его для этого настроить.
[править] А теперь - добавим эфемериды
Владислав записывал из-под Windows лог Javad и конвертировал в RINEX, там тоже не было эфемерид. В результате я давал для обработки файлы, полученные с нашего приёмника и записанные RTKlib. Сделаю в этот раз также.
Настраиваем RTKnavi на работу с нашим приёмником по сети (всё из-под wine).
Получаем лог binr в файле /tmp/MCR.binr. С помощью RTKconv конвертируем его в RINEX:
Далее отдаём это всё RTKpost. PROFIT!
[править] Выводы
- Надо найти команды Javad, чтобы он выдавал эфемериды
- Разобраться с неправильными командами Javad
- Надо понять, что RTKlib делает с портом
- Надо всё автоматизировать в виде скрипта, чтобы не требовалась эта многоходовка.
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.