kuroの覚え書き

96の個人的覚え書き

Raspberry pi にRTCをつけてネットワークのないところでも時計が狂わないようにする

温度ロガーとかタイムラスプカメラを設置する場所が必ずしもwifiの届くところでない場合、Raspberry Piの時計をちゃんと合わせるのは結構面倒なことだ。特にモニタとかキーボードとか全然使えなくて、本体とカメラのみで運用する場合どうしようもない。そこで、リアルタイムクロック(RTC)を載せてやることにした。

アマゾンで3個1,000円くらいで売られているDS3231と充電池が基板に載っただけのものを手に入れた。

コネクタも付いているのでGPIOに刺すだけでいいようだ。1番ピンに端を合わせて刺す。

www.raspberrypi.org
こちらの情報を元に設定をする。

pi@raspberrypi:~ $ sudo nano /boot/config.txt

dtparam=i2c_arm=on  #コメントアウトされているところを#を外す
dtoverlay=i2c-rtc,ds3231 

再起動

pi@raspberrypi:~ $ sudo hwclock --systohc

とやってシステムの時計をRTCの方に設定する。

pi@raspberrypi:~ $ sudo apt-get purge fake-hwclock

fake-hwclockをアンインストールする。

pi@raspberrypi:~ $ sudo nano /etc/udev/rules.d/85-hwclock.rules

# On the Raspberry Pi the RTC isn't available when systemd tries,
# set the time from RTC now when it is available.
KERNEL=="rtc0", RUN+="/sbin/hwclock --rtc=$root/$name --hctosys"

ファイルを作る。

以上。

pi@raspberrypi:~ $ 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: -- -- -- -- -- -- -- --

なおI2Cバスのアドレスを確認するとこんな感じ。

pi@raspberrypi:~ $ sudo hwclock -r
2020-08-26 16:52:26.248377+0900
pi@raspberrypi:~ $ date
2020年 8月 26日 水曜日 16:52:33 JST

ちゃんと設定されている。