「PIAST RTC 使用方法」の版間の差分
(ページの作成:「PIAST用のRTCの使用方法 ==カーネルモジュール== 標準としている秋月のRTC-8564NBには対応するカーネルモジュールがあるので簡単...」) |
|||
1行目: | 1行目: | ||
+ | [[カテゴリ:PIAST]] | ||
+ | |||
PIAST用のRTCの使用方法 | PIAST用のRTCの使用方法 | ||
==カーネルモジュール== | ==カーネルモジュール== | ||
26行目: | 28行目: | ||
==バックアップ== | ==バックアップ== | ||
標準の回路で組み立てた場合にはCR2032によるバッテリーバックアップが行われますので、RPiの電源を切っていても時刻は保持されます。あくまでも経験上での話ですがCR2032で1年以上はバックアップされます。 | 標準の回路で組み立てた場合にはCR2032によるバッテリーバックアップが行われますので、RPiの電源を切っていても時刻は保持されます。あくまでも経験上での話ですがCR2032で1年以上はバックアップされます。 | ||
+ | ==インターネットに繋がっていない場合の挙動== | ||
+ | RTCが正しくシステムに認識されているとRaspbianのスクリプトによりシステム起動時にhwclockでシステムの時刻が設定されます。このためインターネットに接続されていないPIASTでもRTCが正しく設定されていれば正しい時刻で起動します。ただし、システムクロックのずれが発生するため定時処理等でhclock --adjustとhwclock --hctosysを実施するようにしてください。 |
2016年3月10日 (木) 00:22時点における最新版
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年以上はバックアップされます。
インターネットに繋がっていない場合の挙動
RTCが正しくシステムに認識されているとRaspbianのスクリプトによりシステム起動時にhwclockでシステムの時刻が設定されます。このためインターネットに接続されていないPIASTでもRTCが正しく設定されていれば正しい時刻で起動します。ただし、システムクロックのずれが発生するため定時処理等でhclock --adjustとhwclock --hctosysを実施するようにしてください。