目次
(c) インストール・設定
for RPi-PWR
2016.03.22 Raspbian Jessie対応
2024.01.23 Raspbian Bookworm 32bit動作確認
(*) はじめに
- RPi-PWRを使用してのOSのシャットダウンシーケンスの起動、それに続くオートパワーオフにはソフトウェアのインストールが必要です。
- 以下の手順はRaspbian wheezy, Jessieを前提にしています。
3. 装着およびケーブル接続
- Raspberry PiのP1 HeaderにRPi-PWR-miniのP1コネクタを装着します。この際、コネクタの1ピンマークを確認して下さい。
- RPi-PWR mini-USBの場合:RPi-PWR-miniのJ2Rコネクタ(microUSB)に5V AC-DC変換アダプタを接続します。
- RPi-PWR mini-DCJの場合:RPi-PWR-miniのJ2コネクタ(DC Jackφ2.1, センター+)に5V AC-DC変換アダプタを接続します。
- USBケーブル(USB-A - microUSB-B)でRaspberry PiとRPi-PWR-miniを電源接続します。
- RPi-PWR-miniのJ4コネクタにケーブルのUSB-Aコネクタ、Raspberry PiのUSBコネクタにmicroUSB-Bコネクタを接続します。
4. 電源のオン/オフ
- 電源の確認の際には、安全のためRaspberry PiのSDカードは取り外しておく事を勧めます。
- RPi-PWR-miniに5V電圧を供給すると、LED(D1)が点灯します。
- RPi-PWR-miniの電源SW:S1を押下するとLED:D2が点灯し、Raspberry PiおよびRPi-PWR-miniに電源:5Vが供給されます。
- S1を5秒間以上押下し続けるとRPi-PWR-miniの電源制御回路が強制遮断モードとなり、S1を放した時点で電源を遮断します(強制電源終了)。
OSの正常動作確認
- OSがインストールされたSDカードをRaspberry Piのスロットに挿入し、OSの正常起動を確認します。
- Raspberry PiのOSをシャットダウンします(画面から若しくはシャットダウンコマンドにて)。
- 正常にシャットダウンされると、Raspberry PiのPWR LEDのみ点灯し、他のLEDは消えている事を確認します。
- 前述の強制電源終了を行い、動作を確認します。
- Raspberry PiのOSがShutdownされない状態での強制電源終了はSDカード内のファイルシステムに損傷を与える可能性があるので注意すること。
5. ソフトウェアのインストール
5.1 シャットダウン時のパワーオフ用設定
シャットダウン時のパワーオフの仕組み:
OSがシャットダウンする際に、RPiがGPIO#4(RPi P1-7)を2sec程度、Low:0とすることで、RPi-PWR上のコントローラ(PIC 12F629)はパワーオフシーケンスを起動します。シーケンスが開始されると一定時間後に、RPi-PWR上のコントローラはPower MOS FETを制御してRPiへの電源供給を停止します。
Raspberry Piの設定:
Raspberry Pi OS:Raspbianは、現在以下のバージョンが提供されています(2016.3)。
- Wheezy
- Jessie
以下に、各バージョン用の設定を紹介します。
5.1.1 Wheezy用設定
RPi OS(Wheezy)のシャットダウンシーケンスでRPi GPIO#4を操作するように設定します。
手順:
以下のリンクから圧縮ファイル:rpi-pwr.zipをダウンロードします。
下記の例では、Raspberry Piでwgetを実行してファイルをダウンロードしています。
ダウンロードした圧縮ファイルは、解凍パスワードが必要です(下記の例では7zで解凍し、パスワードは<PASSWD>)。
必要なアカウント(ユーザ名)およびパスワードは、(A)購入商品に同梱されている「はじめにお読み下さい」に印刷されているか、(B)製品購入者にメールで送られているので、それを使用します。
$ cd $ mkdir rpi-pwr $ cd rpi-pwr $ pwd /home/pi/rpi-pwr $ wget https://www.ladybugsystems.com/supports/customer/rpi/rpi-pwr/rpi-pwr.zip --no-check-certificate $ unzip -P <PASSWD> rpi-pwr.zip $ mv rpi-pwr/* . $ rm -r rpi-pwr $ sudo cp powerdown-gpio.sh /etc/init.d $ cd /etc/init.d $ sudo chmod 755 powerdown-gpio.sh $ sudo chown root:root powerdown-gpio.sh $ sudo update-rc.d powerdown-gpio.sh defaults
次にエディタで/etc/init.d/haltを修正します(「modify start」~「modify end」の5行追加)。次の例ではnanoで編集しています。
$ sudo nano halt
do_stop () { ..... ..... //--- modify start --- # Send powerdown signal to RPi-PWR via GPIO if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/powerdown-gpio.sh ] then sudo /etc/init.d/powerdown-gpio.sh fi //--- modify end --- # See if we need to cut the power. if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ] then /etc/init.d/ups-monitor poweroff fi
シャットダウン時のオートパワーオフの確認
$ sudo shutdown -h now
正常にpowerdown-gpioが組み込まれ、シャットダウンが行なわれれば、RPiのACT LED(SDカードアクセス)が点滅した後、RPiのPWR LEDが消灯します(電源供給も停止)。
5.1.2 Jessie用設定
RPi OS(Jessie)のシャットダウンシーケンスでRPi GPIO#4を操作するように設定します。
JessieではWheezyと異なり、systemdを用いたシステム管理を採用しています。
手順:
以下のリンクから圧縮ファイル:rpi-pwr-systemd.zipをダウンロードします。
下記の例では、Raspberry Piでwgetを実行してファイルをダウンロードしています。
ダウンロードした圧縮ファイルは、解凍パスワードが必要です(下記の例では7zで解凍し、パスワードは<PASSWD>)。
必要なアカウント(ユーザ名)およびパスワードは、(A)購入商品に同梱されている「はじめにお読み下さい」に印刷されているか、(B)製品購入者にメールで送られているので、それを使用します。
$ cd $ mkdir rpi-pwr $ cd rpi-pwr $ pwd /home/pi/rpi-pwr $ wget https://www.ladybugsystems.com/supports/customer/rpi/rpi-pwr/rpi-pwr-systemd.zip --no-check-certificate $ unzip -P <PASSWD> rpi-pwr-systemd.zip $ mv rpi-pwr-systemd/* . $ rm -r rpi-pwr-systemd $ sudo chmod 755 powerdown-gpio.sh $ sudo chown root:root powerdown-gpio.sh $ sudo chmod 755 rpi-shutdown.service $ sudo chown root:root rpi-shutdown.service
次にsystemdでサービスを組み込みます。
$ sudo mv rpi-shutdown.service /etc/systemd/system/rpi-shutdown.service $ $ sudo systemctl enable /etc/systemd/system/rpi-shutdown.service
シャットダウン時のオートパワーオフの確認
$ sudo shutdown -h now
正常にpowerdown-gpioが組み込まれ、シャットダウンが行なわれれば、RPiのACT LED(SDカードアクセス)が点滅した後、RPiのPWR LEDが消灯します(電源供給も停止)。
5.2 ソフト電源オフ用設定
ソフト電源オフとは:
RPi OSが稼働中にRPi-PWR上の電源SWを操作して、RPi OSを正常にシャットダウンさせ、先に設定したシャットダウン時のパワーオフを実行します。
※ソフト電源オフ機能は、前述の「3. シャットダウン用設定」が正しく実施されている必要があります。
ソフト電源オフの仕組み:
RPi-PWRは通電中にボード上の電源SWを1-2sec程度、押下(スイッチオン)とすることで、ユーザのソフト電源オフ要求を受け付けます(JP1:拡張電源ボタンを取付けて、同様の動作が可能です)。
この後、RPi-PWRはシャットダウン要求シーケンスとなり、GPIO#17(RPi P1 11 pin)をLow:0とします。
RPiはOSの起動時に開始してあるシャットダウン要求検出機能で、定期的にGPIO#17をモニタし、RPi-PWRからのシャットダウン要求を検出します。
RPiはシャットダウン要求を確認すると、OSのシャットダウンを開始し、前述のシャットダウン時のパワーオフが実行されます。
Raspberry Piの設定:
RPi OS(Jessie)のシャットダウン要求検出機能を開始するよう起動スクリプトをOSに組み込みます。
OSの起動スクリプト:rc.localに提供するスクリプト:wait-for-shdn-req.shを組込みます。
手順:
先の手順の圧縮ファイルがダウンロードされ、解凍されている前提で手順を記します。
(※)この例では、シェルスクリプト:wait-for-shdn-req.shは/home/pi/rpi-pwrに置く前提で記しています。もし異なる位置に置く場合は、下記のrc.localの記述を対応する位置に変更して下さい。
$ cd /home/pi/rpi-pwr $ pwd /home/pi/rpi-pwr $ sudo chmod 755 wait-for-shdn-req.sh $ sudo chown root:root wait-for-shdn-req.sh
/etc/rc.localの最後のexit 0の直前に以下の1行を加えます。
$ cd /etc $ sudo nano rc.local
cd /home/pi/rpi-pwr; ./wait-for-shdn-req.sh & exit 0
設定を反映させるために、一度再起動します。
$ sudo shutdown -r now
ソフト電源オフのテスト
RPi-PWRの電源SW(PUSH SW:S1)を約1-2秒押下し、スイッチを離します。
RPiのシャットダウンシーケンスが起動します(コンソールが接続されていれば“SHUT DOWN NOW *”と表示)。
※5秒以上、RPi-PWRのS1を押下し続けると、強制電源オフとなるので注意する事。