MECHATRAXのブログ
弊社製品やサービスに関するブログです。企画や開発の際の参考になれば幸いです。
slee-Pi3 の仕組み・機能概要
slee-Pi3 の仕組み・機能概要
slee-Pi(スリーピー)シリーズはラズパイの消費電力削減や死活監視を目的に開発された製品で、2015年から販売しているロングセラー商品です。slee-Pi3 は多機能で応用性が高い一方で、その使い方や動作についてご質問をいただく機会も多いです。そこで本記事では slee-Pi3 の基本的な仕組み・機能概要についてご紹介します。
slee-Pi3 の全体像
以下に要点をまとめます。
2系統の電源入力
slee-Pi3 は 2系統の電源入力ポート(CN1・CN2)をもち、6V~24V の入力電圧範囲に対応しています。CN1・CN2両方に電源を接続した場合は、電圧が高い方から電力供給されます。
2系統の電源入力を活用して、ラズパイのUPSを構築することができます ★参考記事
消費電力削減
ラズパイの待機中の消費電流は数十~数百mA 程度あり、バッテリー駆動のプロジェクトでは課題になります。この課題を解決するため、slee-Pi3 は必要な時だけラズパイ電源をONにして、それ以外のときはラズパイ電源をOFFにするような間欠動作を可能にしました。
slee-Pi3 基板内部では入力電圧を DC-DCコンバータで 5V に変換して、GPIO 経由でラズパイに電力供給しています。パワーマネジメントモジュールがラズパイへの5V電源供給を制御しています。
ラズパイ上で OS をシャットダウンするとラズパイへの 5V 電源供給を遮断し、slee-Pi3 はスリープ状態に遷移します。スリープ中の slee-Pi3 の消費電力は 10μA 以下・12V 程度に抑えられます。
電源OFF状態のラズパイを再度起動させるためには、以下のいずれかのイベントが条件になります。
- タイマーアラーム発生(日時指定して起動)★参考記事
- 外部入力(CN4)を検知 ★参考記事
- SMS着信 (4GPi と組み合わせた遠隔起動)★参考記事
- 手動起動スイッチ(SW1)の押下
- 電源復旧を検知 ★参考記事
どのイベントで起動したのかはラズパイ上で sleepi3ctl get wakeup-flag
コマンドを実行することで確認することができます ★sleepi3ctlコマンドの詳細
また10分間隔程度の間欠動作であれば、ラズパイを太陽光パネル+蓄電池だけで稼働させることも可能です。これを製品化したのが Pi-field です。
死活監視
ラズパイを長期間連続運用していると、電源は入っているのにもかかわらず全く応答しなくなるケースがあります。この場合、ラズパイの電源を再投入が必要になりますが、ラズパイが遠隔地にある場合にはこれが困難です。
slee-Pi3 ではこの問題に対応するために死活監視(ウォッチドッグタイマ)機能を備えています。ラズパイOS上では sleepi3-heartbeat
サービスが稼働しており、パワーマネジメントモジュールに向けて定期的にハートビート信号を送出しています。ハートビート信号が一定時間(デフォルト60秒)途絶えた場合はラズパイの異常とみなし、slee-Pi3 がラズパイの電源を再投入します。ウォッチドッグタイマのタイムアウト時間は設定ファイル(/etc/default/sleepi3
)で変更することができます。
リアルタイムクロック(RTC)
現行のラズパイ3や4 は リアルタイムクロックを備えていないため、時刻を保持することができません。これを補うために slee-Pi3 には リアルタイムクロックモジュールが実装されています。リアルタイムクロックは基板上のボタン電池でバックアップされており、停電等で CN1・CN2 に電力供給がない場合にも時刻を保持し続けることができます。
また、このリアルタイムクロックモジュールは MCP79410 互換デバイスとして実装されており、hwclock
コマンドでシステムクロックとの同期制御等を行うことが可能です。
監視デーモン
slee-Pi3 には sleepi3-monitor
という監視機能が付属しています。sleepi3-monitor
ラズパイOS上で動作しており、パワーマネジメントモジュールを介して slee-Pi3 のインターフェース(入力電圧・外部入力・手動起動スイッチ)の状態を監視しており、イベント発生時に予め設定したスクリプトを実行することができます。sleepi3-monitor
を活用すると、以下のような機能が容易に実装できます。
- 外部入力が3秒間以上ONになった場合にOSをシャットダウンする ★参考記事
- 停電が発生してCN1(主電源)の入力電圧が閾値を下回った場合に、復旧電圧(restore-voltage)※を設定してからOSをシャットダウンする ★参考記事
※復旧電圧(restore-voltage)とは
slee-Pi3がスリープ中(ラズパイ電源OFF中)にCN1もしくはCN2の入力電圧が復旧電圧値を超えるとslee-Pi3が起動し、ラズパイ電源を投入します。
slee-Pi3 は業務用途でも導入実績が多い商品となっておりますので、ぜひお試しください。
slee-Pi3 のご購入