2021年4月3日土曜日

Raspberry Pi にRTC(DS3231)の設定をする

最新のRaspberry Pi OSだと簡単に設定できたので追記した。
Raspbian 12 (bookworm)

Raspberry Pi 4 Model B にRTC(DS3231)を繋ぐ。

今回はスイッチサイエンスで購入した
DS3231搭載 高精度RTCモジュール
を使用した。

1)
設定>RaspberryPiの設定>インターフェイス
でi2cを有効にする。

2)
RTCとラズパイを繋ぐ
Vin→3.3V
GND→GND
SCL→SCL(GPIO 3)
SDA→SDA(GPIO 2)
※RTCに電池入れる。

3)
ターミナルからconfig.txtを編集する。
sudo nano /boot/firmware/config.txt
※/boot/config.txtではない。/boot/config.txtは/boot/firmware/config.txtに移動したらしい。
最終行に
dtoverlay=i2c-rtc,ds3231
を追加。

4)
Wi-Fi繋いだ状態で再起動

5)
ターミナルで
timedatectl
すればRTCの時間が出る。
Local timeと比べると9時間ずれてるけど問題なし。

6)
心配ならWiFiをOFFにして、しばらく電源切って放置して確認。

コマンドプロンプトで
i2cdetect -y 1
を実行してi2cアドレスを確認
(0x68だった。)

コマンドプロンプトで
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
を実行し

他のコマンド)
RTC時間を取得
sudo hwclock -r

RTCにラズパイの時間を設定する場合は
sudo hwclock -w

RTCの時間をラズパイに設定する場合は
sudo hwclock -s

インターネット環境がない場所で使う時は起動時にこれを実行するようにする。
echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
sleep 1
sudo hwclock -s

時間を手動で設定するには
sudo date --set='yyyy/mm/dd hh:mm:ss'

0 件のコメント:

コメントを投稿