Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@RCA3610

GPSモジュールを接続したRaspberry piでchronyを動作

More than 1 year has passed since last update.

はじめに

以前書いた記事では、Raspberry pi3 Model B+にGPSモジュールを接続し、ntpdを利用してNTPサーバを構築していました。
今回は上記の記事で構築した環境・機器を利用し、chronyでNTPサーバを動作させます。

コマンド入力

下記のコマンドを入力する。

sudo apt-get install chrony
sudo cp -a /lib/systemd/system/gpsd.service /etc/systemd/system/
sudo vim /etc/chrony/chrony.conf #下記の設定例をもとに記述
# systemctl status gpsd.serviceを確認し、もしinactiveだった場合は下記の2行のコマンドを実行
sudo systemctl enable gpsd.service
sudo systemctl restart gpsd.service

sudo systemctl enable chrony
sudo systemctl start chrony

sudo systemctl disable systemd-timesyncd.service #ネットワークを介して時刻同期するNTPクライアントのサービス。今回の環境では不要のため無効化

設定ファイル

/etc/chrony/chrony.confを設定すれば動作する。/etc/systemd/system/chronyd.serviceは元から必要なパラメータが最初から設定されていたため、特に変更はいらなかった。

/etc/chrony/chrony.conf

gpsdを利用しているため、refclock SHM 0 refid GPSを追記する。precisionやdelayなどのオプションで細かな設定を追記が可能。
refclockで記述しているSHMについてはNTP document -refclock-Shared Memory Driverchrony.conf(5) Manual Pageに詳細な説明がある。
gpsdからどのようにchronyが時刻を取得しているか参考になる。

log文では出力させたいログの種類を選択可能だが、今回の環境ではtrackingとmeasurements、statisticsのみ出力される。

# NTP authentication.
keyfile /etc/chrony/chrony.keys

# This directive specify the file into which chronyd will store the rate
# information.
driftfile /var/lib/chrony/chrony.drift

# Uncomment the following line to turn logging on.
log tracking measurements statistics rtc refclocks tempcomp

# Log files location.
logdir /var/log/chrony

# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0

# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can’t be used along with the 'rtcfile' directive.
rtcsync

# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3

# setting for GPS
refclock SHM 0 refid GPS precision 1e-1 offset 0.9999 delay 0.2


allow 192.168.1.0/24

/etc/systemd/system/chronyd.service

[Unit]
Description=chrony, an NTP client/server
Documentation=man:chronyd(8) man:chronyc(1) man:chrony.conf(5)
Conflicts=systemd-timesyncd.service openntpd.service ntp.service ntpsec.service
After=network.target
ConditionCapability=CAP_SYS_TIME

[Service]
Type=forking
PIDFile=/run/chronyd.pid
EnvironmentFile=-/etc/default/chrony
ExecStart=/usr/sbin/chronyd $DAEMON_OPTS
ExecStartPost=-/usr/lib/chrony/chrony-helper update-daemon
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

[Install]
Alias=chronyd.service
WantedBy=multi-user.target

動作確認

chronyc sources -vtimedatectl statusで動作しているか確認可能。

pi@raspi:~ $ chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPS                           0   4   377    17    -14ms[  -17ms] +/-  200ms

参考サイト

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
RCA3610
Raspberry piを使って自宅のスマートホーム化を目指す人。 単発系の企画だらけなので、そろそろ統合して何か大きいものを作りたい。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?