Raspberry Pi(ラズパイ)の消費電力を最適化する5つの方法

Optimizing Raspberry Pi Power Consumption

Rapsberry Pi(ラズベリーパイ)は、2012年にイギリスのラズベリーパイ財団によって発表されたシングルボードコンピューターです。子どもの教育用に開発されたものですが、そのシンプルかつ奥深い機能性によって世界中の大人も魅了しています。

そんなラズベリーパイの課題とされているのが、消費電力。

これは外部からの電力を必要とせず、完全なオフグリッド環境でも活用できるラズペリーパイだからこその問題です。

そこで今回は、ラズベリーパイの消費電力を最適化する方法について解説します。

Raspberry Piの魅力

そもそも、Raspberry Pi 4よりもエネルギー効率に優れたSBC(シングルボードコンピューター)は数多くあります。

しかしエネルギー効率を優先すると、機能性が低下する欠点も無視できません。まずはラズベリーパイの魅力をおさらいしておきましょう。

魅力1. CPUの性能

最小限の遅延で処理する機械学習モデルを、リモートで使う場合、Raspberry Pi 4に使用されているARM Cortex-A72 CPUに勝るものはありません。

ある程度の機械学習技術はマイコンでも処理できますが、それでも機械学習にはシングルボードコンピューターのほうが適しています。

魅力2. 拡張性の高さ

Raspberry Piのアドオン『Pi HAT』のエコシステムは成熟しており、ほぼすべてのケースに対応できる拡張オプションを提供しています。

たとえば、Blues Wireless社のPi HAT『Notecard』と『Notecarrier』は、遠隔地でのデータ中継が必要な要件に求められるドロップイン式のセルラー通信を可能にしています。

魅力3. Python

ラズベリーパイには、Pythonが標準でインストールされています。IoTプロジェクトの多くはCircuitPythonとMicroPyhonで対応可能です。

消費電力の最適化方法5選

ラズベリーパイの欠点のひとつが、推定600mAの消費電力です。ここからは、消費電力を抑えるための簡単な方法をご紹介します。

方法1. USBコントローラー無効化

抑えられる消費電力の目安:約100mA

ラズベリーパイを、入力機器なしのヘッドレスで動作させている場合、USBコントローラーへの電源供給の必要はありません。

以下のコマンドで、ラズベリーのUSBコントローラーを無効化できます。

echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/unbind

逆に、有効化する際には以下のコマンドを使い、再起動します。

echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind

方法2. HDMI出力の無効化

抑えられる消費電力の目安:約30mA

ラズベリーパイをヘッドレスで使用する場合、モニターを接続する必要はありません。このような場合、HDMI出力を無効にしましょう。

以下のコマンドで無効化できます。

sudo /opt/vc/bin/tvservice -o

再度有効化するには次のコマンドを使用します。

sudo /opt/vc/bin/tvservice -p

USBコントローラーと同じく、再起動後にHDMI出力が有効になります。

方法3. Wi-FiとBluetoothの無効化

抑えられる消費電力の目安:約40mA

Wi-FiやBluetoothを使用しない場合、これらも無効化できます。ただし、HDMI、USB、Wi-Fiを同時に無効にすると、ラズベリーパイとの接続に支障をきたす可能性があるので注意しましょう。

Wi-FiとBluetoothを無効化するには、/boot/config.txtを開き、以下のパラメータを追加し、再起動します。

[all]
dtoverlay=disable-wifi
dtoverlay=disable-bt

ファイルからパラメータを削除して再起動すれば、有効にできます。

方法4. CPUのクロック数を下げる

抑えられる消費電力の目安:クロック数に応じて変動

リモートでラズベリーパイを使う際、フルパワー使用する必要はない場合が多いため、CPUのクロック数を下げましょう。使用するアプリケーションに応じて数mA消費電力を抑えられます。

たとえば、クロック数の最大を900MHzに設定するには、/boot/config.txtを開き、パラメータを以下のように変更します。

[all]
arm_freq=900
arm_freq_max=900

core_freq_min、over_voltage、over_voltage_minなどのパラメータも使用可能です。

なお、シナリオによっては電力削減効果が得られない場合があります。遅いクロック数で長く動作するプロセスと、速いクロック数で短く動作するプロセスがある場合、消費電力の変化は見られないでしょう。

方法5. オンボードLEDの無効化

抑えられる消費電力の目安:約10mA

/boot/config.txtファイルを開き、以下を追加して再起動することで、ラズベリーパイ自体のLEDを無効化できます。

[pi4]
# Disable the PWR LED
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
# Disable the Activity LED
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Disable ethernet port LEDs
dtparam=eth_led0=4
dtparam=eth_led1=4

これらの設定は、Raspberry Pi 4 Model B固有のものです。/boot/config.txtファイルで使用できる変数は、公式サイトから確認できます。

変更の保存とリセット

/boot/config.txtの変更は、再起動後も持続します。起動時にUSB、HDMI、Wi-Fi、Bluetoothの無効化コマンドを発行したい場合は、.bashrcファイルを開いてコマンドを追加しましょう。

変更した内容を削除して再起動すると、ラズベリーパイはデフォルトの状態に戻ります。

Raspberry Piの太陽光発電

Optimizing Raspberry Pi Power Consumption

▲PiJuice HAT、ソーラーパネル、Notecarrier Pi(出典:Rob Lauer, “Solar-Powered Crypto Mining with Raspberry Pi”

ラズベリーパイをリモートで使用する場合、太陽光発電も検討してみましょう。ソーラーパネルを設置すれば、バッテリーの寿命を大幅に延ばせます。

ソーラーパネルの設置におすすめなのが、PiJuice HATです。あらかじめ設定したバッテリーの充電量でシャットダウン/起動する機能が搭載されています。

また、パススルー充電が可能なUSBパワーバンクも使用できます。パワーバンクがラズベリーパイに電力を供給し、ソーラーパネルがバッテリーを同時に充電する、という仕組みです。

おわりに

オフグリッド環境でラズベリーパイを使う場合、消費電力は避けて通れない課題です。

簡単な設定の変更だけで消費電力を抑えられるので、ぜひ今回ご紹介した方法を試してみてください。

(執筆:Blues Wireless 翻訳:中島あすか 編集:泉 提供元:IoT For All

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
週2日20万円以上のお仕事多数
Workship