RasPi2」タグアーカイブ

RasPi2でリアルタイムクロック RTC-8564NB を使用する

RasPi2に切り替えてから特に大きな問題はなく安定して動作していますが、ある時、hwclockコマンドが使えないことが発覚しました。 現在、RTCに役割はありませんが、電源制御の予定もあり、なにより気持ちがよくありません。

RTC-8564NB

どうやら、デバイスの設定方法がデバイスツリーというものに変わった為の様でした。

例によって、フォーラムに情報がありました。 「PI2でRTC PCF8563が動作しない

この情報によると、hwclockの最新バージョンをコンパイルしてインストールするというものです。 実際の手順は…

  1. /boot/config.txt に dtoverlay=i2c-rtc,pcf8563 を追加
  2. hwclockの最新バージョンをダウンロード・コンパイル
    wget https://www.kernel.org/pub/linux/utils/util-linux/v2.26/util-linux-2.26.1.tar.gz
    tar zxvf util-linux-2.26.1.tar.gz
    cd util-linux-2.26.1
    (apt-get install gcc)  ※gcc導入済みであれば不要
    ./configure –without-python –without-systemd –without-ncurses
    make hwclock
  3. hwclock-rtc.cファイルを編集(debugオプション使用時の修正)

必要に応じ、util-linux-2.26.1の下に生成されたhwclockコマンドファイルを /sbin へコピーします。

手順3.の修正ですがこちらを参考にhwclock-rtc.cファイルを編集後、コンパイルを実行しましたが、debugオプション使用時のエラーは修正されませんでした。

若干の問題はあるものの、hwclockコマンドやアラームの操作が可能となりました。 RasPi2はシャットダウン状態からの起動に必要なリセット端子が外部に引き出されていない為、その辺りが今後の課題です。

 

※displayコネクタの横にリセット端子がありました。  2015.5.6追記

※hwclockコマンドは完全と言える状態ではありませんが、アラームについては、シェルスクリプト(alarm.sh) を使用して設定することにより実用上問題ない状態にはなりました。 2015.5.17追記

参考:http://d.hatena.ne.jp/payapara/20090626/1246029897

※カーネルの更新で不具合は解消しました。 「Raspbian最新カーネルでRTCの不具合が解消」 2015.7.19追記

 

RTC関連コマンド

ハードウェアクロックを表示
hwclock -r
ハードウェアクロックをシステムクロックと同期
hwclock -w
RTCの状態表示
cat /proc/driver/rtc
RTCアラームのリセット
echo 0 > /sys/class/rtc/rtc0/wakealarm
RTCアラームを60秒後に設定
echo +60 > /sys/class/rtc/rtc0/wakealarm
UNIXエポックからの経過時間を表示
cat /sys/class/rtc/rtc0/since_epoch

 

Raspberry Pi 2 の誘惑

省電力を必要としているハウスローバーでは、本来、modelA+やB+への切り替えが良いのでしょうが、高性能への誘惑を断ち切れず、RasPi2にしてしまいました。 (Amazonの「当日お急ぎ便カウントダウンタイマー」も衝動に拍車をかけましたが…)

RasPi2

RasPi2と40P-26Pケーブル

40P-26Pダウングレードケーブルも同時購入しましたので、なんの変更もなく差し替えるだけです。

また、ソフトウェアも最新のRaspbianを使用しているので、そのまま動くはず…でした。

ところが、起動はするものの、パン・チルトが動作しません。 ServoBlasterに問題があるようです。

よくよく調べてみるとフォーラムに情報がありました。

http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=99115&start=25

一部のメモリマッピングに変更があるようです。 上記ページの最下部に修正ファイルがアップされています。 (ServoBlaster-20150219.tgz)

このファイルを適当なフォルダへ解凍しmake installを実行。 無事、ServoBrasterも従来通り動作するようになりました。

さて、RasPi2の使用感ですが、ストリーミングの遅延が減少し、操作時の反応が早くなった? ような気がします。 (^^ゞ

気になる消費電力ですが、modelBからの切り替えですので確実に改善しています。 モジュール単体の実測値では、modelB:370mA  Pi2:260mA との結果です。(低負荷時)

topコマンドで確認すると、4つのコアがそこそこ使用されていることが確認できます。

top

現状では、これといって大きく改善したというほどではありませんが、処理速度の問題で見送っていた項目、例えばmotionによる画像認識処理などの選択の幅が広がったという面では、意味のある切り替えだと思います。