PlusG SMART Solutionは、スマートデバイス(タブレットやスマートフォンなどのAndroid端末)を組込み機器の表示デバイス、 入力デバイスとして活用するソリューションです。
お客様の既存システムの「スマートデバイス対応」も、スマートデバイスを使った、新規サービスの開始も、簡単に実現できます。
スマートデバイスだけではできなかった制御機器の操作を可能にし、組込み機器では難しかった綺麗で滑らかな画面表示を可能にします。
本ドキュメントには PlusG SMART Solution についての説明と、 PlusG SMART Solution を使用してアプリケーションを作成する為に 必要な手順、ライブラリのリファレンスが含まれています。
優れたGUI操作には、綺麗な画面表示や滑らかな動きなどが必要です。それらを実装するには高速なCPUが必要です。
また書体のライセンス、日本語変換など有償のミドルウェア コストも必要になります。
「PlusG with Android」を使えば、GUIに関わる処理をスマートデバイスに任せることができ、組込み装置は、リアルタイム制御など本来の仕事に専念できます。
組込み装置側(サーバ)からGUIの仕事を減らした分、CPUパワーを下げることができ、コストカットも期待できます。
Androidプログラミングの知識(Java言語、Android専用API、流儀、決まりごとなど)の習得、学習の必要はありません。
Android端末へは専用のアプリケーションをインストールするだけです。
タブレットやスマートフォンなどのスマートデバイス側がクライアント、組込み機器側がサーバーとして動作します。
スマートデバイスにインストールしたPlusG with Androidのモニタプログラムはサーバーから送られてくる画面情報からオブジェクトを生成し画面に配置します。
配置されたオブジェクトはAndroidの機能としてサーバからの指示がなくてもで独立して動作します。
具体的には、ボタン押下、チェックボックス/ラジオボタンの状態変化、リストの表示/選択、エディットボックスへの数値や日本語の入力、 スライドジェスチャーによる画面スクロールなどの動作は(サーバと通信を行うことなく)端末単体で機能します。
端末は予め登録されたオブジェクトに変化が起こると、その内容をサーバへ通知します。
1つのサーバー(組込み機器)に、複数の端末を設置可能です。
Android端末はそれぞれ独立して画面を表示するため、組込み機器側は各端末の状態遷移を管理する必要がありません。
また、あえて各端末の状態遷移を管理する事も可能です。
例えば、教室の先生と複数生徒という様な場面において、生徒全員の状態を一斉に切り替えるということも可能です。
クライアント・サーバ間通信はWiFi、Bluetoothはもちろん3G回線インターネット経由での遠隔操作も可能です。
また、有線LAN、RS-232C、GPIO接続などいろいろな接続方法に対応可能です。
ボタンやチェックボックスなどの外観は準備された豊富なデザインコレクションから選ぶだけで簡単に変更できます。
また、自作のオリジナル画像を使用することもできますので、既存のアプリケーションと全く同じ外観にする、オリジナリティを高めることも可能です。
専用のダイアログエディタが付属していますので、手軽に画面設計ができます。
タップやスライド、フリックなどのタッチパネル入力、スムースかつ高速なスクロールなど、スマートデバイスが得意とする優れた入力デバイス、 表示デバイスを活用できます。また、GPS、傾斜センサ、カメラなど端末に標準装備されているデバイスからもイベントを作成できます。
サーバ側の開発はC++を使用します。サーバ側で使用するPlusGのサーバ用ライブラリは、ベクトルデータの描画、グラフ表示、 データベースへのアクセス、シリアル通信、ネットワーク通信などアプリケーション開発に必要な機能を多数装備しています。
GUI機能をスマートデバイスに任せているのでサーバ側のプログラミングもシンプルになりCUIアプリケーションと同様の感覚でコーディング出来ます。
クライアント側で発生した「ボタンが押された」などのイベントはネットワークを通じて組込み機器側へイベントとして通知されます。
組込み機器側でイベントに対応した処理のプログラミングを行います。
組込み装置側で発生したイベント(ハードウェアの状態変化など)はクライアント側にプッシュ通知し画面を更新します。
C++の知識だけで、Androidスマートデバイス開発を行うことができます。
端末にモニタプログラムをインストールし、実行します。
サーバのアドレスを登録すると作成したダイアログを表示させることができます。
開発初期段階では、リソースエディタがサーバーの役割を行いますので、WindowsのIPアドレスを登録しておきます。
リソースエディタを使用しダイアログを作成します。
デザインに関する部分は後回しにし、ここでは、レイアウトのみを行います。
どのオブジェクトを使用し、どのように配置するか、どのように遷移するか、などを設計します。
リソースエディタは、レイアウトデータを端末に送信する機能がありますので、 配置後すぐに、実際の端末画面に表示させ、動作させることができます。
複数の画面がある場合は、全ての画面をレイアウトします。
リソースエディタは、配置したレイアウトデータを元に、C++のソースコード、プロジェクトファイルなどを 自動生成する「スケルトン出力」機能があります。
サーバ側アプリケーションはイベント・ドリブン型です。生成されたソースコードには、ダイアログが開いた、状態遷移した、 ボタンが押された、などのいろいろなイベントに対応したコールバック関数があります。
この「スケルトン出力」機能を使うと、ビルド、実行可能な、サーバアプリケーションが自動生成されます。
PlusG SMART Solution にはプロジェクト管理機能付きテキストエディタ「統合開発環境SWEET」が付属しています。
テキストエディタを使用し、自動生成された各ダイアログソースのイベント関数に必要な処理をコーディングします。
デザインしたダイアログのオブジェクトは、専用のコマンドで、文字列や選択状態などの変更や、 現在の状態の取得などが可能です。
アンドロイド標準、PlusG SMART Solution 標準のデザインから、オリジナルのデザインへ変更可能です。
外観を完全オリジナルに変更できます。 ボタンや、フレームなど、機能オブジェクトの外観画像を、作成し画像ファイルを登録します。