Pull to refresh

Comments 35

UFO landed and left these words here
Можно например такой RS-232 GPS GlobalSat BR-304
webpanel.ru/GlobalSat-BR-304-GPS-Receiver-RS-232.aspx
GPS-мышка на базе чипсета EverMore
во влагозащищенном корпусе с интерфейсом RS-232 и внешней антенной
Конкретно у меня GPS Haicom HI-303CF, а так, почти все старые Garmin подойдут.
Думаю гугл GPS + RS232 должен помочь.
Я использовал Garmin GPS 18x LVC. Разница LVC от PC и USB в том, что в LVC выведен PPS.
Плюсы: Относительно дешевый. Простота подключения (честные уровни RS-232).
Минусы: Большой jitter (~100 мс), если использовать только NMEA без PSS. Нет возможности принудительно зафиксировать координаты — это полезно в случае плохой видимости спутников — с зафиксированными координатами приемник теоретически может отдавать точное время и при видимости только одного спутника.
Забавно: GPS-приемник, который всю жизнь работает на одном месте :)
И таких приемников много ) На всех WiMax/CDMA базовых станциях по одному :-)
Есть ещё один тип приёмников, который всегда на одном месте — приёмники, накапливающие поправки. Позволяют получать координаты с сантиметровой точностью.

Метода такая: пишите лог несколько часов, потом скачиваете со стационарного приёмника лог за это же время и обрабатываете.
UFO landed and left these words here
Сейчас COM-порта обычно уже нет в компьютерах. Как это можно сделать с другими вариантами подключения?
USB<>COM адаптер
PCI<>COM адаптор
Bluetooth<>GPS, Bluetooth — используется в GPS как COM порт на расстоянии, но в Linux не знаю как это настраивается.
Настраивается вполне несложно, в убунтах может быть даже через гуй.
Кстати сейчас полно приемников которые ловят в помещении, в нескольких метрах от окон. Это практически любой приемник на чипсете MTK или SIRF 3.
Все это (в особенности блютус) даст большие и, самое главное, непредсказуемые задержки во времени. В обычных прогах на десятки или даже сотни милисекунд можно было бы забить, но мы же боремся за точность.
Чертовски согласен.
Разве что PCI<>COM дает нормальные задержки, там обычный аппаратный контроллер распаян.
Мне кажется, что современные GPS-приёмники с USB должны иметь вменяемую поддержку в Linux.
Я тоже свой сначала взял «на попробовать», а потом купил.
Кстати, коллега в Новосибирске поднял аналогичный сервер и мы по внутренней сети добавили друг-друга в конфиги NTP. Был небольшой разбег, порядка 30-60ms. Выяснить почему, не успел — уволился.
На сайте gpsd пишут следующее:
Note that deriving time from messages received from the GPS is not as accurate as you might expect. Messages are often delayed in the receiver and on the link by several hundred milliseconds, and this delay is not constant.
Что в переводе примерно означает: Учтите, что время доставки сообщения от GPS не так точно, как можно ожидать. Сообщение часто задерживается в устройстве и в канале передачи на несколько сотен миллисекунд, причем это время не постоянно. (далее говорится, что существуют методы частичной коррекции для некоторых типов устройств)
В связи с чем у меня возник вопрос: Существует ли стандарт точности определения времени для серверов Stratum 1, или достаточно оснастить сервер устройством определения времени?
Добавил апдейт про это.
Задержка в несколько сотен миллисекунд? Вы с ума сошли?
Если у Вас с приемником такая «потрясающая» точность то не стоит заморачиваться о построении системы. РС-232 не может вносить такой задержки.
ИМХО в gpsd просто страхуются и говорят, что мол, AS IS.
Такая точность будет, если не использовать PPS. Тут дело не в RS-232, а в работе NMEA.
Берите приёмник с PPS и всё будет супер.
Ну ладно, а с PPS какая будет точность?
Наносекунды + точность интерфейса (RS-232)
вот это уже подходит под решение.
Наносекунды +\- точность интерфейса RS-232. Т.е. если мы работаем в 115200 б\с (один из самых распространенных стандартов), то мы не можем принимать сигнал с погрешностью меньшей 1\115200 = около 0.01 милисекунды. Что в 1000 раз больше наносекунды.
Э нет ) Вы упускаете самую суть PPS :-)
Точно в момент начала новой секунды устанавливается служебный сигнал на COM-порте, и его можно прочитать мгновенно, если сможете :-)
Хм… Вы уверены, что при использовании GPS получается точное время? Выше пишут, что даже bluetooth вносит определенную задержку.
Атомные часы находятся на спутнике. Сколько времени нужно радиосигналу чтобы достигнуть земли? И даже эта цифра не будет постоянной, ведь разные спутники находятся на разном удалении от приемника.
Ясен хрен задержки от распространения сигнала учитываются (т.к. на их основе и лежит принцип определения координат), время точное с точностью до наносекунд.

Про BlueTooth все согласны, тут речь идет о приемнике через железный COM-порт.
Не знаю, как кто, но я уверен, что с использованием GPS можно узнать точное время. Прикладным доводом этого является то, что в оборудовании Oscilloquartz и Symmetricom (стратум-0, рубидий, цезий, редко водородный мазер) есть входы для подключения антен GPS. Тоесть эта дэвайсина может работать как на внутреннем источнике, так и на внешних, а еще лучше — усредняя и то и другое.
Для решения проблем с задержкой распространения используют 2 частоты а также сам алгоритм использует очень много эфемеридных (прогнозируемых) данных, что позволяет предугадывать задержку в реальном времени.
Извините, но я сомневаюсь, что стоит усреднять данные внутреннего источника (уровня перечисленных) и внешнего (gps), т.к. преимущество сомнительно и велика вероятность падения точности. Дублирование (резервное) не помешает точно. В остальном целиком согласен с вами.
Именно для этого существуют специализированные приёмники, например от кампании Trimble, поглядеть можно здесь www.trimble.com/timing/ (как раз они и стоят на CDMA станциях), а не те, что в виде мышей и т.п. продают. Ещё вроде эти приёмники (но может и не все) отличаются от обычных поддержкой 2х частот GPS (обычные поддерживают одну).
unicast, а можно адрес твоего сервера?
хочу посмотреть ntpq -p

Мой сервер во внутренней сети одного государственного предприятия, именно за отсутствием интернетов возникла необходимость в собственном stratum-1.
И я там не работаю уже.
а ком-порт не будет узким местом в системе?
для передачи одного байта на скорости 115200 потребуется время порядка 0.1мс, в конечном счёте это выльется в какую-то разницу между точным временем и временем сервера. не ясно, может ли такой сервер считаться stratum-1…
Only those users with full accounts are able to leave comments. Log in, please.