私はgps受信機GlobalSatBU-353s4から高精度の時間を取得しようとしました(/dev/ttyUSB0
)ArchLinuxを使用したRaspberryPiのgpsd
まで。
/etc/chrony.conf
含まれています:
refclock SHM 0 delay 0.5 refid NEMA
refclock SHM 1 offset 0.0 delay 0.1 refid PPS
refclock SOCK /var/run/chrony.ttyUSB0.sock delay 0.0 refid SOCK
NEMAを介して時間があります(SHM 0ソース)(ただし精度は低いです)。
gpsd
はカーネルPPS拡張機能を見つけられませんでした。その結果、SHM 1ソースは機能しませんでした:
gpsd:WARN: KPPS:/dev/ttyUSB0 kernel PPS unavailable, PPS accuracy will suffer
しかし、lsmod
は、ppsモジュールがロードされていることを示しています。
# lsmod
Module Size Used by
pps_ldisc 2305 0
pps_core 7982 1 pps_ldisc
ソケットソースも機能しませんでした:
# chronyc sources
210 Number of sources = 9
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#x NEMA 0 4 377 18 -532ms[ -532ms] +/- 252ms
#? SOCK 0 4 0 - +0ns[ +0ns] +/- 0ns
だが gpsd -N -D8 /dev/ttyUSB0
は、sockファイルが開かれていることを示しています。
gpsd:RAW: PPS:/dev/ttyUSB0 using chrony socket: /var/run/chrony.ttyUSB0.sock
質問:カーネルをPPS gpsd
で使用できるようにする方法、またはソケットを機能させる方法は?
まず、ppsはUSB経由では利用できません。直接接続を使用する必要があります。 USBはポーリングされているため、十分に正確な信号を提供できません。仕事でいくつかのWindowsボックスをセットアップしようとしてこれを学びました。
GPSモジュールにはPPS出力がありません。別のピンまたはコネクタにあります。これは、PiのGPIOピンに接続する必要があります。
Ntp用に2つのPiを設定しました。これは、AdafruitGPSモジュールを使用して参照用に使用したサイトです。 (青いボックスの写真)
http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
2つ目のアンテナが必要で、外で雨が降っていたため、GPSロックがなかったため、2つ目のアンテナと戦いました。