GPS 어댑터를 통해 시간 설정

GPS 어댑터를 통해 시간 설정

Linux 환경의 시간을 설정할 수 있다고 주장하는 코드가 있습니다.

http://blog.petrilopia.net/linux/raspberry-pi-set-time-gps-dongle/

date -s '01/01/2014 00:01'
sleep 1
pkill ntpd
pkill gpsd
gpsd -b -n -D 2 /dev/ttyUSB0
sleep 2
GPSDATE=`gpspipe -w | head -10 | grep TPV | sed -r 's/.*"time":"([^"]*)".*/\1/' | head -1`
echo $GPSDATE
date -s "$GPSDATE"
/usr/sbin/ntpd

하지만 PuTTy를 통해 이 코드를 실행하면 시간이 다음과 같이 설정됩니다.

2010년 8월 8일 일요일 06:08:11 태평양 표준시

2013년인데 GPS 시간이 2010년으로 설정되는 이유를 알고 싶습니다.

gpspipe -w이것은 명령의 출력입니다.

{"class":"TPV","tag":"MID2","device":"/dev/ttyUSB0","mode":1,"time":"1990-12-22T23:59:53.020Z","ept":0.005}
{"class":"TPV","tag":"MID2","device":"/dev/ttyUSB0","mode":1,"time":"1990-12-22T23:59:54.020Z","ept":0.005}
{"class":"SKY","tag":"MID4","device":"/dev/ttyUSB0","time":"1990-12-22T23:59:55.010Z"}
{"class":"TPV","tag":"MID2","device":"/dev/ttyUSB0","mode":1,"time":"1990-12-22T23:59:55.010Z","ept":0.005}
{"class":"TPV","tag":"MID2","device":"/dev/ttyUSB0","mode":1,"time":"1990-12-22T23:59:56.020Z","ept":0.005}
{"class":"TPV","tag":"MID2","device":"/dev/ttyUSB0","mode":1,"time":"1990-12-22T23:59:57.020Z","ept":0.005}

출력은 연속적입니다. 즉, 매초마다 변경됩니다.

답변1

$GPSDATE로 신고되었기 때문에

Sun Aug 8 06:08:11 PKT 2010

date -s명령은 지시한 대로 정확하게 수행됩니다. 왜 잘못된 연도를 보고합니까(또는 전혀 보고하지 않습니까)? 나는 모른다.

이제 이미 그것을 사용하고 있는데 ntpd왜 NTP가 작동하도록 두지 않겠습니까? 이것은 "GPSdate가 있기 때문에 작동하길 바랍니다"라는 질문인가요?

이 문제를 디버깅하는 데 도움을 주는 가장 좋은 방법은 전체 출력을 제공하는 것입니다.

gpsdate -w

귀하의 질문에.

gpsdate 출력에 응답하기 위해 추가되었습니다:

~에 따르면GPSD 문서TPV 레코드의 모드 필드가 이면 1"수리 없음"을 의미합니다. 이는 GPS 수신기가 충분한(또는 전혀) 위성 데이터를 보고 있지 않음을 의미합니다. 이는 시간가치가 쓰레기라는 것을 의미하며, 1990년이나 2014년을 보면 당연히 이해가 됩니다. 스크립트에서 올바른 GPS 수정을 얻는 데 sleep 2시간이 거의 없습니다 . gpsd더 오래 기다리면 도움이 될 수 있습니다. 올바른 안테나를 연결하지 않으면 문제가 해결될 때까지 영원히 기다리게 됩니다.

이것네트워크 시간 프로토콜구현에는 ntpdGPS가 작동할 필요가 없습니다. 다른 인터넷 호스트와 시간 동기화 정보를 교환하며, 그 중 일부는 GPS와 같은 참조 소스로부터 시계를 얻습니다. 스크립트가 ntpd를 중지했다가 다시 시작하므로 GPS 수정 사항을 잊어버리고 사용할 수 있습니다. 예를 들어, 내가 이것을 입력하고 있는 컴퓨터는 ntpd를 사용하고 UTC에서 +4.7밀리초 차이가 납니다. 이는 여러 목적에서 매우 정확합니다. 이를 사용하여 ntpq -p시계가 동기화되었는지 여부와 얼마나 잘 동기화되어 있는지 확인할 수 있습니다.

답변2

… "mode":1 …

그렇기 때문에. GPS 픽스가 없으며 GPS 수신기가 현재 시간을 알지 못할 수도 있습니다. 모드를 3으로 설정하고 싶습니다.

SKY의 보고서에 추가 데이터가 없다는 사실로 판단하면 귀하의 수신기에는 아직 연감도 없는 것으로 추측됩니다.

맑은 하늘에서 GPS를 15분 이상 작동시키세요(예, 그렇습니다). 이렇게 하면 상황이 개선될 것입니다.

바라보다여기 문서이 필드의 의미.

관련 정보