アイティプランターで水耕栽培

DS3231 for pi

2018年11月30日 - 未分類

Raspberry Piには、RTCが付いていないので、電源起動時の時計が狂ってしまいます。fake-hwclockというものが、Raspberry Piの終了時の時刻を記録して、再開時に、その時刻をセットするようですが、停止していた時間だけ誤差が生じます。通常は、インターネットに接続していて、ntpでネットワーク時間を取得するので問題はありませんが、インターネットに接続できない場合には、時刻の設定が手動となるために面倒です。

DS3231 for piは、Raspberry PiのGPIOに挿して使えるRTCです。

このように挿して使います。

$i2cdetect -y 1

で、68が表示されます。

$ sudo vi /boot/config.txt

dtparam=i2c_arm=on
dtoverlay=i2c-rtc,ds3231

を追加して、リブートします。fake-hwclockは、使わないので停止します。

# sudo systemctl stop fake-hwclock
# sudo systemctl disable fake-hwclock

RTCを初期化します。

$sudo hwclock --systohc

ルールファイルを作成します。

$ sudo vi /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"

再度、reboot後には、RTCが使える状態になっています。
$ sudo hwclock -r
2018-11-30 09:44:35.560653+0900 時刻が表示されます。この時刻は、dateコマンドの時刻と同じになります。 再度、リブートしてから、RTCの動作を確認します。
$ timedatectl
Local time: 木 2019-05-09 08:50:35 JST
Universal time: 水 2019-05-08 23:50:35 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: no
RTC in local TZ: no

MacOSXでもsshfsを使う

brewで以下の2つをインストールすれば使えるようになります。 

brew cask install osxfuse

brew install sshfs

Translate »