06.04.2017 Javad vs Linux

Материал из SRNS
Перейти к: навигация, поиск

Содержание

Изначально я ориентировался на статью: 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

Итого:

stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon

Далее, если не привлекать сторонний софт, можно открыть два терминала и в одном из них дать команду:

cat /dev/ttyUSB0

и там будет появлятся всё, что выдаёт Javad.

Настройка Javad

Но он не будет ничего выдавать! Ему нужно дать специальные команды. Команды есть здесь.

em,,def:{1,,}
em,,jps/gd
em,,jps/qd
em,,jps/WD
em,,jps/ET

Вот дальше я начал эти команды давать и возникли вопросы.

Первая команда устанавливает тем выдачи данных.

em,,def:{1,,}

В результате из приёмника начинает сыпаться поток:

20170406 Javad log1.png

Цифра "1" в команде - это скорость. Если задать "0", данные будут сыпаться ещё быстрее. Чтобы он перестал это делать, надо задать большую цифру, например, 1000.

Проблема заключается в том, что на следующие три команды из списка Javad выдаёт сообщение об ошибке.

em,,def:{1,,}
em,,jps/gd
em,,jps/qd
em,,jps/WD
ER018{2,,wrong 2nd parameter}

Последняя команда - правильная.

Есть ещё команда dm, которую предписано периодически выдавать в Javad, но в инструкции почему-то не указан период выдачи.

В общем, надо разбираться.

Проблема с RTKlib

Повторить это через GUI RTKlib из-под wine не получается. Похоже, что RTKlib неправильно настраивает порт. Лампочка моргает, но ничего не происходит.

После остановки RTKlib команда "cat" из порта ничего не выдаёт. "Оживить" его обратно можно через stty:

stty -F /dev/ttyUSB0 raw
stty -F /dev/ttyUSB0 115200 cs8 -parenb -cstopb -ixon

Обработка лога в RTKconv

Пусть так, но я могу записать лог Javad в файл и обработать!

Приступим:

cat /dev/ttyUSB0 | tee /tmp/javad.log

20170406 Javad from console.png

Теперь можно вызвать RTKconv из-под wine и конвертировать в RINEX:

20170407 Javad RTKconv.png

В результате я получил файл RINEX с наблюдениями. Но нет файла RINEX c эфемеридами - Javad не выдал, судя по всему, нужные данные. Надо разобраться, как его для этого настроить.

А теперь - добавим эфемериды

Владислав записывал из-под Windows лог Javad и конвертировал в RINEX, там тоже не было эфемерид. В результате я давал для обработки файлы, полученные с нашего приёмника и записанные RTKlib. Сделаю в этот раз также.

Настраиваем RTKnavi на работу с нашим приёмником по сети (всё из-под wine).

20170406 MCR RTKnavi.png 20170406 MCR RTKnavi2.png

Получаем лог binr в файле /tmp/MCR.binr. С помощью RTKconv конвертируем его в RINEX:

20170406 MCR RTKconv.png

Далее отдаём это всё RTKpost. PROFIT!

20170406 Javad RTKpost.png

Выводы

  • Надо найти команды Javad, чтобы он выдавал эфемериды
  • Разобраться с неправильными командами Javad
  • Надо понять, что RTKlib делает с портом
  • Надо всё автоматизировать в виде скрипта, чтобы не требовалась эта многоходовка.



[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты
Печать/экспорт