前回までで、Raspberry Pi(ラズパイ)を使って電波時計の時刻合わせができるようになりました。とはいえ、Raspberry Piの時間が正確でなければ、電波時計も狂うわけですから意味がありません。

 気付いている方もいるかもしれませんが、Raspberry PiにはRTC(Real Time Clock)が搭載されていません。RTCは現在時刻を保持し、カウントし続ける内蔵時計です。PCなどではバッテリーバックアップされたRTCが内蔵されており、PC起動時にはRTCの時間をカーネルが参照してOSの時刻を合わせます。

 しかしRaspberry PiにはRTCがないため、起動時には自力で時刻を合わせることができず、時間が狂っている場合があります。

NTPデーモンで時刻を合わせる

 Raspberry Piの時間を合わせるには、NTP(Network Time Protocol)のデーモンを活用する必要があります。RaspbianにはNTPデーモンが最初からインストールされているので、設定ファイル/etc/ntp.confを設定することによって、RTCを持たないRaspberry Piの時間を正確にすることができます。

 初期設定では、ネットワーク的に遠いDebian標準のNTPサーバーを参照しているので、NICT(情報通信研究機構)のNTPサーバーに設定し直すといいでしょう。/etc/ntp.confをnanoエディタで開き、図9のように編集し直してください。

$ sudo nano /etc/ntp.conf 
このマークで改行

図9●/etc/ntp.conf
[画像のクリックで拡大表示]

 以上を設定し直したら、ntpdを再起動します。

$ sudo /etc/init.d/ntpd restart 

 これでRaspberry Piの時間が正確になります。

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら