nRF Cloud その4 -ファームウェアアップデート:FOTA-
2025.06.16

こんにちは。
加賀デバイスのNordic Teamです。
nRF Cloudコラムシリーズですが、今回はFOTA(Firmware update On The Air)について記事を書きたいと思います。

デバイスのファームウェアアップデートを行うためには、クラウド上にファームウェアを格納しておくサーバーが必要となります。
またデバイスがいつファームウェアアップデートを行える状態になるか分からないため、そのサーバーは常に起動しておく必要があります。
さらに、ファームウェアのバージョン管理も必要となってきます。
nRF CloudのFirmware updateの機能はこのようなサーバーやファームウェアの管理を提供しています。
それ以外にもnRF Cloudを使う事でFOTAのログ確認や、今書き込まれてるアプリケーションファームウェアのバージョン、MFWのバージョンなどが確認することが出来ます。
それでは早速デバイスのファームウェアの確認方法とFOTAの動作について確認していきたいと思います。
◢◤ファームウェアの確認
前回のコラムでも書きましたが、ファームウェアのバージョンはデバイスの詳細ページのDevice Infoから確認が可能です。

今回の場合はApp Nameが “nrf_cloud_multi_service” でバージョンが “1.0.0” となっています。
Modem Firmwareのバージョンは “mfw_nrf91x1_2.0.2” です。
App NameはプロジェクトのCMAKEファイルの project(xxx) のxxx部分が反映されます。
App Versionに関しては今回使用するnRF Cloud multi Serviceのサンプロジェクトの場合であれば、サンプルプロジェクトのKconfigファイルで指定しています。
◢◤Firmware Updates
FOTAはFirmware Updatesから実行可能です。

Firmware Updatesのページの上段の Updates にはFOTA Jobの一覧が表示されます。
ここでは過去のFOTA Jobの履歴であったり、実行中もしくは実行予定のFOTA Jobの確認が可能です。

BundlesにはFOTAに使用するファームウェアが格納されます。

Bundlesには最初からNordicが提供しているnRF91用のMFWの全てが格納されています。
アプリケーションファームウェアを追加するには、Add Bundlesから追加可能です。
◢◤アプリケーションファームウェアのBundle
FOTA用のアプリケーションファームウェアは、プロジェクトに” CONFIG_BOOTLOADER_MCUBOOT
“を追加してビルドした時に出力される “dfu_application.zip” や”zephyr.signed.bin”というファイルになります。
詳細は下記ドキュメントなどをご参照ください。
*nRF Connect SDKv2.7.0以前の場合は”zephyr.signed.bin”ではなく”app_update.bin”となります。
また、Documentによっては混同されて表記されているものもありますのでご注意下さい。
Configuring and building with nRF91 Series
ファイルの準備が出来たらファームウェアの登録を行います。

FOTA用のファームウェアをDrag & Dropで指定して、必要事項を入力します。
Updata Type:LTEかBLEの選択
Name:Bundleするアプリケーションファームウェアの名前
Description:アプリケーションファームウェアの詳細。省略可能です。
Version:アプリケーションファームウェアのバージョン
◢◤FOTA Jobの作成
FOTA用のファームウェアの準備が出来たら、次はFOTA Jobの作成です。
FOTA jobは “Crate FOTA Update” から作成可能です。


Name:実行するFOTA jobの名前
Description:実行するFOTAの詳細。省略可能です。
Bundle:使用するファームウェアを指定
Group:デバイスに設定したGroup単位でデバイスを選択
Devices:デバイスを一個づつ選択
Deploy now:チェックを入れると”Create FOTA Update”をクリックするとすぐにFOTAが開始される
◢◤FOTA 動作確認
アプリケーションファームウェアをFOTAしてみたいと思います。
現在のアプリケーションファームウェアのバージョンは”1.0.0″ですが、 Kconfigの設定でバージョンを”2.0.0″にしたものをFOTAしてみたいと思います。
まずはアプリケーションファームウェアをBundleします。

Bundleされたアプリケーションファームウェアはリストに追加されます。

FOTA jobの設定は下記のようにしました。

Create FOTA Updateを実行すると下記のようにFOTAの実行待ちとなります。

デバイス側がFOTAを実行して、FOTAが終了するとStatusが “COMPLETED” に変化します。
変化しない場合はnRF cloudの画面の更新や再ログインなど試してみて下さい。

Device Informationで確認してみるとApp Versionが1.0.0から2.0.0に切り替わっているのが確認できます。

このようにnRF Cloudを使用すると更新するアプリケーションファームウェアだけ準備すればあとはとても簡単にFOTAが実行できます。
サーバーを用意する必要もなく、FOTAの履歴管理もnRF Cloud側が行ってくれます。
次回はnRF cloudのMassageの機能について説明したいと思います。
nRF Cloudにご興味ございましたら弊社のお問い合わせ にご連絡ください。
今後もNordicの紹介及びコラムにて色々な情報を公開致しますので是非ご確認ください。
また、Facebookでも随時情報を公開しておりますので合わせてご確認ください。
Nordic コラム一覧
nRF54L15 開発導入情報
関連記事