RPZ-PowerMGRのファームウェアアップデート手順

RPZ-PowerMGRの制御プログラム(ファームウェア)のアップデート手順の解説です。動作の改善のため新しいファームウェアをリリースする場合があり、アップデートすることで最新のものを適用できます。

製品Revisionの確認

RPZ-PowerMGRの製品RevisionがRev1かRev2かを確認します。基板裏面のRevのあとに続く数字を確認して下さい。(小数点以下は無視します) Revisionごとにファームウェアが異なります。

ファームウェアバージョンの確認

RPZ-PowerMGRの現在のファームウェアバージョンはコントロールツールで確認できます。ターミナルを開き、以下の$に続くコマンドを実行して下さい。

$ cgpmgr cf
コンフィグ情報
  ファームウェアバージョン: 2.4
  スタートアップタイマー: 30秒
  シャットダウンタイマー: 150秒
  シャットダウン要求信号: GPIO16
  シャットダウン完了信号: GPIO26
  タイムゾーン設定: 540
  電源自動リカバリー: 無効
  USB Type-Aウェイクアップ: 有効

ファームウェア本体のダウンロード

お使いのRevision用の、アップデートしたいファームウェアをダウンロードし、zipファイルを解凍してbinファイルを好きな場所に保存して下さい。既に最新バージョンの場合はアップデートする必要はありません。

Rev2の場合
ファームウェア変更点
Version 2.0初版リリース
Version 2.1電源自動リカバリー、USB Type-A Wake up無効化オプションを搭載
Version 2.2Jetson Nano対応
Version 2.4cgpmgr sc -l 0 offで即座にシャットダウン要求を出す機能を追加
RTC時刻設定時に直近のOFFスケジュールを優先する機能を追加
Version2.2でRaspberry Piを再起動した際にも電源が落ちる問題を修正
Version2.6一部のモバイルバッテリーに対応するため、起動シーケンスを改善
Version2.7再起動処理を最適化するコンフィグを追加
Raspberry Pi 4で再起動時に電源が落ちる場合がある問題を修正
Rev1の場合
ファームウェア変更点
Version 1.0初版リリース
Version 1.1Runステート時にSW1を押してリセットするとスケジューラーが動かなくなる場合がある問題を改善
RTC時刻未設定時の動作を改善
Version 1.2まれにRTC時刻の取得に失敗する問題を修正
シャットダウン要求信号をトグル(リトライ)するように変更
Version 1.3ワイルドカード指定の制限をなくしました。月、日、時のうち好きなものについてワイルドカードを指定できます。
Version 1.4電源自動リカバリー、USB Type-A Wake up無効化オプションを搭載
Version 1.5Jetson Nano対応
Version 1.7cgpmgr sc -l 0 offで即座にシャットダウン要求を出す機能を追加
RTC時刻設定時に直近のOFFスケジュールを優先する機能を追加
Version2.2でRaspberry Piを再起動した際にも電源が落ちる問題を修正
Version 1.9一部のモバイルバッテリーに対応するため、起動シーケンスを改善
Version 1.10再起動処理を最適化するコンフィグを追加
Raspberry Pi 4で再起動時に電源が落ちる場合がある問題を修正



アップデート前の準備

コントロールツールを最新版にする必要があります。インストールと同じ以下のコマンドを実行して、最新版にアップデートして下さい。

$ sudo python3 -m pip install -U cgpmgr --break-system-packages

エラーが出る場合は最後のオプションを指定せずにお試しください。

$ sudo python3 -m pip install -U cgpmgr

以下のコマンドを実行してアップデートに必要なパッケージをインストールします。

$ sudo apt install stm32flash

ファームウェア書き換え時は、GPIO7, 25およびI2Cアドレス0x42を使用します。競合する周辺機器や拡張基板はあらかじめ取り外しておきます。また、SPIを有効にしている場合は無効にしてください。

ファームウェアを書き換えるとコンフィグ情報、スケジュールが初期状態にリセットされます。登録しているスケジュールを後で再設定したい場合はCSVにエクスポートしておいて下さい

ファームウェア書き換え

RPZ-PowerMGRのDSW1の1, 3, 4をONに切り替えます。2, 5はOFFのまま、6はお使いのI2Cのアドレスに合わせたままにします。

ターミナルを開き、以下のコマンドをbinファイルがあるディレクトリで実行します。サブコマンド「fw」がファームウェア書き換えを意味しており、「-f」オプションでファームウェアのbinファイルを指定します。以下はVersion 2.4を指定した例です。

$ cgpmgr fw -f fw_pmgr_2.4.bin

確認が表示されるので、DSW-1の1, 3, 4がONであることを確認して「y」を入力し、Enterを押します。

RPZ-PowerMGRのスイッチDSW1-1, 3, 4がONになっていることを確認してください. 
ファームウェア書き換えを開始してよろしいですか? [y/N]: 

「ファームウェアの書き換えが完了しました」と表示されれば成功です。RPZ-PowerMGRは停止状態になるのでRaspberry Pi/Jetsonをシャットダウンします。

$ sudo poweroff

RPZ-PowerMGRのDSW1の1, 3, 4をOFFに戻します。この際、LED2が消灯してRaspberry Pi/Jetsonの電源が切れます。

コンフィグ情報の再設定

以上でファームウェア書き換えは完了ですが、コンフィグ情報(シャットダウン要求信号、完了信号)が初期化されて未設定の状態となっているので、再設定します。(Jetson Nanoでセットアップ中の場合はこの手順は行わず、セットアップに戻ってください)

青スイッチ(SW2)を押してRaspberry Pi/Jetsonを起動し、以下のコマンドを実行してシャットダウン要求信号、完了信号を設定します。以下は、デフォルトのGPIO16、26を使う例です。

$ cgpmgr cf -r 16 -c 26

Jetson NanoでVersion2.7 / Version1.10へアップデートした場合は、以下のコマンドで再起動処理のオプションを設定してください。

$ cgpmgr cf -b 5

スケジュールも初期化されて未登録となっているので、必要に応じて再度登録して下さい。

関連ページ

RPZ-PowerMGR (Raspberry Pi用 消費電力削減/モバイルバッテリー拡張基板)

スイッチで電源ON/OFF、指定時刻に電源ON/OFF、シャットダウン後自動電源OFFを可能にする拡張基板です。Raspberry Pi(ラズパイ)やJetson Nanoの電源の課題を解決し、省電力運用を可能にします。RTCで電源OFF時も時刻を保持します。USB Type-C端子を搭載し、モバイルバッテリーでも利用できます。

RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)

動作をプログラミング可能な、Raspberry Pi/Zero(ラズパイ)用ホームIoT拡張ボードです。温度、湿度、気圧、明るさセンサー、赤外線送受信機能を搭載。温度が上がったらエアコンをオンにする、暗くなったら照明を点灯する、外出先から家電の操作をする、気温や日照時間を記録する、といった使い方が可能です。LEDにステータスを表示したり、スイッチを押したら特定の処理をすることもできます。

ESP-PowerMonitor (ESP-WROOM-02/WiFi搭載 IoT電圧/電流/電力測定基板)

Arduino IDEで動作を自由にプログラミング可能なIoT電力測定基板です。WiFi内蔵マイコンであるESP-WROOM-02を採用しました。流、電力センサーとディスプレイ搭載。Raspberry Piなどの消費電力の記録、スマホなどの充電電流のモニタリング、サーバーへのデータ転送、といった使い方が可能です。