6.4. エッジアプリケーションを登録する

ここでは、開発したエッジアプリをIoTストアに登録する方法について説明します。
エッジアプリを開発する方法については、 My-IoT プラットフォーム仕様書 を参照してください。

エッジアプリを新規作成する

サイドメニューから、 [開発] - [エッジ] - [エッジアプリ] を選択すると、エッジアプリ一覧画面が表示されます。

edge_app_list

この画面ではエッジアプリの新規作成や、IoTストアに登録されているエッジアプリを確認することができます。エッジアプリ一覧画面についての詳細は、 エッジアプリケーションを管理する を参照してください。

エッジアプリを作成するには、画面右上の [新規作成] ボタンを押下してください。

edge_app_register

エッジアプリ登録画面が表示されましたら、必要な情報を入力していきます。

エッジアプリ基本情報を入力する

エッジアプリの基本的な情報を入力してください。

edge_app_info

  • エッジアプリ名

    • IoTストアに公開されるエッジアプリの名前を入力します。重複した名前は使用できません

  • 説明

    • エッジアプリの説明を入力します

  • 詳細URL

    • エッジアプリに関連するURLを入力します

  • 対応センサー

    • エッジアプリが対応しているセンサー種別をプルダウンから選択します

      • 環境センサー

      • ウェアラブル

      • その他

エッジアプリファイルを選択する

エッジアプリ開発時に作成したエッジアプリファイルを選択します。
エッジアプリファイルは、作成したエッジアプリのNode-REDフローファイルや、ノードのインストール情報などのエッジアプリ情報が含まれているファイルです。
エッジアプリファイルの作成方法については、 My-IoT プラットフォーム仕様書 を参照してください。

[エッジアプリファイル][選択] ボタンを押下して、エッジアプリファイル(.zip形式)を選択してください。

edge_app_file

エッジアプリファイルを選択すると、自動的に 使用ソフトウェアバージョンOS情報 、そして コネクタ が自動的に入力されます。

不正なエッジアプリファイルを選択した場合や、エッジアプリファイルで使用しているコネクタがIoTストアに存在しない場合はエラーとなります。

公開範囲を選択する

エッジアプリの公開範囲をラジオボタンで選択します。

edge_app_openrange

  • [公開]

    • 全てのユーザにエッジアプリが公開されます

  • [テナント内のみ]

    • ログインしているユーザのテナント内のみでエッジアプリが公開されます

スクリプトを入力する

エッジアプリのインストール時などに実行されるスクリプトを入力してください。
スクリプトはシェルスクリプト形式で記述します。 [ファイル選択] ボタンを押下すると、スクリプトファイルを選択することができます。
スクリプトファイルの文字コードは UTF-8 としてください。

edge_app_script

  • インストールスクリプト

    • エッジアプリをインストールする際に実行するスクリプトを入力します

    • スクリプトはroot権限で実行されます

  • アンインストールスクリプト

    • エッジアプリのインストール失敗時や、アンインストールする際に実行するスクリプトを入力します

    • スクリプトはroot権限で実行されます

  • 開始スクリプト

    • My-IoTエッジの起動時など、エッジアプリが開始される際に実行するスクリプトを入力します

    • スクリプトはユーザ権限(pi)で実行されます

  • 停止スクリプト

    • My-IoTエッジのシャットダウン時など、エッジアプリが停止される際に実行するスクリプトを入力します

    • スクリプトはユーザ権限(pi)で実行されます

エッジプログラムを選択する

エッジアプリに含めるエッジプログラムを選択してください。
[追加] ボタンを押下すると、エッジプログラム追加ダイアログが表示されます。
エッジアプリファイル未選択時は押下できません。

edge_prg_dialog

edge_prg_select

  • 種類

    • チェックした種類のエッジプログラムが表示されます

  • バージョン

    • [最新バージョンのみ] にチェックをつけることで、エッジプログラムに複数のバージョンが存在する場合に最新バージョンのみを表示させることができます。チェックを外した場合は、全てのバージョンが一覧に表示されます

エッジプログラムの一覧には、エッジアプリのフローファイルに含まれるノードに対応するプロトコルが設定されたエッジプログラムのみ表示されます。対応関係は下記のとおりです。

フローファイルで使用されているノード

エッジプログラムのプロトコル

udp in
udp out

UDP

tcp in
tcp out

TCP

http in
http request

HTTP

mqtt in
mqtt out

MQTT

エッジアプリに含めるエッジプログラムにチェックを入れ、 [OK] ボタンを押下してください。

edge_prg_selected

選択した順番でエッジプログラムが表示されます。
選択したエッジプログラムを解除したい場合は、 [×] を押下してください。
エッジプログラムは表示されている順番でインストールされます。ドラッグ&ドロップで順番を入れ替えることができます。

エッジプログラムの選択後にエッジアプリファイルを変更し、エッジプログラムのプロトコルが非対応になった場合はエッジプログラムの背景が赤色で表示されます。エッジプログラムの選択を解除するか変更してください。

配信ファイルを設定する

エッジアプリのインストールと同時に、ファイルを配信したい場合は配信ファイルを設定してください。 配信できるファイルの仕様は下記のとおりです。

  • 全ての配信ファイルの合計サイズが100MB以下

[選択] ボタンを押下して、配信するファイルを選択してください。
ファイルの選択後、ファイル名と展開先ディレクトリを入力します。

edge_app_delivery

  • ファイル名

    • 選択したファイルのファイル名が自動で入力されます。編集することもできます

    • 入力したファイル名で展開先ディレクトリに配信されます

  • 展開先ディレクトリ

    • ファイルを展開するディレクトリを入力します

    • 展開先ディレクトリは相対パスと絶対パスで記載することが可能です

    • 相対パスを記載した場合は、 [/myiot/<エッジアプリID>] が基準ディレクトリとなります

指定したディレクトリが存在しない場合は、自動的にディレクトリが作成されます。

配信ファイルを追加する場合は [追加] ボタンを押下し、同様の手順で配信ファイルを追加してください。 配信ファイルを削除する場合は [削除] ボタンを押下してください。

登録する

入力が完了したら、画面下部の [登録] ボタンを押下してください。
登録完了ダイアログが表示され、エッジアプリ詳細画面が表示されます。

除外Pythonライブラリ選択のダイアログが表示された場合

edge_app_python_check

Pythonの依存ライブラリのチェックにおいて、有効なwheelファイルが存在しないライブラリが設定されている場合に表示されます。
このような依存ライブラリが存在する場合は、エッジアプリのインストール処理時にエラーとなってしまうため、インストール時に除外を行います。

エッジアプリの登録を継続する場合は、ライブラリ名を確認して全てのライブラリにチェックをつけ [OK] を選択してください。
全てのライブラリがチェックされていない場合は、エッジアプリの登録を行うことができません。

ここでチェックをつけたライブラリは、インストール処理がスキップされます。
インストールスクリプトなどを利用して必要なPythonライブラリを別途インストールしてください。

テンポラリーフローからエッジアプリを登録する

My-IoTエッジにインストールされているNode-REDフローを編集してテンポラリーフローとして抽出し、テンポラリーフローを基にしてエッジアプリを登録することができます。
テンポラリーフローを利用することで、公開されているエッジアプリをユーザに合わせて設定変更したり、カスタマイズを行ってエッジアプリを公開することができます。

この方法で登録したエッジアプリは、同一テナントIDのユーザのみ表示され使用することができます。
別のテナントIDのユーザに公開することはできませんのでご注意ください。

注釈

テンポラリーフローからエッジアプリを登録するには、My-IoTエッジの動作モードが メンテナンス機 である必要があります。
動作モードをメンテナンス機へ変更する方法については、 エッジを管理する を参照してください。

インストール済みのフローを編集する

My-IoTエッジにインストールされているフローを直接編集することができます。

フローを編集する場合はエッジ詳細画面から行います。
サイドメニューの [管理] - [エッジ一覧] よりエッジを選択してエッジ詳細画面を表示し、 [テンポラリーフロー情報] から [フロー開発] を押下してください。

tmpflow_edit

Node-REDフローエディタが起動しましたら、フローの編集を行ってください。
フローの編集が完了しましたら、デプロイを行ってください。

注意

対象のエッジが同一ネットワーク内にいる場合のみNode-REDフローエディタを起動できます。
別のネットワークに存在する場合は、Node-REDフローエディタの起動を行えないので注意してください。

テンポラリーフローの抽出

編集およびデプロイしたNode-REDフローを基にエッジアプリを登録するためには、 まずMy-IoTエッジにデプロイされているNode-REDフローをテンポラリーフローとしてIoTストアに一時的に登録する必要があります。

[テンポラリーフロー情報] から [フロー抽出] を押下すると、フローの抽出が開始されます。フローの抽出にはしばらく時間がかかりますので、しばらくお待ちください。 フローの抽出が完了すると、テンポラリーフローとしてフローがIoTストアにアップロードされて登録されます。
エッジ詳細画面を更新し、テンポラリーフロー情報欄に新しい登録日時のテンポラリーフロー情報が登録されていることを確認してください。

tmpflow_upload

テンポラリーフローを使ったエッジアプリの登録

抽出したテンポラリーフローを基に、新規にエッジアプリを登録します。
ここで登録するエッジアプリは、編集および抽出前のエッジアプリの更新ではなく新しい別のエッジアプリとして登録されます。

基にしたいテンポラリーフローの [登録] ボタンを押下してください。

tmpflow_register

エッジアプリ登録画面が表示されましたら、エッジアプリ情報を入力してください。
エッジアプリファイルは、あらかじめテンポラリーフローとして抽出したエッジアプリファイルが選択されています。
テンポラリーフローとして抽出する前のエッジアプリに設定されていたエッジプログラムやスクリプトなどの情報は引き継がれないため、 情報を引き継ぐ場合は抽出前のエッジアプリ情報を参考にして再度入力してください。

入力が完了したら、画面下部の [登録] ボタンを押下してください。
登録完了ダイアログが表示され、エッジアプリ一覧画面が表示されますので、登録したエッジアプリが存在することを確認してください。

注釈

テンポラリーフローから登録されたエッジアプリは、同一テナントIDのユーザーにのみ公開されます。