C-dex社製JST2000用FreeBSD時刻合わせソフト
シリアルで接続したJST2000から時刻を読みとり、PCの時刻との差を求めて
差が0.1秒以内の場合はadjtimeでずるずると時刻を合わせて
0.1秒以上の場合はgettimeofdayでビシッと合わせるソフト
cronで一定周期で実行するといつも正しい時刻
ntp.confをうまく書くとntpサーバーになるのでタイムサーバーにもなる
ソース
使い方
- JST2000をFreeBSDなマシンと接続
- ソースをコンパイルしてa.outを/root/jst2kコピー
- rootでjst2kを動かすと
pc=Sat Nov 11 18:04:24 2000 diff= -89487 error= 0000
みたいに表示
pc FreeBSDの時刻
diff JST2000との差
error JST2000が保持しているエラー数
- crontabで一定周期で動かす
00-50/10 * * *
* /root/jst2k >>/var/log/jst2k.log
は10分周期で実行して表示を/var/log/jst2k.logに書き溜める
ntpサーバーにする場合
- FreeBSD3系列
/etc/rc.confに
xntpd_enable="YES"
xntpd_program="xntpd"
xntpd_flags="-p /var/run/xntpd.pid"
を追加
- FreeBSD4系列
/etc/rc.confに
xntpd_enable="YES"
xntpd_program="ntpd"
xntpd_flags="-p /var/run/xntpd.pid"
を追加
- /etc/ntp.conf
server 127.127.1.1
driftfile /etc/ntp.drift
関係リンク
c-dex社 http://www.c-dex.co.jp/
JJY(長波40 kHz) http://jjy.crl.go.jp/