Пытался получить точное время от GPS приемника GlobalSat BU-353s4 (/dev/ttyUSB0
) через gpsd
в Raspberry PI с ArchLinux.
/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, он будет на отдельном контакте или разъеме. Он должен быть подключен к контакту GPIO на Pi.
Я только что настроил два Pi для ntp, и это сайт, который я использовал для справки с помощью модуля Adafruit GPS. (Картинка с синей рамкой)
http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
Я боролся со второй, потому что у меня не было привязки GPS, так как мне нужна была вторая антенна, а на улице шел дождь.