RTKlib/постпроцессинг

To Alexey Illarionov
Прикупил у желтолицых братьев по разуму GlobalSat BU-353S4
Чем (и как) Вы преключили GlobalSat BU-353S4 в SirfStarBinary-mode?
SirfLive в Linux под wine у меня “не заводится”.
Я пробовал переключить под Windows программами Sirf-Teach и SirfDemo - не получается.
Приемник работает только в NMEA-mode на скорости 4800.

Для работы в linux-ubuntu скопилил sirfdump, но он похоже работает только с готовыми файлами от приемника.
Хотя из файлов в ./littlesavage-sirfdump/util/codec/sirf_codec_ssb.* следует,
что может работать с приемниками SirsStar напрямую (SIRF_CODEC_SSB_Encode() …_Decode()).
Если можете, положите искомое на своей http://gps.0xdc.ru/static/sirf/soft/win32/
или на мой п/ящик sklimkin1950 [собака] yahoo.com
Любые комментарии по работе с GlobalSat BU-353S4 в Линуксе мне бы очень пригодились.

Хотел было обратиться к chnav, но вспомнил, что он свой п/ящик не показывает (причины понимаю).

Вопрос ко всем участникам этой темы:
Что Вы думаете об использовании для полевой работы связки наладонник + GNSS-приемник,
если наладонник (например HP iPAQ 4700, или FS-720) работает под linux-embedded,
а премник имеет USB или BT интерфейс (под Линуксом похоже USB-host у HP работает) ?
Есть такие наработки в сети:
http://4pda.ru/forum/index.php?showtopic=45744&st=400

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


1. Воспользоваться утилитой gpsctl из пакета gpsd (ttyUSB0 - COM-порт приемника): gpsctl -f -b -s 38400 /dev/ttyUSB0
2. Послать NMEA команду напрямую: printf '$PSRF100,0,38400,8,1,0*3C\r\n' >> /dev/ttyUSB0

Лучше сразу согласовывать tty параметры порта.


Перед переключением: stty -F /dev/ttyUSB0 raw 4800
После: stty -F /dev/ttyUSB0 raw 38400

Там на входе может быть либо файл, либо поток ввода-вывода. Можно, например, смотреть бинарный поток от приенмика:


sirfdump -f - -o dump < /dev/ttyUSB0 (dump)
sirfdump -f - -o nmea < /dev/ttyUSB0 (nmea)

Что-то сомневаюсь по поводу режима USB-хоста

-1

-1

-1

Нашел как переключить приемник в binary на скорости 57600 - порт установил в /wine/dosdevices/ так:

 ln -s /dev/ttyUSB0 com2

После этого сразу пошел бинарный поток на скорости 57600, проверил в программе SirfDemo.

Я не понимаю ком.строку в sirfdump: после -f один дефис не лишний? и в окончании строки - что есть (dump) ?
Поэтому не получается ни так:

sklimkin@sklimkin-desktop:~$ cd /home/sklimkin/projects/GTK/littlesavage-sirfdump
sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ sirfdump -f - -o dump < /dev/ttyUSB0 dump
sirfdump: команда не найдена
sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ sirfdump -f - -o dump < /dev/ttyUSB0 BU353S4.bin
sirfdump: команда не найдена

ни так:

sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ stty -F /dev/ttyUSB0 speed 57600 raw clocal
57600
sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ sirfdump -f - -o dump < /dev/ttyUSB0 dump
sirfdump: команда не найдена
sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ sirfdump -f - -o dump < /dev/ttyUSB0 BU353S4.bin
sirfdump: команда не найдена

и никак:

sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ sirfdump -f - -o dump < /dev/ttyUSB0
sirfdump: команда не найдена

Может-быть из под рута надо командовать?
Если это не очень смешно, то пожалуйста однозначно понятную ком.строку для записи дампа в файл BU353S4.bin

По поводу USB-host на HP iPAQ hx4700 объяснение такое: на уровне железа он присутствует во многих моделях Хулипакард, а вот на уровне софта фирма это не захотела подкрепить драйвером в WinCE/Mobile (в последней модели iPAQ 210–214 все же сподобились, но кабель сделали без контактов для USB-host).
А вот Fujitsu-Siemens эту фичу предоставляли в своих моделях FS-720 FS-5xx без всякого жлобства, в чем лично убедился.
Найду ссылки в инете - выложу.

Товарищ по приведенной выше ссылке на 4PDA.RU обещал мне, что на борту девайса будут: компилятор gcc с отладчиком, xwindow, GTK+, qt4, возможность добавления пользователем других необходимых инструментов из репозиториев. Готовая сборка обещана на днях.

Я имел в виду именно связку ПРИЕМНИК (с антенной) + НАЛАДОННИК как средство запуска нужной программы и сохранения записи сессии/трека.
Свою программу (на WinCE) для Гарминов и Сирфов я сделал как писалку бин-потока + декодер потока в текстовые строки + создание RINEX-OBS на лету.
Худо-бедно, но это работает.
А если нужен сразу наладонник, да с приемником, да с внешней антенной, то это Mitac Mio C-520 с WinCE 5.0 (выпуск прекращен, а подобного больше никто не сделал). Но ему Линукс вроде как и не нужен.

-1

-1

Вот спасибо, уважаемый usm78-gis ! Сразу и поехало:

sklimkin@sklimkin-desktop:~/projects/GTK/littlesavage-sirfdump$ ./sirfdump -f - -o dump < /dev/ttyUSB0 BU353S4.bin
64,2,25,20,2,0,1329883330,2721341646,1145980803,198174183,-3,13,3545646,-28,-9634,6400,-155,-66,222,0,461,38,3545400,0,0,0,1
64,2,2,20,2,0,1329875426,2720329868,-1987945233,200592493,-1,9,3545646,-251,-234308,6400,611,-2285,207,0,265,31,3545400,7,0,0,1
64,2,29,20,2,0,1329885052,2721562036,1815919634,193818757,0,10,3545646,102,101483,6400,7,-90,225,0,412,27,3545400,4,0,0,1
64,2,12,20,6,0,1329879652,2720870823,-1687931199,203946091,-4,8,3545646,342,350208,6400,2052,-1167,18,0,323,199,3545400,9,0,0,1
64,2,31,20,2,0,1329874241,2720178267,-162452677,195925597,2,5,3545646,-193,-195402,6400,-100,345,229,0,403,17,3545400,3,0,0,1
64,2,10,20,2,0,1329877916,2720648675,-2023173282,196924886,1,3,3545646,-137,-151748,6400,-509,-1597,200,0,272,36,3545400,8,0,0,1
64,2,4,20,6,0,1329879898,2720902386,-1428792796,205410275,10,2,3545646,-378,-387072,6400,-2708,-3698,4,0,138,169,3545400,29,0,0,1
64,2,5,20,4,0,1329888644,2722021800,1377294730,191706723,9,0,3545646,-310,-317440,6400,634,-3615,-4,0,112,216,3545400,9,-1,0,1
64,2,23,20,4,0,1329887228,2721840550,-122126161,194819388,5,-4,3545646,-415,-424960,6400,-291,1833,4,0,192,223,3545400,3,1,0,1
41,0,516,1686,70913000,2012,4,29,19,41,38000,1358957082,556530924,375681437,26050,24600,21,0,27472,0,0,0,382,62,0,0,2103547384,0,1797742,0,0,0,0,8,5,0
4,662,7091300,12,4,48,20,173,26,26,26,26,26,26,26,26,26,18,10,66,22,191,32,32,32,32,32,32,32,31,31,31,5,121,13,173,18,18,18,18,18,24,23,24,24,23,2,76,51,191,33,33,33,33,33,33,32,32,32,32,25,240,78,191,42,41,41,41,41,41,41,41,41,41,23,10,3,173,21,21,21,21,21,21,21,21,21,21,12,135,46,173,23,23,23,23,23,23,23,23,23,23,29,252,50,191,44,44,44,44,43,43,43,43,43,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,301,34,191,41,41,41,41,40,40,40,40,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2,2858968,2199171,5242962,0.000,0.000,0.000,4,1.0,2,662,7091300,8,2,4,5,10,12,25,29,31,0,0,0,0
ThrPut(186=1ms): Latency:000 SegStatMax:000 AveTrkTime:000 Nav Complete:0000 ms
Week:1686  TOW:7091300  EstGPSTime:70912999 ms  SVCnt:8  Clock Drift:94472 Hz  Clock Bias:70166788 ns
: 00 04 22c29638 05c56c74 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aadd5595 5555559c 
: 01 10 22c29638 05c56c74 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aaaaaa95 5555559c 
: 02 05 2b32d597 fa3510b4 1a95aace aaacc91f d913d3e5 7b9bf3e4 2e4acd6a aaaaaa95 55155495 5555559c 
: 03 02 22c29638 05c56c74 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aaaaaa95 5555559c 
: 04 25 22c42d32 85c56cf8 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aaaaaa95 5555559c 
: 05 23 2d3c9647 f5c56c75 6295554e aaa2aa95 52ad4d55 55555495 55515555 5aaaaaeb caaaaa92 a2aeaa63 
: 06 12 3d6eeea7 c62a938b e294aab1 5555556a aaaaaa95 5555456a aaaaaa95 5555552a aaaaaa95 55552a63 
: 07 29 22c29638 05c56c74 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aaaaaa95 5555559c 
: 09 31 22c29638 05c56c74 1d6aaab1 5555556a aaaaaa95 5555556a aaaaaa95 5555556a aaaaaa95 5555559c 

Ну недавно я в Линуксе.
Вот только файл BU353S4.bin не найду. Может быть надо так: ./BU353S4.bin чтобы он был в текущй директории?

Понимаю, но это только запись потока. И все?

Так поделитесь секретом успеха!
Я, по наводке chnav, купил Mitac Mio C-520, поюзал некоторое время да и отложил в сторону. Если на нем можно загрузить Линукс не затирая винду, то это очень привлекательно, т.к. я сейчас довожу до ума свою программу в Линуксе на чистом СИ в GTK+. Вот даже небосвод со спутниками научил рисовать.

Я хочу сказать, что для полевой работы геодезисту/топографу (я геодезист, правда на пенсии уже) нужен девайс с довольно крупными кнопками (куда же без них) и возможность как можно меньше тыкать в виртуальную клавиатуру (представьте работу зимой).
Хотя и Линукс тру-вей тоже понятен, но обычному пользователю до него …
Андроидные телефоны пока туговато (мягко говоря) спариваются с GPS-приемниками.
Наладонники имеют хороший ресурс аккумулятора, неплохую яркост экрана, они умещаются в кармане, из легко связать с приемником.
Вот скриншот:
http://www.mediafire.com/i/?9gq72pzbu6d5b20
Специально “растащил” окна программы для наглядности в одном скриншоте,
где окно Surveying для ведения топографической съемки - на каждой точке стояния можно указать высоту антенны над землей и кодировать точки и полилинии.
И то кнопочки окон мелковаты.

Хорошо, а как же Fujitsu-Siemens, их это не испугало и USB-host работает пользовался на FS LOOX-C550 PXA270-520MHz

P.S. с записью дампа в файл тоже разобрался:
./sirfdump -f - -o dump < /dev/ttyUSB0 -F ./BU353S4.bin
Работает. Может быть не я один такой бестолковый, а спросить стесняется :rage:

[offtop Windows vs Linux]

sklimkin
Могу я поинтересоваться, какой практический смысл имеет перевод Вашей программы сбора на платформу Linux ? Про академический интерес понятно - изучение тонкостей ARM Linux. Но в реальном мире GPS геодезии и навигации рынок давно сделал свой выбор в пользу win-платформ (наверное 99% софта).
Вряд ли хоть один практикующий геодезист захочет искать устаревший девайс с USB-host, ставить на него кастомную прошивку с Linux и потом использовать единственно возможный самодельный софт без какой-либо альтернативы.

Это будет тектовый дамп.

Бинарный нужно снимать как у usm78-gis:


$ cat /dev/ttyUSB0 > BU353S4.bin

Если при этом хочется смотреть, что происходит, то можно так:


$ cat /dev/ttyUSB0  | tee BU353S4.bin | ./sirfdump -f - -o dump

Либо использовать первый вариант, а в другой консоли запустить:


$ tail -f BU353S4.bin | ./sirfdump -f - -o dump

PS: Сейчас cобираю некоторое подобие базы: корпус от старой Wi-FI точки доступа, TL-MR3020 с OpenWRT на борту в качестве хоста, USB приемник и D-link DWL-P200 - питание по POE. Осталось придумать, куда это все поставить :slight_smile:
В каком формате лучше вещать данные с базы? RTCM/NTRIP?

  1. Да, академический интерес линукс-неофита
  2. Тенденции движения виндовс–>линукс
  3. CE/Mobile при необходимости использования в коде и ASCII и UNICODE и манипуляций между ними заставляет многое, написанное для Win32 перелисывать
    Капризность ОС WinCE/Mobile при работе с тем что я написал используя компиляторы PellesC и MinGW-gcc
  4. Больший простор при написании программ и использовании существующего бесплатного софта и его исходников
  5. Судя по всему ожидаемое появление новых мобильных устройств на ОС Линукс (мобильное железо “дозрело” до установки на него обычных Линуксов во всем их разнообразии - см. например TinyCoreLinux, Puppy-Linux и многие другие)
  6. Софта для геодезистов/топографов/маркшейдеров/геологов и иже с ними на ОС WinCE/Mobile на самом деле очень мало, при звметной востребованности именно мобильных железо+софт решений.
  7. Новая инкарнация теодолитов плд названием “Эл.тахеометр” сейчас имеет на борту, чаще всего, вычислитель с ОС WinCE (недавно это была ОС DR-DOS и ее вариации), но производители приборов с большим удовольствием перейдут на бесплатный Линукс, как только он забрезжит на горизонте. Возможно что они над этим тихо работают. А пока отстегивают проценты Майкрософту.
  8. Развитие идет кругами и не исключен возврат к наладонникам с новой железной начинкой - я не имею в виду андроидные телефоны-комбайны.

Все это я писал “навскидку”, какие-то аспекты упустил, и конечно это мое частное мнение.
Прошу прощения за грамматические и иные ошибки - очень мелкие буковки здесь.

-1

-1

-1

Спасибо Алексей, спасибо usm78-gis - с Вашей помощью я разобрался.
Получаю текстовый дамп в файл как ./sirfdump -f - -o dump < /dev/ttyUSB0 -F ./BU353S4.txt
и бинарный дамп в файл как $ cat /dev/ttyUSB0 > BU353S4.bin

Буду добавлять в свою программу новый тип прибора - SirfStar-IV
Теперь надо понять что нового несет эта прошивка SirfStar-IV в части диалога программы с прибором для:

  1. получения “автографа” прибора
  2. получения date-time GPS и текущей позиции для записи в шапку RINEX-OBS
  3. получения альманаха спутников
  4. получения эфемерид спутников (в SS-III это было криво)
  5. получения списка текущих messages и их включения/выключения
  6. парсинга новых сообщений и из обработки в RINEX-OBS и в файлы координат и съемки
  7. ну и самое главное: что дает фаза в дополнение к псевдодальности.
  1. Я имел случаи обрыва связи через BT, и это дома, в поле такой обрыв дорого стоит - его не сразу можно обнаружить и придется повторять работу.
    Провода имеют свой недостаток - выдернуть, запутаться можно, но они предпочтительней по причине своей материальности.
    BT+Aнтенна приемник - GlobalSat BT-308 - надеюсь на появление аналогов.

  2. Я подключал Garmin: приемник GPS-35, навигаторы GPS-72, eTrex-Venture, GPSMap-60cx - правда ничего не знаю о токе ими потребляемом.
    Для приемника GPS-35 приладил переходник PL-2303 и соорудил коробочку питания на 4xAA аккумуляторах 1800 мА/час (железячник я никакой) - работает.

Нет такой тенденции в геодезии, и не предвидится.

Эти сказки я слышу десяток лет. Для примера тот же RTKLib - с таким интерфейсом в поле делать нечего. Исходники открыты - ну и где user- и field-friendly интерфейс ? Нет и не будет. Потому что практически всем прикладникам интересно копаться в машинных кодах, а интерфейс - дело даже не десятое, а сотое.

To chnav

Извините за много буков, но Вы наступили на …
Посмотрите на форуме геодезистов темы связанные с «Ошибка 101» в TGO например:
http://geodesist.ru/forum/index.php?threads/%C2%AB%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-101%C2%BB-%D0%B2-tgo-%D0%BF%D1%80%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%BE%D0%B9-%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8.5358/page-16
Мои коллеги были в полной растерянности про появлении этой ошибки, многие несли реально ощутимые финансовые потери, а тримбловские паханы не очень спешили их успокоить. И обратите внимание - тема не утихает.
Это только одна из иллюстраций “черного ящика” под названием ПРОПРИЕТАРНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.

Вторая иллюстрация - RINEX-протокол, разработанный яйцеголовыми из швейцарского университета, он и сейчас как кость в горле у этих корпораций-монстров, но стал де-факто “ИНДЕПЕНДЕНС” и позволяет пользователям “перебрасывать” свои измерения из пакета одного монстра в пакет другого.
Например для проверки качества обработки, а чаще для разрешения многочисленных “непоняток”. Кстати вспомнил - Вы пользуетесь бесплатной (и ограниченной) версией Ashtech - и это хорошо. Но пример с Ashtech можно сказать из ряда вон.
А вот RTKlib - еще один железнодорожный костыль в монополию пиндосов на обработку GNSS-измерений.
Можно много спорить о том, должен-ли софт приносящий немалые прибыли (геодезический в частности) быть бесплатным, или нет.
Но это где-то сродни спорам Windows vs Linux - пустопоржним по своей сути.
А вот ЗАКРЫТОСТЬ КОДА И АЛГОРИТМОВ ОБРАБОТКИ и без того весьма неоднозначных, по сути своей, данных спутниковых измерений - есть большое зло.

Третья иллюстрация - я хотел связать “бортовой вычислитель” эл. тахеометра Sokkia Power-SET (где бесплатная ОС DR-DOS) с наладонником или нет/ноут-буком и никак и нигде не мог найти протокола обмена (по-просту говоря команды и ответы) тахеометра. Потом получил документ, добытый окольными путями. Увидел, что для каждой модели протокол менялся изготовителем и забросил эту работу. А она была и есть востребована до сих пор.

Четвертая иллюстрация - мне и моим коллегам нужен был обмен данными xxxxCAD–>Sokkia(тахеометр) для того, чтобы проектные элементы из чертежа перенести в тахеометр. Это нужно для выноса в натуру проекта (строительные оси и конструкции и прочее). Делается это “скалыванием” с эл.чертежа каждой нужной точки и “набиванием” этих координат с клавиатуры тахеометра, которая весьма примитивна. Здесь делается немало ошибок, порой дорого-стоящих - строительство однако. Не нашел я таких программ ни у Соккии ни у других производителей тахеометров - ни платных ни бесплатных. Освоил VBA for AutoCAD и соорудил программу. А еще надо съемку выпоненных конструкций перенести в эл. чертеж и показать отклонения факта от проекта. Очень кропотливая долгая работа, если “врукопашную”. Сделал на VBA и такую программу.
Но начиная с версии AutoCAD-2007 любовь с MS у AutoDesk закончилась и поддержка VBA тоже.
А у производителей тахеометров (они их позиционируют также и для строительной геодезии) таких программ нет до сих пор.
Так нужны-ли пользователю такие проприетарные программные решения от производителя?

И наконец пятая иллюстрация - софт, который выложил Алексей Илларионов. Как я понял, почитав ОЧЕНЬ красивые исходники, он взял открытые исходники сделанные одним немцем и нарастил функционал до своих нужд. И выложил результат для нашего пользования. Разве это не прекрасно. А мясо в виде графического интерфейса нарастет. Время надо.
Ведь большинство людей устроено так, чтобы делать нечто для пользы окружающих,получая в ответ их признание. Творчество приближает человека к его Творцу.
Простите за высокопарность, но это мое УБЕЖДЕНИЕ.