温度ロガーとかタイムラスプカメラを設置する場所が必ずしも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
ちゃんと設定されている。