Q & A (良くあるご質問等)


** 一般的な事について **

(1-1) All Blue System(オールブルーシステム)って何をしてるの
(1-2) DeviceServer って何?
(1-3) DeviceServer を使うと何のメリットがあるの?
(1-4) 市販の他のCPU ボードを買うのと、どこが違うの

** 製品サポートについて **

(2-1) サポートは何が期待できるの?
(2-2) サポート期間が過ぎたらどうなるの?
(2-3) センサーデバイスは自分で作らなきゃいけないの?
(2-4) 勝手にデバイスを作って DeviceServer につなげて使ってもいい?
(2-5) デバイスが無い時にも何かできる?
(2-6) 購入後に返品したい時はどうするの

** 使用方法など **

(3-1) ホームセキュリティに使える?
(3-2) DeviceServer を別のシステムに組み込んで販売できる?
(3-3) 質問したい事や説明を聞きたい

** 技術的なこと **

(4-1) 設定が面倒そう
(4-2) Windows7 で動作する?
(4-3) 長期間安定して動作するの?耐障害性は
(4-4) 遠隔地にサーバーを設置して運用できる?
(4-5) 再インストールする場合にはライセンスはどうなるの?
(4-6) DeviceServer のスクリプトって何?
(4-7) DeviceServer のログインやセッションて何?
(4-8) セキュリティはどのようになっているの?
(4-9) 複数 サーバーを設置して連携して運用できる?
(4-10) XBee デバイスの監視やコントロールできるの?
(4-11) どれぐらい早くデータを処理できるの、スクリプトって遅くない?
(4-12) XBee と TDCP って何?
(4-13) Arduino を使いたいんだけど?
(4-14) 他のシステムや Web Service から操作できる?
(4-15) バッチジョブを実行できる?


(1-1) All Blue System(オールブルーシステム)って何をしてるの

オールブルーシステムは、自宅やオフィス、工場、農場、ヘルスケア現場まで様々な場面で、ユーザーニーズに合ったセンサーネットワークシステムを提供することを目指しています。

センサーネットワークシステムなど、複数の機器が互いに連携して動作させるシステムは、個々のセンサー機器や I/O 機器の動作はシンプルでも、ユーザーが実現したいシステムは複雑になっています。

ユーザーニーズは、システムが構築されて具体的に動作していくに従って拡張したり、変化していくようになります。このため、段階的にシステムを構築できるような仕組みを持っている必要があります。

オールブルーシステムはこれらのニーズに対応した、使う人自身が最も理解していて実現したいシステムを、"直ぐに"、"簡単に"、"楽に" 、実現できるようなソフトウエアシステムを提供します。


(1-2) DeviceServer って何?

ホームセキュリティやホームヘルスケアネットワーク、オートメーションシステム、センサーネットワークを構築するときに必要となる、複数のセンサーからのデータ自動収集や、リレーなどのI/O 操作、システム全体のコントロールをするための機能を備えたサーバーシステムが、"DeviceServer" です。

DeviceServer は 簡単に、早く、センサーネットワークを構築するためのツールです。ネットワークシステムの動作を定義したスクリプトを作成することで、簡単にシステムを構築することができます。

ホームセキュリティやホビーユースで使用することも考慮して、誰にでも使いやすいインターフェイスになっています。また、複雑なシステムにも対応できるような高度な機能も備えています。


(1-3) DeviceServer を使うと何のメリットがあるの?

CPU ボードや自作のセンサーデバイスを使ったシステムを構築するときには、複数のセンサーデバイスから出力されるデータの収集や、複数のデバイスの I/O 操作を行なうために、それらを互いに結びつけるための仕組みが必要になります。

実現したいオーダメードのシステムを、最初から全て構築していくこともできますが、かなりのコストや時間がかかってしまいます。

DeviceServer を利用することで、時間やコストを節約してシステムの機能を少しずつ増やしながら試行錯誤で構築できます。DeviceServer は、オーダーメードのシステムを素早く、簡単に実現することができます。

DeviceServer には外出先から操作をしたり、遠隔地にサーバーシステムを設置する場合に、必要となる監視機能があります。インターネットや携帯メールからリモートでシステムの状態取得したり、変更操作を行う機能が付いています。ユーザはこれらの機能を、自分の構築したシステムで直ぐに使用することができます。

インターネットで広く使われている Web 標準の API 機能が付いていますので、PC のWebブラウザはもちろんのこと、PDA や 携帯からもアクセスができます。

Web 上でインターラクティブな操作が可能な Flash や Processing などからも DeviceServer にアクセスできますので、フィジカルコンピューティングへの応用も簡単にできます。

統計を行なう時に必要となる、データベースや共有データ、各種データ変換を行なうライブラリ関数が最初から DeviceServer の機能で提供していますので、簡単にこれらの機能を使ってシステム構築をすることができます。


(1-4) 市販の他のCPU ボードを買うのと、どこが違うの

オールブルーシステムは、ホームセキュリティやセンサーネットワークを構築するためのソフトウエアとサポートを提供しています。

センサーネットワーク構築のために CPU ボードを単体で購入する場合には、その CPU ボードで動作させるファームウエアは自分で作成する必要があります。また CPU ボードと PC を連携させてネットワークシステムを構築するためには、時間とコストがかかり、デバッグにもかなりの時間が必要になってしまいます。このようなことから、CPU ボードを購入してから、自分の実現したいシステムを構築するまでの敷居は、かなり高いものになってしまいます。

オールブルーシステムではネットワークシステムをユーザー側で簡単に構築できるように、CPU ボードと PC の統合した管理を行うサーバー部分に DeviceServer を提供しています。また、センサーネットワークの センサー部分やI/O 部分に使用する CPU ボードは、一般に市販されている安価な CPUボードを利用して、その CPU ボードに搭載するファームウエアは、オールブルーシステムが無償で提供しています。

これらの ファームエアを搭載した CPU ボードを、お客様のサーバーシステム構築のためツールとして使用していただけます。現在のこれらのファームウエアは、USB、XBee(ワイヤレスネットワーク)、Ethernet 経由のデータ取得や I/O 操作を行なえます。

これら以外にも、ユーザーに広く利用されている CPU ボードや I/O 装置、通信モジュールなどを、DeviceServer につなげて使用可能になるように、今後とも機能を追加していきます


(2-1) サポートは何が期待できるの?

メールで、製品についてのお問い合わせや不具合、バグなどに対応しています。

ソフトウエアの改良や不具合修正の為にプログラムのアップデートを行なった場合には、オールブルーシステムのホームページで最新版のインストールキットを常にダウンロードして使用していただくことができます。

また、ご要望があればインストールキットを格納したメディア(DVD-R) を送付することも可能ですのでご連絡下さい。オンサイトでのサポートやコンサルティングも可能ですのでご相談下さい。


(2-2) サポート期間が過ぎたらどうなるの?

ソフトウエアの不具合対応につきましては、サポート期間に関わらず常にお受けいたしますのでメールにて連絡下さい。DeviceServer は、常に最新版をダウンロードして使っていただくことができます。

また、サポート期間の延長やメール以外のサポート(オンサイト、電話による随時サポート、ワンタイムインシデント等)にも対応しますので、ご連絡下さい。


(2-3) センサーデバイスは自分で作らなきゃいけないの?

オールブルーシステムの公開しているファームーウエアが動作する市販の CPU ボードを購入して、該当のファームウエアを書き込むだけで直ぐにご使用になれます。センサーシステム構築時に使用可能な下記の I/O 装置を作るためのファームウエアを無償で公開していますので、センサーネットワークの構築を直ぐにでも始められます。

現在公開中のセンサーデバイス用ファームウエアとユーザーマニュアル

* USB 接続 I/O 装置作成用の "UIOUSB"
* ネットワーク接続 I/O 装置作成用の "SigSensor,NetUIO"
* 無線(ワイヤレス)ネットワーク の I/O 装置作成用の "TDCP"

ファームウエアのサポートする CPU ボードの詳細は、各ファームウエアのユーザーマニュアルを参照してください。

DeviceServer のライセンスをご購入の方で、UIOUSB、TDCP、NetUIO、SigSensor の各ファームウエアの書き込みを、オールブルーシステムで行なうことも可能です。ご希望の方は、実費にて(送料+手数料程度) で承りますのでご連絡ください。

現在、UIOUSB 書き込み済みの CPU ボードと DeviceServer、各種センサーをセットにした”ホームセキュリティキット”製品を準備しています。また同様に、XBee デバイスと TDCP モニタを搭載した ATMega1284P CPUボード、DeviceServer をセットにした"ワイヤレスセンサーネットキット”も構想中です。準備出来次第ホームページでご案内したいと思います。

もし、直ぐにでも入手したい方がいらっしゃいましたら、数に限りがありますが提供できますのでご連絡下さい。


(2-4) 勝手にデバイスを作って DeviceServer につなげて使ってもいい?

オールブルーシステムのホームページからファームエアをダウンロードして、デバイスを自由に作成してDeviceServer に接続して使用していただくことが出来ます。

XBee デバイスのみを(TDCP モニタを搭載した CPU ボードなしに) DeviceServer に接続して使用することもできます。複数の XBee デバイスを必要な数だけマルチポイントで接続してシステムを構築することも可能です。


(2-5) デバイスが無い時にも何かできる?

DeviceServer インストール時に アラームシミュレータが入っていますので、ライトやブザーの付いたハードウエアのアラームがなくても、PC 上でアラームシミュレータを使ってイベントを知らせることができます。アラームシミュレータはDeviceServer をインストールした PC 以外にも複数コピーして、それらを一括してコントロールすることもできます。

電子メールを受信したときに、件名や送信者、受信者やメール本文の内容を調べて一定パターンに合致した時に、携帯電話や出先のメールアドレスにメール送信などが可能です。

インターネットに公開されている、Web API を定期的にアクセスして情報を収集して、集計や保存を行なったり、定期的にメールで送信するようなアプリケーションを作成することもできます。


(2-6) 購入後に返品したい時はどうするの

DeviceServer はライセンス販売の形をとっていますので、ご購入後のライセンスコード返品には対応できません。その代わり、お客様はライセンス購入前に全ての機能を実際にイントールして確かめることができます。ホームページからインストールキットをダウンロードしていただくとデモライセンスが自動で付与されていますので、全ての機能を直ぐにお使いいただくことができます。

また、USB 経由の I/O 装置や Network I/O 装置、ワイヤレス(XBee) I/O 装置のファームウエアも自由に使用して事前に動作させて確認することができます。

デモライセンスでご使用中の場合でも、使用上の質問や分からないことがありましたら遠慮なくご相談下さい。


(3-1) ホームセキュリティに使える?

PC とUSB で接続した I/O 装置(UIOUSB)にセンサーを接続するだけで直ぐにホームセキュリティシステムを構築できます。例えば、窓枠やドアにリードセンサーをつけたり、居間に光センサーや人体センサーを設置して、これらセンサーから出力されるセンサーデータを処理して、侵入検知や在宅監視を行なって、メールやアラームで知らせるようなシステムを簡単に構築できます。

広範囲の検出が必要な場合には、ワイヤレス機能をもった XBee と TDCP モニタを組み合わせることで、簡単にワイヤレスセンサーネットワークを構築できます。この場合には、センサーデータをサーバーに送信するための配線が不要になりますので、大量のセンサー設置や遠隔地、
移動する対象に対する監視も可能になります。

ワイヤレスの通信範囲はだいたい 数十メートルぐらいですが、XBee Pro 無線モジュールを使用することで数百メートルまでの遠隔操作が可能になります。


(3-2) DeviceServer を別のシステムに組み込んで販売できる?

DeviceServer を組み込んだシステムを、別製品としてユーザーが販売・サポートをすることも自由にしていただけます。

ただし、DeviceServer 自身の利用ライセンス(オールブルーシステムからのサポートを含む)の譲渡や転売はライセンス条項にて禁止しています。ユーザーの販売した別製品を購入された、エンドユーザーに対してのサポートはオールブルーシステムからは行ないません。この場合には、オールブルーシステムはライセンス購入いただいた別製品販売元に対してのサポートを行ないます。


(3-3) 質問したい事や説明を聞きたい

センサーネットワークについて、困っている事や実現できるかどうかよく分からない事などどんな内容でも構いませんので遠慮なくメールにてご相談下さい。

ご依頼があればコンサルティングなどをお客様のオンサイトで実施することもできますのでご連絡下さい。

メールアドレスは contact@allbluesystem.com です


(4-1) 設定が面倒そう

DeviceServer プログラムの導入は、インストールキットのセットアッププログラムを起動するだけて簡単に行なえます。センサーデバイスの設定やメール機能、WebAPI 機能 の設定についても専用のクライアントソフトを使用して GUI で操作できます。

センサーデバイスで発生したイベントの処理を行なうスクリプトの作成や、システム全体の管理を行なうためのスクリプト作成については、DeviceServer のスクリプトエンジンに使用している、Lua 言語に少し慣れる必要があります。

Lua は高速性が要求される分野で広く使われている組み込み用のスクリプト言語です。文献や応用例もインターネットで広く見つけることができますので習得は容易です。

DeviceServer には予めセンサーネットワーク構築に便利な、専用のLua ライブラリ関数も多数追加されていますので数行のスクリプトを記述するだけで、複雑な制御を簡単に実現できます。

オールブルーシステムのホームページでは、応用例としてのアプリケーションノート(pdf ファイルとスクリプトファイル等)を公開しています。アプリケーションノートでスクリプトの作成方法についての詳しい説明がありますのでぜひ参考にして下さい。


(4-2) Windows7 で動作する?

DeviceServer は 現在、Windows2000,WindowsXP SP3、Windows2003 Server の環境で動作試験をしていますが、Windows 7 等でも動作させることができます。OS のバージョンによって設定方法は異なりますが、コントロールパネル等からUAC のアクセス制御を完全に "無効"(通知しない) に設定した後、OS を再起動することで使用できるようになります。

これは、DeviceServer でインストールされるプログラムが Windows の SCM(サービスコントロールマネージャ) 機能を使用しているためです。ログコンソールプログラムやサーバー設定プログラム起動時に、ユーザーアカウントの警告ダイアログが出力される事があります。このダイアログが表示された場合には、上記の設定を行った後もう一度ログコンソールプログラムやサーバー設定プログラムを起動してください。一度設定すればこのダイアログは表示されなくなります。

その他の DeviceServer のサービスプログラム等は Windows7 で問題なく動作致します。


(4-3) 長期間安定して動作するの?耐障害性は

DeviceServer はセンサーネットワークに要求される高い安定度を持つ様に設計されています。

長期間にわたる連続運転や、PC の予期しない再起動が発生した場合でも自動的にDeviceServer のサービスモジュールがリスタートして、センサーネットワークの機能が維持されて、安定動作を続ける様になっています。

サーバーに一時的な高負荷がかかった場合でも、DeviceServer に内蔵された ファイルキャッシュ、スクリプトエンジンインスタンスのキャッシュプール、データベースコネクションプール(Firebird と Oracleに対応)などの機能によって、高速レスポンス動作を実現しています。また、同時に負荷分散の制御を行なうことで安定した動作をする仕組みになっています。

DeviceServer はWindows のサービスプログラムとしてバックグランドで動作していますので、同じ PC 上で他の作業やプログラムの実行を自由にできます。DeviceServer 動作中に、ユーザーの切り替えやログオフを行なっても一切動作に影響がありません。

DeviceServer と同様に、別サービスプログラムで動作しているDeviceServer 専用のログサーバーが、システムログやユーザースクリプト中で出力したログメッセージを全て記録しています。これによって、過去に発生したイベントや障害発生時の検証が簡単にできます。


(4-4) 遠隔地にサーバーを設置して運用できる?

DeviceServer はセンサーデバイスの設置やスクリプトを設定した後は自動で動作し続けます。運用中に人手が必要となるようなメンテナンス作業は必要ありません。

DeviceServer は、Windows サービスアプリケーションで動作しますので、PC が再起動した場合でも自動でサーバーが復帰します。この時には、Windows ログイン操作も不要ですので遠隔地に設置した場合でもリモート操作は不要です。

また、DeviceServerのクライアントプログラムは、任意の別 PC にコピーしてリモートアクセスすることができます。スクリプトの実行やアラームデバイスの設定変更、XBee デバイスの設定変更など全ての操作が任意のリモートPC から操作できます。

運用中も インターネットや携帯メール、Web API 経由でスクリプトを実行して、現在のステータスを取得したり、運用パラメータの変更がリモートPC や外出先から可能です。

DeviceServer のログサーバー機能で、アプリケーションが出力した動作ログや、センサーのイベントハンドラやユーザースクリプト中で出力したログ情報が自動的に記録されています。長期間の運用でも過去に遡って動作の検証が可能になっています。このときに、ログの保存期間も任意に設定することができますので、ログファイルサイズによるディスク領域の逼迫も防止できます。

ログサーバー自身もDeviceServer と同様にWindows サービスプログラムで動作していますので、PC の再起動時には、自動的にログサーバーも動作していますのでユーザーが操作する必要はありません。


(4-5) 再インストールする場合にはライセンスはどうなるの?

再インストール時にライセンスは引き継がれますので、そのままお使いいただけます。コントロールパネルからアプリケーションのアンインストールを行なうと、プログラムファイルは削除されますが、ライセンスを含む設定ファイルやユーザーが設定したスクリプトファイル、データベースは
削除されずに、次のアプリケーションインストール時に引き継がれます。

もし設定ファイルを削除した場合でも、ライセンス購入時に送付したライセンスコードを再インストール時に入力することで動作します。


(4-6) DeviceServer のスクリプトって何?

DeviceServer のセンサーネットワークシステム全体の動作を記述した Lua 言語のテキストファイルです。スクリプトにはイベント発生時、例えば センサーからデータを取得した時に実行する動作や、定期的に実行する動作などを記述します。

DeviceServer では Lua スクリプトエンジンに、センサーネットワークを構築するときに必要なライブラリ関数を追加して機能を強化しています。別スクリプトのコール、データ共有や排他制御、データベース保存やデータ変換などの機能が追加されています。

スクリプトは別スレッドで並行して実行されますので、複数のセンサーで同時にイベントが発生した場合でもイベントハンドラスクリプトが同時に実行されることで、高いレスポンス性能を実現しています。


(4-7) DeviceServer のログインやセッションて何?

DeviceServer にユーザーアカウントをいくつでも登録することができます。ユーザーアカウント作成時に、管理者や一般ユーザーを区別して実行可能な動作を制限させることができます。これによって、デバイス設定変更などの操作が可能なユーザーを区別することができます。

簡単に運用する場合には、1つの管理者ユーザーだけで全ての操作や運用を行なうこともできます。

携帯メールやインターネット、イントラネットなど外部から DeviceServer にアクセスする場合にはユーザーアカウントで設定したユーザー名とパスワードでログイン認証を行なった後に、アクセス可能になります。

ログイン認証に成功するとその時点でユニークなセッション情報が作成されて、このセッション情報を外部からのアクセス時に指定することでセキュリティを確保しています。


(4-8) セキュリティはどのようになっているの?

DeviceServer のクライアントとサーバー間の通信や、DeviceServer を複数連携する場合のサーバー間の通信は、暗号化されています。これによって、外部からのセンサーネットワークへの干渉や盗聴の危険性を低下させています。

また、インターネットやイントラネットに公開する WebAPI やメールからアクセスする場合には、DeviceServer で予め設定したセッションや、ログイン操作を行なって作成したセッションを指定しない限り、動作しない様になっています。

セッション自身には有効期間が設定されていて、一定時間以上使われていないセッションは自動的にサーバー側で削除されて無効になるため、セッション情報が不正に使われることを防止しています。


(4-9) 複数 サーバーを設置して連携して運用できる?

複数の DeviceServer 間の連携がスクリプトを使用して簡単に実現できます。これらを応用して、Web API を公開するときの負荷分散にも対応できます。

多くのセンサーデバイスを同時に監視したり、XBee を使用したワイヤレスネットワークなど、広い範囲に設置されたセンサーデバイスのコントロールが必要な場合に DeviceServer を複数設置して、互いのセンサーデータの共有や、サーバー間のスクリプト実行を行なうことができます。



(4-10) XBee デバイスの監視やコントロールできるの?

リモートに設置された複数の XBee デバイスのコントロールや設定変更をするための機能があります。
XBee は 802.15.4 Series1 と ZigBee 対応 Series2 の両方のデバイスを使用することができます。Series1 対応のサービスモジュール"ZBEE" と Series2 対応のサービスモジュール "ZB" を同時に使用することもできます。

DeviceServer クライアントプログラムの GUI から、任意のリモート XBee デバイスのコンフィギュレーション変更やポート操作、PWM 操作等が可能です。また、スクリプトからも任意のリモート XBee デバイスを操作できますので、マルチポイント間のデータ収集やリモート I/O 操作を行なう様な、センサーネットワークを簡単に実現できます。

XBee 単体で使用することもできますが、TDCP モニタプログラム(オールブルーシステムからファームウエアを無償で提供しています)が動作する CPU ボードと組み合わせることで、操作可能な I/O ポート数や A/D チャンネルを増やすことができます。

また TDCP を搭載した CPU ボードに、GPS レシーバーや LCD 表示器、ブザーやランプ等のアラーム機器を接続して、簡単なコマンド文字列をスクリプトから送信することで自由に制御ができる様になります。


(4-11) どれぐらい早くデータを処理できるの、スクリプトって遅くない?

Lua は他のスクリプト言語に比べてスクリプトエンジンの実行速度が非常に早いので、実行速度が問題になることはほぼありません。DeviceServer はこれに加えて、スクリプトエンジン自身の起動時間を短縮するために、スクリプトエンジンのインスタンスキャッシュ機能を持つことで、イベントハンドラなど高速なレスポンスが要求される場合でも、問題なく処理可能な性能を持っています。

DeviceServer のイベントハンドラスクリプトでは、大体 数ミリ秒から 数十ミリ秒程度の間隔で発生するイベントを連続して処理できます。スクリプト中でデータベースへの書き込みやファイル操作など、時間がかかる処理を行なっている場合にはもうすこし間隔が大きくなります。

スクリプト実行は Windows 上では別スレッドで並行して実行されますので、1つのスクリプト実行に時間がかかった場合でも他のイベントハンドラの実行に影響を与えません。


(4-12) XBee と TDCP って何?

XBee デバイス (XBee 802.15.4 RF Module)や ZigBee 対応 XBee-ZB は Digi Inc.製の 無線モジュールで、単体で I/O ポートや A/D 変換、PWM 出力機能を持っています。DeviceServer からは、リモートにある複数の XBee デバイスのこれらの機能全てをコントロールすることができます。

DeviceServer のXBee 設定用のクライアントプログラムから、リモートの XBee デバイスの探索や登録、コンフィギュレーションの変更などの作業を、全て手元 の PC から行なえますので簡単にリモートセンサーネットワークを構築できます。

XBee を CPU ボードに接続して作成したリモートデバイスに GPSレシーバー を接続したり、I/O ポートと A/D ポートを増設することができます。この CPU ボードで動作するファームウエア(TDCP) はオールブルーシステムから無償で提供しています。


(4-13) Arduino を使いたいんだけど?

Arduino の標準ライブラリで提供されている "Firmata" プロトコルによる通信機能をもっています。もちろん文字列形式で Arduino とDeviceServer 間のデータの受け渡しを行うこともできます。

FIRMATA ライブラリで使用される、7ビット幅の複数バイトで表現されるバイナリエンコード形式のデータ列を処理するためのライブラリ関数やFIRMATA 文字列エンコード・デコード用の専用ライブラリ関数も用意されています。これらのライブラリを使用することで、デフォルトの FIRMATA プロトコルで定義されたコマンドはもちろんの事、新たにコマンドが追加・拡張された場合でも直ぐに利用することができます。

また、Arduino 以外の測定器やアクイジション装置、GPSやシリアルコントロールの I/O 装置などを複数同時に使用することができます。文字列やバイナリパケットデータを受信した時に、イベント駆動形式で処理を記述できますので、システムの処理スクリプトを単純化できます。また、読み込み処理を順次行う様な処理方法でスクリプトを記述することもできます。


(4-14) 他のシステムや Web Service から操作できる?

DeviceServer は他のシステムと連携させるために、Web API 経由でコントロールする機能があります。HTTP プロトコルで XML、JSON、JSONP 形式でデータのやり取りが可能ですので、java や PHP, javascript などからDeviceServer にアクセスして、スクリプトの制御やデータ取得ができます。

また、DeviceServer のスクリプト中から UDPパケットや TCP ストリームデータの送信ができますので、イベントデータなどを他のプログラムにリアルタイムに通知することも可能です。ネットワーク機能を持ったデバイスから TCPストリームデータを送信して、DeviceServer のイベントハンドラを実行したり、任意のスクリプトを実行することもできます。このとき、デバイスからは任意のパラメータを送信して、DeviceServer 側で処理した後でリターンパラメータを受信して連携動作をさせることもできます。

Lua の "io" 標準ライブラリを使用することで、ファイルにデータを出力したり、他のシステムで出力されたデータファイルを読み込んで DeviceServer のセンサーネットワークで利用することもできます。

連携する他のシステムが Windows 上で動作する場合には、DeviceServer を操作するための API が定義された DLL ファイルが利用できます。 DLL ファイルはインストールキットに同梱されています。この DLL ファイルを使用することで、エクセルなどから VBA でスクリプトの起動やセンサーデータの集計、グラフ作成なども簡単にできます。


(4-15) バッチジョブを実行できる?

DeviceServer は定期的に I/O 操作を行なったり、センサー値の取得、集計操作をする場合などに必要な、バッチジョブを設定することができます。

いつかの方法で設定することができますが、簡単なのは DeviceServer に組み込まれた 1 分毎に起動する "PERIODIC_TIMER " スクリプトにジョブを記述する方法です。

スクリプト内で時間を取得してある時間帯の場合だけ実行したり、共有データを使用して数分毎や1回のみの実行などが実現できます。

スクリプト中から別スクリプトを起動するときに、スレッドを分けて並列実行させることも出来ますので、デーモンプロセスの様な連続して実行し続けるスクリプトも記述可能です。

複数のJOBタスクを別スレッドで実行するように構成することもできます。また各々のタスクの終了をイベントフラグを使用して待ち合わせを行って、JOBタスクの並列処理とシーケンシャル処理を組み合わせた処理を実行させることもできます。

OS のクロックに対して秒単位の正確さで繰り返し実行する場合や、日時や曜日を指定してジョブを定期的に起動したい場合には、Windows のタスク機能を利用して実現できます。Windows の "schtasks" コマンドで DeviceServer のスクリプト起動をスケジュールすることができますので、定期的なバッチジョブも簡単に管理できます。