IoT機器の数が年々増えるにつれ、IoT機器のセキュリティなどの更新、機能アップデートが必須になります。このため、FOTA(Firmware Over-the-Air)と呼ばれる技術・機能が必要になります。
私自身も、お客様から多数のFOTAに関するお問い合わせを頂いていることから、皆様のFOTAに関する感心が高いことが伺えます。
ルネサスのRXファミリでは、この様な要望に対し、AWS社のFreeRTOSとAWSクラウドサービスを使用したGatewayデバイス(1st デバイス)のOTA、更には2ndaryデバイスのOTAソリューションを既にリリースしています。
今回、皆様より要望が多々寄せられていましたマイクロソフト社のAzure RTOSとAzureクラウドサービスを使用したFOTAのサンプルコードをリリースしましたので紹介させて頂きます。サンプルコードのダウンロード先は本ブログ下部に掲載します。
今回リリースしたサンプルコードは、32bit MCU RXファミリのRX671に対応したサンプルコードです。RX671 Starter Kit Plus(RSK RX671)と別売のSilex社製 Wi-Fi Pmodモジュールにて動作します。RXファミリはAzureRTOSの認定デバイスであるため、AzureRTOSはもちろん、本サンプルコードと、OTA実行部のソフトウェアが無料でご利用頂けます。
※Azureクラウドサービスの利用に関しましては使用料が発生致します。
RX671 Starter Kit Plus
Silex社製 Wi-Fi Pmodモジュール(Wi-Fi-Pmod-Expansion-Board)
サンプルコードを実行すると、AzureRTOS内のOTA Agentが起動し、Azureクラウドサーバと通信を行います。OTAのジョブがAzureクラウド上にあれば、新しいファームウェアイメージデータをダウンロードします。
サンプルコードが起動するとAzure IoT Hubに接続し、AzureRTOSのコンポーネントとして提供されるOTAのAgent Libraryが新ファームウェアの有無を確認します。
新ファームウェアがAzureのクラウド上のストレージにあるとダウンロードを開始します。
ここで気になるのが、アップデートの対象デバイスの指定ができるかですが、もちろんOTAにてアップデートする対象機器にグループタグを付けて指定や管理ができます。
OTAジョブを実行するとアップデートの進行をTerminalウインドに表示してくれます。
以下が、アップデート時のログになります。
アップデートに成功すると先程ご紹介したデュアルバンク機能による実行面の切り替えにより新しいファームウェアを実行します。
以上でOTAによるアップデートは完了です。
ファームウェアアップデートを支援するRXファミリのデュアルバンク機能について
本AzureのOTAの実行にはRXのファームウェアアップデートを強力に支援するH/W機能であるデュアルバンク機能を使用しています。デュアルバンク機能は、内部ROM空間を、アプリケーションの実行面(Execute Area)と新ファームウェアを書き込む面(Temporary Area)に分け、新ファームウェアが確実に書き込まれるまで実行面のファームウェアを保ち、新ファームウェアの書き換えが完了した際には、実行面をH/W機能であるデュアルバンク機能で変更することで簡単に安全にファームウェアアップデートを実行できる機能です。
瞬停などによりデータを書き存じてしまってもこの仕組により簡単に復旧が行えます。
また、プログラムの実行面も常に同じエリア(アドレス空間)となり、開発負荷が大幅に削減されます。
今後は、RX65NやRX72Nなどの既にAzureRTOSに対応した製品への展開や、AzureRTOSでも2ndary OTAのサンプルコード開発を実施していきます。
また、よりOTA機能をIoT機器に簡単に構築できる様に、OTAを支援するツールの検討も進めています。今後のRXファミリのIoTソリューションにもご期待ください。
サンプルコードのダウンロード
サンプルコードは以下よりダウンロードが可能です。
ご使用されるコンパイラに応じたサンプルコードをダウンロードしてください。
https://github.com/azure-rtos/samples/tree/PublicPreview/ADU
環境
- 開発環境: e2 studio
- コンパイラ: CC-RX/GCC/IAR
- 評価ボード
- RX671-Starter-Kit-Plus
- Wi-Fi-Pmod-Expansion-Board (**RX671-Starter-Kit-Plusに付属しません。個別で購入ください)
RXファミリのクラウドの情報をまとめたWebページは以下になります。役立つソリューションを取り揃えていますので、ぜひともご覧ください。
これまでのクラウドソリューションに関する投稿はこちらをご覧ください。