ユーザーガイド
ユーザー
ガイド
管理ツールの使い方
プログラミング技術情報

仕組み

1つのステーションで複数のアプリケーションを同時に実行できます。

アプリは、1つ以上の構成要素( IOC : Input Output Component )を持ちます。IOC はそれぞれ、デバイスからセンサーの値を取得する機能であったり、SNS へメッセージを通知する機能であったり、ビデオ映像から顔を検出する機能であったりします。各 IOC は、最新値と履歴データを持ち、IOC 毎にデータベースに保存されます。

各 IOC は、Remotte プラットフォームが定義したカテゴリーによって1つの IOC タイプに分類されます。例えば、1つの数値センス、テキスト入出力、標準ビデオカメラなどがあります。IOC は Python 言語によって記述されたプログラム( Python で「パッケージ」と呼ばれる単位のプログラム)で、「 __init__.py 」という決められた名前のファイルと、その他1つ以上の任意のファイルから成ります。

Remotte プラットフォームの IOC 管理機能は、Python プログラム内のクラスを生成し、クラス内の関数を呼び出したり、また Python プログラムはプラットフォームの API を呼び出すことで、IOC の最新値を通知したりします。例えば、プラットフォーム側が IOC 側を呼び出す主な関数には、

sense() センス処理の要求
control() 制御値の通知
share_changed() 共有変数の更新

などがあり、逆に IOC 側がプラットフォーム側を呼び出す関数には、

set_value() センス処理の要求
start_recording_source() 記録を開始
sound_on_station() 音声の再生

などがあります。

IOC 間の情報のやり取りは、最新値を共有する方法で行います。例えばデバイスからセンサーデータを取得する IOC-1 が、統計処理を行う IOC-2 に最新のデータを渡す場合、管理ツール上で IOC-1 の共有設定を有効にすれば、IOC-1 で set_value() 関数を呼び出す度に、そのデータは IOC-2 に対して share_changed() 関数を呼び出すことによって伝えられます。

アプリは通常1つ以上の利用ページを持ちます(画面を必要としないアプリの場合は無くてもかまいません)。

例えば IOC-1 で set_value() された最新値は、履歴データとして保存され、また、利用画面に通知され、表示されます。同様に、履歴データも利用画面に表示されます。利用画面を操作することで発生したデータは、IOC-2 の control() 関数を呼び出して通知されます。

利用ページ上の最新値および履歴データは、表示部品( HMI : Human Machine Interface )を選択することで表現形式を定義します。HMI は大別すると3つに分類されます。

  • 最新値の表示用
  • 最新値の操作・設定用
  • 履歴データの表示用

ビデオや音声といったメディアや履歴データを表示するための HMI などは、利用ページ上でダブルクリックすることで詳細画面に遷移し、過去のデータをより詳しく表示できます。

アプリを新規作成する際の基本的な流れは、以下の様になります。