XBeeモジュールの使い方(OTAアップデート:File System)


 前回はXBeeのOTA(Over-The-Air)アップデートにより、Radio Firmwareのアップデート方法について解説しました。OTAアップデートによりXBeeモジュールのRadio FirmwareやFile Systemの更新が可能になります。今回はFile SystemのOTAアップデート方法について解説します。

 802.15.4ファームウェアでコーディネータXBeeからエンドデバイスXBeeのFile Systemをアップデートする方法を以下に示します。2個のXBeeのCHとIDは同一に設定します。また、コーディネータXBeeのAPを1又は2に設定しておきます。

1.事前準備

 OTAアップデートによるXBeeモジュールのFile Systemの更新には秘密鍵と公開鍵を準備する必要があります。公開鍵はアップデートの対象となるXBeeにあらかじめUART接続で読み込ませておく必要があります。  コーディネータXBeeのToolsのFile System Managerを開き、Keysをクリックします。

 以下の図のように秘密鍵と公開鍵を生成するウインドウが開きます。Generateボタンを押して秘密鍵と公開鍵を作成し保存します。

秘密鍵:private_key.pem

公開鍵:public_key.pem

 以下の図のように秘密鍵と公開鍵を生成するウインドウが開きます。Generateボタンを押して秘密鍵と公開鍵を作成し保存します。

秘密鍵:private_key.pem

公開鍵:public_key.pem

 秘密鍵と公開鍵を作成する際に、使用しているモニタが高解像度の場合には以下のように公開鍵の保存ボタンが表示されない場合があります。これは、XCTUのようにクロスプラットフォームのGUIフレームワークを使用しているアプリが、このディスプレイの拡大/縮小(DPIスケーリング)に完全に対応していないため思われます。この場合は、モニタの画面を右クリックしてディスプレイ設定を選択し、拡大/縮小を100%に設定することで公開鍵の保存ボタンを表示することができます。又は、コーディネータXBeeのPreferencesのAppearanceのFont size percentageをデフォルトの100%から75%に下げてApplyを押すことにより表示することもできます。

 次にコーディネータXBee のCofigurationのFile System OptionのFile System Public KeyのConfigureをクリックします。Browse..でpublic_key.pemを読込み保存します。OKで書き込みが完了します。再度Configureをクリックすると公開鍵が保存されていることを確認できます。

 同一のpublic_key.pemをエンドデバイスXBeeにもXCTUに接続してUART経由で保存します。

2.File Systemの更新

 コーディネータXBeeのDiscover radio modulesでエンドデバイスXBeeをリストに追加します。

 コーディネータXBeeのToolsのFile System Managerを開き、Openを押して接続します。以下のようにエンドデバイスXBee に送付したいファイルmain.pyを/flashに書き込みます。

 FS Imageボタンを押して秘密鍵:private_key.pemを開き、saveボタンを押します。 新たなウインドウが開きfile_system_image.fsotaを保存したらFile System Managerを閉じます。

 コーディネータXBeeのモジュールのリストにあるエンドデバイスXBeeのアイコンをクリックしConfigurationを読み込みます。

 Updateの右側の▼を押してUpdate file systemを選択します。先に保存したfile_system_image.fsotaを選択し「開く」をクリックするとアップデートが開始され、最終的にアップデートが成功したことを示すウインドウが表示されます。

 エンドデバイスXBeeのFile System Managerを確認するとmain.pyが/flashに保存されていることを確認することができます。

 このようにしてOTAアップデートによりXBeeモジュールのFile Systemの更新が可能になります。なお、更新する際はファイルシステムに署名したイメージを、対象のリモートデバイスすべてに転送します。一部のみを転送することはできません。