PIAST RTC 使用方法
PIAST用のRTCの使用方法
目次
カーネルモジュール
標準としている秋月のRTC-8564NBには対応するカーネルモジュールがあるので簡単に使えます。
まずi2cdetectで0x51にRTCがみえているかどうかを確認しておきます(注:RPiのI2Cは予め有効にしておきます)。
# modprobe rtc-pcf8563
で、カーネルモジュールが読み込まれます。
次に以下のコマンドを実行してI2CのRTCを認識させます。
# echo pcf8563 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
起動時の自動読み込み
/etc/modules、i2c-devの下に
rtc-pcf8563
の1行を追加します。
/etc/rc.localに
echo pcf8563 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
を追加します。これでシステム起動時に自動的にRTCが認識されるようになります。
初期設定
ここから先はLinuxのhwclockと扱いは全く同じです。まずRTCに現在時刻を設定するのに
hwclock --systohc
を実行します。
hwclock -rなどで内容を確認しておきましょう。
# hwclock -r Wed 02 Mar 2016 23:46:28 JST -0.643979 seconds
11分モードに注意
NTP等「他の」時刻合わせを使用している場合、ntpdが11分モードを自動的にオンします。このためRTCの値もNTPによって自動補正されるようになりますので、hwclock --adjustや--hctosysを行わないようにしてください。
スタンドアロン、つまりインターネットに接続されていないような環境で使用した場合には/etc/rc.localにhwclock --hcstosysを入れる、cronで自動的にRTCによる時刻合わせを入れるなどしてください。
バックアップ
標準の回路で組み立てた場合にはCR2032によるバッテリーバックアップが行われますので、RPiの電源を切っていても時刻は保持されます。あくまでも経験上での話ですがCR2032で1年以上はバックアップされます。