web-dev-qa-db-ja.com

chronyとgpsd:ソケットまたはPPS接続

私は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で使用できるようにする方法、またはソケットを機能させる方法は?

1

まず、ppsはUSB経由では利用できません。直接接続を使用する必要があります。 USBはポーリングされているため、十分に正確な信号を提供できません。仕事でいくつかのWindowsボックスをセットアップしようとしてこれを学びました。

GPSモジュールにはPPS出力がありません。別のピンまたはコネクタにあります。これは、PiのGPIOピンに接続する必要があります。

Ntp用に2つのPiを設定しました。これは、AdafruitGPSモジュールを使用して参照用に使用したサイトです。 (青いボックスの写真)

http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html

2つ目のアンテナが必要で、外で雨が降っていたため、GPSロックがなかったため、2つ目のアンテナと戦いました。

3
robin