つづきに
ラズパイ400(RPi400)をPCとして普段使いするときに、ほしいのがRTC(リアルタイムクロック)機能です。RTCがあれば、起動直後でも、ネットワークとつながっていなくても、正確な時刻が得られます。
ソフトウェアの設定
OSはRaspberrypi OS bullsye 32Bit と 64bitで確認しています。
1. メニューー>設定ー>Raspberry Pi の設定ー>インタフェースタブ で I2CをONにする
2. いつものconfig.txtを開いて、最後に2行追加します。
pi@raspberrypi:~ $ sudo vi /boot/config.txt
(中略)
# RTC DS3231
dtoverlay=i2c-rtc,ds3231
再起動するとRTCが有効になります。
動作確認手順
RTCが故障していないか確認する手順を以下に示しておきます。
1. メニューー>設定ー>Raspberry Pi の設定ー>インタフェースタブ で I2CをONにする
2. $ /usr/sbin/i2cdetect -y 1 で認識しているか表示する。
pi@raspberrypi:~ $ /usr/sbin/i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
68がRTC DS3231 です。
$ sudo modprobe -c |grep ds3231
alias i2c:ds3231 rtc_ds1307
alias of:N*T*Cmaxim,ds3231 rtc_ds1307
alias of:N*T*Cmaxim,ds3231C* rtc_ds1307
rs3231はソフトウェア的には rtc_ds1307 と同じです。
3.ドライバーのインストール
pi@raspberrypi:~ $ sudo modprobe rtc_ds1307
pi@raspberrypi:~ $ sudo modprobe -c |grep ds3231
alias i2c:ds3231 rtc_ds1307
alias of:N*T*Cmaxim,ds3231 rtc_ds1307
alias of:N*T*Cmaxim,ds3231C* rtc_ds1307
pi@raspberrypi:~ $ sudo modprobe rtc_ds1307
pi@raspberrypi:~ $ echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
ds3231 0x68
pi@raspberrypi:~ $ /usr/sbin/i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~ $
68->UU になっているはず
4.時刻を合わせる
ラズパイの時刻が合っていることを確認して現在時刻をRTCに設定します。
$ sudo hwclock -w
5.時刻の確認
正しく設定されたか確認します。
$ sudo hwclock -r
2021-01-03 07:00:48.636663+09:00
現在時刻が端末に表示されれば動作確認は終了です。
おわりに
昔はいろいろ手順がありましたが、今は簡単になっています。これで起動直後でも、ネットワークに接続されていなくても正確な時刻が得られます。
おしまい
購入品情報 DS3231 高精度RTCモジュール5個セット
Raspberry Pi4Bのコネクタに直接接続できるタイプのRTCモジュールです。
1個単位でも200円程で購入できます。
電池を交換できるものもありますが、外径が大きくなります。