こんにちは、ソリューションアーキテクトの井出(ニックネーム:takao)です。
通信機能を持たない現場の機器やセンサーをクラウドと安心・手軽につなげるのに欠かせないのが「LTEルーター(ゲートウェイ)」です。プロジェクトの初期段階ではつなげることに集中することもあり、出荷前の設定「キッティング」と呼ばれる作業にかかる負担が大きいことが見落とされがちです。特に台数が増えてくると、比例して手間が増大します。
また、運用後に設置済みのルーターの設定変更や、ファームウェアの更新が必要となり、全国各地や海外に点在したルーターのメンテナンス作業のため、現地に赴くケースなどもあるのではないでしょうか?
実は私も過去に約120台のルーターの設定更新を1日で行ったことがあり、大変な思いをした経験があります(笑)
今回は時間や手間のかかる「キッティング作業」を簡略化する機能が、ソラコムのIoTストアで取り扱っているルーター「FutueNet MA-S120/L」にも実装されたので、早速使ってみました!
FutureNet MA-S120に標準搭載の「SORACOM ブート機能」とは?
FutureNet MA-S120は、Linuxを搭載した省電力 IoT ゲートウェイです。LTE通信を内蔵しており、通信機能を持たない現場の機器とクラウドをつなげる時に役立ちます。
LTEの通信部分によって、いくつかモデルがあります。日本国内でマルチキャリアに対応している「MA-S120/L」、北米やEU加盟国、タイやベトナムなどのアジア諸国等でつながる「MA-S120/GLA」です。どのモデルにも、キッティングを簡略化できる機能「SORACOM ブート機能」が標準搭載されています。
ソラコムでは「SORACOM IoT ストア」にて、MA-S120で利用可能な SORACOM IoT SIM を同梱したスターターキットを、それぞれのモデルで提供しています。1セットからオンラインでお求めいただけます。
FutureNet MA-S120/L スターターキット
FutureNet MA-S120/GLA スターターキット
SORACOM ブート機能でできることは2つあります。1つ目がファームウェアのアップデート、2つ目がMA-S120の設定更新です。
ファームウェアのアップデートというのは、みなさんもお使いのパソコンで定期的に実行しているWindows Updateや、スマートフォンのOSの更新に相当する作業になります。
設定の更新というのは具体的に何かというと、ルーターの設定画面から設定するあらゆるパラメーターです。代表的なものとしては、LANポートのIPアドレス、APN、ファイアウォール、DNAT/SNAT(ポートフォワーディング)などの設定で、システム構成などユーザーごとの状況に応じて設定する項目になります。
SORACOM ブート機能の動作概要
SORACOM ブート機能は、以下の図のような流れで、ファームウェアや設定が適用されます。
SORACOMにはファイルを保管できるストレージサービス「SORACOM Harvest Files」があります。SORACOM ブート機能はMA-S120の起動時に、SORACOM Harvest Files からファームウェアや設定が入ったファイルをダウンロードして、MA-S120自体をアップデートしたり構成することができます。
ダウンロード対象は、SIM(通信回線)に紐づけることができるタグ機能「メタデータ」に設定することができるため、バージョンや設定内容を切り替えることも可能です。
技術的な仕組みを詳しく知りたい方は「SORACOM で完結!デバイスのファームウェア管理」もあわせてご覧ください。
SORACOM ブート機能で、キッティングがどのぐらい楽になる?
SORACOMブート機能は、後述するSORACOM上での2つの準備と、デバイス上での2つの操作をすることで利用できます。
まずMA-S120の操作は、DIPスイッチの設定とSORACOM IoT SIMを挿しておきます。この状態でMA-S120の電源をONにするだけで、LTE通信を経由してMA-S120の構成は完了します。MA-S120に設定用のパソコンを接続する必要もありません。
これまではルーターを操作することができるエンジニアが現場に行き、ルーターにパソコンを繋いで実施しなければならなかった設定作業を、ルーター側が自分自身で行ってくれます。
現場で発生する作業としては以下のような作業になるので、これであればルーターなどに詳しくない現場の方にお願いすることも可能になるのではないかと思います。
現地での作業の流れは以下のようになります。
- (SIMが入っていなければ)SIMを入れる
- 本体のDIPスイッチ(小さい切り替えスイッチ)を設定する
- 電源を入れる
(しばらく待つ) - 電源を抜く
- 本体のDIPスイッチをもとに戻す
上記作業の後に再び電源を入れると、新しいファームウェア/設定で稼働が再開します。
SORACOM上での準備
SOARCOM上で必要な準備は2つあります。SORACOM Harvest Filesへのファイルのアップロードと、メタデータサービスの設定です。それでは具体的な設定方法をみていきましょう。
SORACOM Harvest Filesへファイルをアップロードする
まずはアップロードするファイルを入手します。
ファームウェアの入手
センチュリー・システムズ社のウェブサイトから、所望のバージョンのファームウェアのファイル(ファイル名:mas1xx_focal_v{バージョン番号}.img)をダウンロードします。ファームウェアをカスタマイズした場合は、自身でビルドしたイメージファイルを用意します。
設定データの入手
ルーターのwebUIの「設定データ管理」から設定データダウンロードの「DOWNLOAD」ボタンをクリックすると設定データ(ファイル名:config_{シリアル番号}.img)がローカルに保存されます。
例えば、検証用のルーターなどで設定した内容をエクスポートすることで、現場稼働させるルーターに同一の設定を反映することができるようになります。
ファイルアップロード
入手したファイルをSORACOM Harvest Filesにアップロードします。このとき、以下のような構造になるように保存します。
今回はプロジェクトディレクトリ名をtakaoの下のprojectAというディレクトリとしたいと思います。コンソールにログインして、SORACOM Harvest Filesの画面から左上のアップロードボタンをクリックします。
ファイルをアップロードという画面に、ファイルをドロップするか参照してファイルを選択すると「アップロード先のフルパス」というテキスト入力画面が出てくるのでファイル名の前に保存先のディレクトリのパスを追記してアップロードボタンをクリックします。
設定データも同様にアップロードすれば準備完了です。
メタデータサービスを設定する
ファイルがアップロードできたら、メタデータサービスにファイルをどこにアップロードしたかの情報を設定します。
SIM管理画面から、ルーターに挿入しているSIMの所属するグループを選択します。グループに所属していない場合は新たにSIMグループを作成し所属させてください。
Harvest Files 設定をONにして保存します。
SORACOM Air for セルラー設定で「メタデータサービス」をONにして「ユーザーデータ」をJSON形式で設定します。
今回の例だと以下のようなJSONをユーザーデータに記載します。「JSON形式で保存」のチェックボックスにチェックを入れてください。
{ "prefix": "takao/projectA", "useSerial": { "config": false, "firmware": false } }
prefixは先ほどファイルをアップロードした時のプロジェクトディレクトリのパスになります。
ちなみに、今回はuseSerialをfalseとしていますが、ここをtrueにするとルーターのシリアル番号に応じて設定内容を変えることができます。configにデバイスごとに固有の設定をしなければならない場合などは有用な機能ですね。
最後に「保存」を忘れずにクリックすれば、準備作業は完了です。
まとめ
いかがだったでしょうか?SORACOMブート機能を使うと、ルーターのキッティングやアップデートが簡単に実施できそうです。特にキッティングやアップデート対象のルーターの数が多い量産プロジェクトの場合や、ルーターが僻地や海外にある場合はこの機能を使うことで大幅な効率化が可能であることがわかりました。
SORACOMブート機能は、いうなれば「機器や環境に依存する設定情報を外出しする」仕掛けです。SORACOMプラットフォームを利用すれば、皆さん自身でも実装可能です。具体的な方法は「IoT デザインパターン:機器や環境に依存する設定情報を外出しする」でPython等の実装例と共に解説しています。こちらも併せてご覧ください。
量産や今後のアップデートを見据えたプロジェクトでは、デバイス選びの際にはこういった機能を持ったルーターを選択することがトータルコストの観点で有利となる可能性もあるので、一考してみてはいかがでしょうか?
― ソラコム井出 (takao)