TIPS 2024年1月24日

TDPC0205(時計ドングル)をRaspberry Piの時刻ソースとして使用する

この記事はRaspberry Piを起動するたびに現在時刻を設定する方法をまとめたものです。 東京デバイセズTDPC0205(時計ドングル)に時刻を保存しておき、起動時に読み込んでセットします。

前提

  • Raspberry Pi および 東京デバイセズ TDPC0205 時計ドングルを用意してください。
  • TDPC0205にはあらかじめ正しい日本標準時がすでに設定されているものとします。
  • Raspberry PIには制御コマンドTD-USBが正常にコンパイルされ、カレントディレクトリにインストールされているものとします。
  • TD-USBのインストール方法についてはGitHubのREADMEを参照してください。

TDPC0205の動作確認

TDPC0205をUSBポートに挿入してget操作をテストします。 正常に現在時刻が出力されることを確認します。

$ sudo ./td-usb tdpc0205 get
20XX-XX-XXTXX:XX:XX

タイムゾーンの設定

RaspberryPiのタイムゾーンはデフォルトでUTCとなっています。 TDPC0205に記録している日時がローカルタイム(日本標準時など)の場合には、RaspberryPi側のタイムゾーンを設定します。UTCの場合にはこの設定は必要ありません。

$ raspi-config
  -> Localisation options
  -> Timezone

ntpをオフにする

Raspberry Piではデフォルトでntpが有効となっています。 dateコマンドで時刻を設定してもすぐに元にもどってしまいますので無効化します。

$ sudo timedatectl set-ntp false

dateコマンドで現在時刻を設定する

TD-USBコマンドの実行結果は、直接dateコマンドの引数に渡すことができる書式となっています。現在時刻を設定するには次のコマンドを参照してください:

$ sudo date -s `/path/to/td-usb tdpc0205 get`

毎回起動時にTDPC0205から現在時刻を設定するには、このコマンドを起動スクリプト(/etc/rc.local)等に設定してください。

この記事に関連する商品

この記事をシェア

最近のTIPS