gpsd + ntpd로 Stratum 1 (GPSD NG 버전)
계기
PPS 대응 GPS를 준비해, ldattach PPS /dev/ttyS0
로 /dev/pps0
를 생성해, ntpd 의 Type20 이나 Type22 로 Stratum 1 을 운용되고 있는 분은 많을 것이다.
단, 이 운용의 경우, ttyS0
는 ntpd가 점유하고, GPS는 NTP 이외의 목적으로 사용할 수 없다.
gpsd
ttyS0
에서 잡힌 GPS의 NMEA를 널리 활용할 수 있도록 하는 것이 gpsd 그리고 ntpd와도 연계할 수 있는 뛰어난 것이다.
다만, 자신의 환경에서는, 드물게 jitter의 스파이크가 발생한 것과, 깨달으면 ntpd와 제휴할 수 없게 되어 있었으므로, /dev/pps0
운용에 되돌려 버렸다.
gpsd 다시
그런데 역시 ntpd를 사용하면서 gpsd를 사용하고 싶다. Ntrip 을 사용하여 위치의 정확도가 얼마나 바뀌는지 살펴보고 싶습니다. 그리고 gpsd는 Ntrip에 해당합니다.
ntpd에서 gpsd 사용
구그하면 많이 나오는데, 모두 Type28의 공유 메모리(SHM) 드라이버를 사용하고 있다. 그런데 이것을 사용하면, ntpq -p
로 보았을 때, delay, offset, jitter 모두 0.000이 되어 버려, GPS에 동기하지 않는다. (과제 1)
gpsd에서 PPS
원래, gpsmon
에서 gpsd 의 출력 데이터를 바라보면, PPS:
의 뒤가 공백으로, PPS 정보가 취해지지 않았다. (과제 2)
우선 gpsd에서 PPS를 사용할 수 있도록 과제 2를 해결한다.
도전 2
정보원이 부족하기 때문에 여기 의 긴 문장을 오로지 한마디 읽는다. 그러면
If you’re going to use gpsd for time service, you must run in -n mode so the clock will be updated even when no clients are active.
뭐라고 써있다. 이거?
ArchLinux의 경우 /etc/gpsd
를 편집하여 gpsd -n
로 시작할 수 있습니다.
/etc/gpsd# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/gps0"
USBAUTO="true"
gpsmon
로 보면, PPS:
에 수치가 들어간다. 와우.
gpsd -n 하지만 PPS가 되지 않는 경우
일단 gpsd를 멈추고, ldattach PPS /dev/ttyS0
한 후, ppstest /dev/pps0
로 PPS가 되는 것을 확인하고 나서, killall ldattach
하고, gpsd 달리게 하면, 어째서인가 PPS가 되는 생각이 든다….
도전 1
그런 다음 문제 1로 돌아갑니다.
GPS는 ArchLinux상에서 운용하고 있으므로, ArchWiki 를 확인하면, 무려 Type46라고 하는 것이 있다. 여기 을 확인하면 GPSD NG라고 말하는 것 같고
It is important to understand that this driver works best using a GPS device with PPS support.
라는 것. SHM 대신 JSON에서 PPS별로 가져오는 것 같다. 이거?
방금 전의 ArchWiki와 같이 설정한다.
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
그런데, ntpq -p
로 봐도, 일방에 PPS다운 값이 되지 않는다…
다시 한번 여기 을 재검토하면 The Mode Word의 1에,
This mode is a possible choice for receivers that provide a PPS signal most of the time
의 기재가 있다. mode 1로 하면 좋을까?
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 mode 1 time1 0.0 time2 0.0 refid GPS
확인
잠시 방치해…
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPSD_JSON(0) .GPS. 0 l 15 16 377 0.000 -0.002 0.001
이거야! 하지만 PPS 동기화를 보여 o
아니야 *
그렇지...
ntpd 소스 확인
refclock_gpsdjson.c /* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
default는 mode 0입니까?
수수께끼
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ttyS0
에서 잡힌 GPS의 NMEA를 널리 활용할 수 있도록 하는 것이 gpsd 그리고 ntpd와도 연계할 수 있는 뛰어난 것이다.다만, 자신의 환경에서는, 드물게 jitter의 스파이크가 발생한 것과, 깨달으면 ntpd와 제휴할 수 없게 되어 있었으므로,
/dev/pps0
운용에 되돌려 버렸다.gpsd 다시
그런데 역시 ntpd를 사용하면서 gpsd를 사용하고 싶다. Ntrip 을 사용하여 위치의 정확도가 얼마나 바뀌는지 살펴보고 싶습니다. 그리고 gpsd는 Ntrip에 해당합니다.
ntpd에서 gpsd 사용
구그하면 많이 나오는데, 모두 Type28의 공유 메모리(SHM) 드라이버를 사용하고 있다. 그런데 이것을 사용하면, ntpq -p
로 보았을 때, delay, offset, jitter 모두 0.000이 되어 버려, GPS에 동기하지 않는다. (과제 1)
gpsd에서 PPS
원래, gpsmon
에서 gpsd 의 출력 데이터를 바라보면, PPS:
의 뒤가 공백으로, PPS 정보가 취해지지 않았다. (과제 2)
우선 gpsd에서 PPS를 사용할 수 있도록 과제 2를 해결한다.
도전 2
정보원이 부족하기 때문에 여기 의 긴 문장을 오로지 한마디 읽는다. 그러면
If you’re going to use gpsd for time service, you must run in -n mode so the clock will be updated even when no clients are active.
뭐라고 써있다. 이거?
ArchLinux의 경우 /etc/gpsd
를 편집하여 gpsd -n
로 시작할 수 있습니다.
/etc/gpsd# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/gps0"
USBAUTO="true"
gpsmon
로 보면, PPS:
에 수치가 들어간다. 와우.
gpsd -n 하지만 PPS가 되지 않는 경우
일단 gpsd를 멈추고, ldattach PPS /dev/ttyS0
한 후, ppstest /dev/pps0
로 PPS가 되는 것을 확인하고 나서, killall ldattach
하고, gpsd 달리게 하면, 어째서인가 PPS가 되는 생각이 든다….
도전 1
그런 다음 문제 1로 돌아갑니다.
GPS는 ArchLinux상에서 운용하고 있으므로, ArchWiki 를 확인하면, 무려 Type46라고 하는 것이 있다. 여기 을 확인하면 GPSD NG라고 말하는 것 같고
It is important to understand that this driver works best using a GPS device with PPS support.
라는 것. SHM 대신 JSON에서 PPS별로 가져오는 것 같다. 이거?
방금 전의 ArchWiki와 같이 설정한다.
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
그런데, ntpq -p
로 봐도, 일방에 PPS다운 값이 되지 않는다…
다시 한번 여기 을 재검토하면 The Mode Word의 1에,
This mode is a possible choice for receivers that provide a PPS signal most of the time
의 기재가 있다. mode 1로 하면 좋을까?
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 mode 1 time1 0.0 time2 0.0 refid GPS
확인
잠시 방치해…
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPSD_JSON(0) .GPS. 0 l 15 16 377 0.000 -0.002 0.001
이거야! 하지만 PPS 동기화를 보여 o
아니야 *
그렇지...
ntpd 소스 확인
refclock_gpsdjson.c /* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
default는 mode 0입니까?
수수께끼
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
구그하면 많이 나오는데, 모두 Type28의 공유 메모리(SHM) 드라이버를 사용하고 있다. 그런데 이것을 사용하면,
ntpq -p
로 보았을 때, delay, offset, jitter 모두 0.000이 되어 버려, GPS에 동기하지 않는다. (과제 1)gpsd에서 PPS
원래, gpsmon
에서 gpsd 의 출력 데이터를 바라보면, PPS:
의 뒤가 공백으로, PPS 정보가 취해지지 않았다. (과제 2)
우선 gpsd에서 PPS를 사용할 수 있도록 과제 2를 해결한다.
도전 2
정보원이 부족하기 때문에 여기 의 긴 문장을 오로지 한마디 읽는다. 그러면
If you’re going to use gpsd for time service, you must run in -n mode so the clock will be updated even when no clients are active.
뭐라고 써있다. 이거?
ArchLinux의 경우 /etc/gpsd
를 편집하여 gpsd -n
로 시작할 수 있습니다.
/etc/gpsd# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/gps0"
USBAUTO="true"
gpsmon
로 보면, PPS:
에 수치가 들어간다. 와우.
gpsd -n 하지만 PPS가 되지 않는 경우
일단 gpsd를 멈추고, ldattach PPS /dev/ttyS0
한 후, ppstest /dev/pps0
로 PPS가 되는 것을 확인하고 나서, killall ldattach
하고, gpsd 달리게 하면, 어째서인가 PPS가 되는 생각이 든다….
도전 1
그런 다음 문제 1로 돌아갑니다.
GPS는 ArchLinux상에서 운용하고 있으므로, ArchWiki 를 확인하면, 무려 Type46라고 하는 것이 있다. 여기 을 확인하면 GPSD NG라고 말하는 것 같고
It is important to understand that this driver works best using a GPS device with PPS support.
라는 것. SHM 대신 JSON에서 PPS별로 가져오는 것 같다. 이거?
방금 전의 ArchWiki와 같이 설정한다.
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
그런데, ntpq -p
로 봐도, 일방에 PPS다운 값이 되지 않는다…
다시 한번 여기 을 재검토하면 The Mode Word의 1에,
This mode is a possible choice for receivers that provide a PPS signal most of the time
의 기재가 있다. mode 1로 하면 좋을까?
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 mode 1 time1 0.0 time2 0.0 refid GPS
확인
잠시 방치해…
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPSD_JSON(0) .GPS. 0 l 15 16 377 0.000 -0.002 0.001
이거야! 하지만 PPS 동기화를 보여 o
아니야 *
그렇지...
ntpd 소스 확인
refclock_gpsdjson.c /* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
default는 mode 0입니까?
수수께끼
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
정보원이 부족하기 때문에 여기 의 긴 문장을 오로지 한마디 읽는다. 그러면
If you’re going to use gpsd for time service, you must run in -n mode so the clock will be updated even when no clients are active.
뭐라고 써있다. 이거?
ArchLinux의 경우
/etc/gpsd
를 편집하여 gpsd -n
로 시작할 수 있습니다./etc/gpsd
# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/gps0"
USBAUTO="true"
gpsmon
로 보면, PPS:
에 수치가 들어간다. 와우.gpsd -n 하지만 PPS가 되지 않는 경우
일단 gpsd를 멈추고,
ldattach PPS /dev/ttyS0
한 후, ppstest /dev/pps0
로 PPS가 되는 것을 확인하고 나서, killall ldattach
하고, gpsd 달리게 하면, 어째서인가 PPS가 되는 생각이 든다….도전 1
그런 다음 문제 1로 돌아갑니다.
GPS는 ArchLinux상에서 운용하고 있으므로, ArchWiki 를 확인하면, 무려 Type46라고 하는 것이 있다. 여기 을 확인하면 GPSD NG라고 말하는 것 같고
It is important to understand that this driver works best using a GPS device with PPS support.
라는 것. SHM 대신 JSON에서 PPS별로 가져오는 것 같다. 이거?
방금 전의 ArchWiki와 같이 설정한다.
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
그런데, ntpq -p
로 봐도, 일방에 PPS다운 값이 되지 않는다…
다시 한번 여기 을 재검토하면 The Mode Word의 1에,
This mode is a possible choice for receivers that provide a PPS signal most of the time
의 기재가 있다. mode 1로 하면 좋을까?
/etc/ntp.confserver 127.127.46.0
fudge 127.127.46.0 mode 1 time1 0.0 time2 0.0 refid GPS
확인
잠시 방치해…
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPSD_JSON(0) .GPS. 0 l 15 16 377 0.000 -0.002 0.001
이거야! 하지만 PPS 동기화를 보여 o
아니야 *
그렇지...
ntpd 소스 확인
refclock_gpsdjson.c /* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
default는 mode 0입니까?
수수께끼
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
server 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
server 127.127.46.0
fudge 127.127.46.0 mode 1 time1 0.0 time2 0.0 refid GPS
잠시 방치해…
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*GPSD_JSON(0) .GPS. 0 l 15 16 377 0.000 -0.002 0.001
이거야! 하지만 PPS 동기화를 보여
o
아니야 *
그렇지...ntpd 소스 확인
refclock_gpsdjson.c /* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
default는 mode 0입니까?
수수께끼
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/* dispatch to the mode-dependent processing functions */
switch (up->mode) {
default:
case MODE_OP_STI:
eval_serial(peer, pp, up);
break;
case MODE_OP_STRICT:
eval_strict(peer, pp, up);
break;
gpsd를 경유하면, SHM이 아니어도, 역시 9시간마다 스파이크가 발생한다…
츠코미
Ntrip하지 않았어!
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/air-gh/items/7f38c449edaa86efa0f0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(gpsd + ntpd로 Stratum 1 (GPSD NG 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/air-gh/items/7f38c449edaa86efa0f0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)