メールの宛先はくこちらになります。
■Raspberry Pi や Intel x86 のシングルボードコンピュータ(Debian GNU/Linux系OS) 上で動作するゲートウエイソフトウエア abs_agent をリリースしました(2016/8/13)

abs_agent はゲートウェイやセンサーノードを作成するためのサーバーシステムです。センサーデバイスや I/O 装置をコントロールするシステムを簡単に構築するための動作・開発環境を提供します。クラウドへデータを定期的に送信するような大規模なデータを扱うシステムや、LAN または組み込み環境等の処理スピードが要求されるセンサーネットワークシステムも、テキストエディタでスクリプトを作成するだけで簡単に構築することができます。

abs_agent は市販の Linux シングルボードコンピュータ(Raspberry Pi 等) や PC/AT 互換機上に簡単にインストールすることが出来ます。


(写真の Raspberry Pi 本体は商品には含まれません))

abs_agent の主な特徴:

* Linux 上のデーモンプロセスとしてサーバーが動作して、定期的なセンサーデータ取得や他のシステムとの通信、I/O 操作などを自動で行います。
* システムの動作は、Lua スクリプトでコントロールすることができます。テキストエディタを使用するだけで複雑なシステムを簡単に構築できます。
* コンピュータに接続されたシリアルポートに簡単にアクセスできます。スクリプト中から文字列形式や FIRMATA プロトコルを簡単に扱うことができます。
* MQTT ブローカとの接続機能を使用することができます。
* abs_agent で発生するイベントやユーザースクリプトから詳細なログ情報を出力できます。
* マイクロソフトのエクセル VBA や Win32 アプリケーションからリモートの abs_agent をコントロールできます。
* Raspberry Pi 用にビルドされた abs_agentでは、ハードウエア機能(GPIO,SPI,I2C)に直接アクセスできます。
* 複数の abs_agent がインストールされたコンピュータ間でのデータ共有やリモートスクリプト実行
ができます。

abs_agent のダウンロードやライセンス、機能についての詳しい説明はこちらのページをご覧ください。インストールキットには、個人目的であればフリーで使用可能なフリー版ライセンスも同梱されていますのでぜひ気軽にお試し下さい。abs_agent のインストールや使用方法についてご質問や不明点がありましたら遠慮なくメールでご連絡ください。お待ちしております。


■MQTT ブローカから指定したトピックのメッセージを受信したり、任意の文字列やバイナリデータを送信するための MQTTクライアント機能をDeviceServerに追加しました(2015/5/23)

センサーデータやコントロールデータ配信用に利用されている MQTT ブローカとの接続機能を DeviceServer に追加しました。インターネットや LAN上に設置された MQTT ブローカに、DeviceServer から任意のトピック購読リクエストを発行して、ブローカから受信したセンサーデータなどをスクリプトで簡単に扱うことができるようになりました。また、MQTT ブローカに対して JSON 形式や任意の文字列、バイナリデータをスクリプト中から簡単に送信することができます。

今回追加した MQTTブローカ接続機能では以下の事ができます。

* MQTT v3.1 (v3.1.1) に準拠したプロトコルをインプリメントしています。全ての QoS(0,1,2) を利用可能でトピックやメッセージ中の日本語使用も完全にサポートしています。
* MQTT ブローカとのソケット接続を DeviceServer ではエンドポイントとして管理します。エンドポイントはサーバー設定プログラムの GUI を使用して簡単に作成できます。スタンダードライセンスでは最大2つ、エンハンスライセンスでは制限無しに好きなだけ作成できます。
* エンドポイントを複数作成して、同時に多数の MQTT ブローカへ接続することもできます。通信経路に冗長性を持たせるために、同一の MQTT ブローカへ複数のエンドポイントを使用して接続するような構成にすることもできます。
* DeviceServer のエンドポイントは MQTT ブローカに常に接続した状態を維持・管理しています。これによって、メッセージの送・受信時のスループットを向上させています。特に、センサーネットワークに特有な、小さいサイズで大量のメッセージを短い時間で送受信するようなアプリケーション用に適しています。
* MQTT ブローカとの通信でエラーを検出すると、自動で再接続を行う機能が組み込まれています。接続エラー発生時にユーザー側でアラーム装置に通知したり、メール通知を行う様にカストマイズすることも簡単に実現できます。
* DeviceServer 内部では、エンドポイント毎に独立して受信キューとイベントハンドラ処理を行いますので、マルチコアのCPU で動作させることで簡単に処理能力を向上できます。
* MQTT ブローカからメッセージを受信する毎に、イベントハンドラスクリプトが実行されますので、スクリプトをテキストエディタでカストマイズして簡単にデータ処理機能をインプリメントすることができます。
* MQTT ブローカへの送信も、Lua スクリプト中からライブラリ関数をコールするだけで実現できます。

以下は MQTT ブローカとの接続を管理している、サーバー設定プログラムのエンドポイントリスト管理画面です。



GUI を使用して簡単に MQTT ブローカとの接続設定を管理できます。ここで設定したエンドポイントは、サーバー起動時に自動的に MQTT ブローカに接続されて、DevivceServer のスクリプトから常に使用可能になります。

MQTT ブローカとの接続維持・管理は DeviceServer 側で自動で行われます。ブローカへの定期的な PINGREQ メッセージ送信や、ネットワークエラー発生時の再接続動作などもユーザー側で行う必要はありません。再接続時にアラームメール送信を行うようにスクリプトを組み込むことも簡単にできます。

各エンドポイントの詳細設定を行う画面は以下になります。



MQTT ブローカへの接続時パラメータをここで設定します。MQTTプロトコルでサポートされる Will(遺言)メッセージもここで設定できます。また、エンドポイントの接続が開始されたときに、自動で購読対象としたいトピックをここで指定しておくこともできます。後からライブラリ関数を使用して購読トピックを追加したり、購読中のトピックを削除することもできます。

MQTT ブローカからトピックメッセージを受信すると DeviceServer のイベントハンドラスクリプトが実行されますので、これをカストマイズして簡単にメッセージの処理を記述することができます。

エンドポイントはトピック購読のほかに MQTT ブローカにメッセージを送信するときにも使用します。送信と受信で同じエンドポイントを使用することもできますし、システムの役割ごとに別々のエンドポイントに分けて運用することもできます。

また、各エンドポイントには任意のタイトル文字列を設定することができます。タイトル文字列は、MQTT プロトコルの仕様で決められた接続毎にユニークな ClientID と同等に扱うことができます。DeviceServer で MQTT ブローカからメッセージを受信する時や送信する場合に、ClientID の代わりにここで設定したタイトル文字列を使用できます。このようにタイトル文字列を使用することで、スクリプトの可読性や再利用性を高めることができます。また、運用時にMQTT ブローカ接続先を変更するときにも、スクリプトやイベントハンドラ側を一切変更する必要がありません。

以下のスクリプトは上記で定義したエンドポイント(MQTT ブローカ) に対してメッセージを送信する例になります。




mqtt_publish() ライブラリ関数を使用して "/sensor/<DeviceName>/<データ種別>" のフォーマットで表現したトピックに、現在のセンサ値を送信しています。上記のスクリプトは、リモート(XBee)から受信したセンサデータを、DeviceServer 内部の統計データベースやクラウド(Xivery) に送信する機能を作成したものですが、ここに MQTT ブローカへの送信機能を追加するために、ライブラリ関数をコール部分を追加するだけで簡単に実現できているのが判ると思います。

今後、今回追加した MQTT機能を使用したセンサーネットワーク応用例なども Blog で紹介していきたいと思います。

DeviceServer の最新の機能詳細については ユーザーマニュアルを公開していますので是非ご覧ください。

MQTT 接続機能を追加した最新バージョンは、ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに使用することができます。デモライセンスが添付されていますので直ちに使用可能です。既存の DeviceServerライセンスをお持ちの方も、最新のインストールキットでアップデートすることで使用可能になります!


デモライセンスをご使用中の方も、良くわからない点や要望などがありましたら遠慮なくメールでご連絡ください。お待ちしております。

■JSON形式で表現されたセンサーデータなどを保存可能な、時系列文字列データベース機能をDeviceServerに追加しました(2015/1/25)

DeviceServer に JSON形式の文字列や任意フォーマットの文字列データを、タイムスタンプ付きで保存するための機能を追加しました。複数のセンサーデータ値などを JSON フォーマットのまま効率良く DeviceServer に格納することができます。

時系列文字列データベースは、最大 1000 文字長までの任意の文字列をミリ秒までの精度をもつタイムスタンプ付きレコードで DeviceServer 内部のデータベースに保存します。データを格納するときに任意のキー文字列を指定できますので、後からキーを指定して目的のデータを検索して簡単にとりだすことができます。

今回追加した機能は以下になります。

* DeviceServer で管理している時系列文字列データベースに任意のキーを指定してデータを保存するための API を追加
* 時系列文字列データベースから、キーと日付時刻やソート順などを指定して取り出すための API 追加
* 古いデータや任意のキーを指定してデータを削除するための API 追加

詳しくは、下記のダウンロードページからユーザーマニュアルをご覧下さい。

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)

** 既存のバージョンからアップデートするときの注意 **
既に ABS-9000 DeviceServer を使用中の方も、最新のインストールキットを使用することで時系列文字列データベース機能を使用することができます。この場合には最新のデータベースファイル "COUNTER.IB" のテーブル定義が以前のバージョンのものと異なっていますので、手動でデータベースに更新(テーブル定義) を行う必要があります。この場合には、詳しい手順などを説明致しますので contact@allbluesystem.com までご連絡下さい。既存の DeviceServer で保存している permanent データと統計データベースを破棄しても構わない場合には、古いバージョンの DeviceServer をアンインストールした後に "Program Files\AllBlueSystem"フォルダにある "COUNTER.IB" を "BCK_COUNTER.IB" 等にリネームした後、最新のインストールキットでアップデートするだけで使用できます。

■分散ネットワークシステムや IoT ゲートウェイに利用できるリモートデータアクセス機能を DeviceServerに追加しました(2014/12/27)

複数のサーバーPC を設置して、各々のサーバーにセンサーデバイスを接続することで大量のセンサーを管理するような分散システムを構築するときに利用できる、リモートアクセス API 機能を DeviceServer に追加しました。

いままでの DeviceServe でも、任意のスクリプトやイベントハンドラをリモート側から起動できましたが、今回の機能によって、キー・バリューデータ領域やパーマネント(データベース)領域を直接 API 通してスクリプトやイベントハンドラから参照したり更新できるようになりました。

今回追加した機能は以下になります。

* DeviceServer で管理している共有メモリ領域(キー・バリューデータ領域&文字列リスト)をリモートから直接参照したり更新する API を追加
* 共有メモリ領域と同様に、電源を切った場合やサーバーを再起動しても保存されるデータベース領域の値をリモートから直接参照したり更新する API を追加
* リモートからのアクセスを予め許可済みのサーバーのみに限定する機能
* サーバー間の通信を暗号化してセキュアでかつ高速なネットワークアクセスを実現
* スクリプト中からのリモートアクセスやローカルアクセスは、 APIを経由したシームレスな利用環境を実現

運用時のイメージは以下の図になります。この図では3台のサーバーPC 間でデータを共有しています。



サーバー間のネットワーク障害が発生する場合に備えて、エラー検出機能や、現在接続エラーが発生しているサーバーリスト "Lost Connection" を管理することができます。この機能によって、無駄な接続を試みることによって発生する、大量のエラー検出やそれによる全体の処理性能低下を防ぐことができます。もちろん一定期間が過ぎたら "Lost Connection" リストをクリアして自動的に再接続を試みるようなシステムを構築することも出来ます。

リモートアクセスする API をコールするときに、リモート側の PC のホスト名や IP アドレスのデフォルト値をシステム設定アプリで一括して登録することができます。これによってアプリケーション側で作成するスクリプト中のリモートホストを一括管理することもできます。もちろん、API コール時のパラメータに任意のリモートホストを指定することもできます。

リモートアクセス機能を利用すると、IoT (Internet of Things)システムを構築するときに、ゲートウェイサーバー側に分散処理機能を持たせることができるようになります。分散処理を行うことで大量のセンサーノードを効率よく管理することができます。センサー側に近いゲートウェイサーバーにデータの共有や、処理ロジックを配置することができますので、上位側サーバー(クラウドなど)のデータ量や処理負荷を低減することができます。

また、上位側サーバー(クラウド)からゲートウェイサーバーにアクセスするときも、複数のサーバーに分散配置されたセンサーノードを個々に認識(管理)しなくても、共有されたデータをアクセスできますので処理が簡単になります。センサーノードを入れ替えた場合や、個々のゲートウェイサーバーが故障した場合にも運用継続性を高くすることが可能です。

機能の詳細についてはユーザーマニュアルを公開していますので是非ご覧ください。

上記の、新しい機能を搭載した最新の ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)

ABS-9000 DeviceServer に 東京コスモス電機製の TWE-Lite ワイヤレスデバイス接続機能を追加しました (2014/11/19)

東京コスモス電機様より提供されている TWE-Lite ワイヤレスデバイスを DeviceServer に接続する機能を追加しました。

TWE-Lite デバイスに搭載されているデフォルトファームウエア、TOCOSワイヤレスエンジンを使用した独自のファームウエアで動作する TWE-Lite デバイスを簡単に DeviceServer から操作することができます。この機能を利用すると以下のようなことが行えます。

* リモートに設置した全ての子機のデジタル出力やPWMをスクリプトや Web API から簡単に操作できます。
* 子機から送信されたイベントデータを DeviceServer 側のイベントハンドラで処理して、最新の子機のデジタル入力値や A/D 変換値、その他のパラメータ値をスクリプトやイベントハンドラから簡単に利用できます。
* TWE-Lite のファームエアでサポートされているリクエスト->リプライタイプのコマンドパケットを DeviceServer のスクリプトから簡単に操作できます。これを利用して子機に接続した I2C センサーデバイスからデータを取得したり、リモートの I2C デバイスを制御できます。
* TWE ワイヤレスデバイスに独自のファームエアを搭載した場合でも、DeviceServerのイベントハンドラが TWE-Zero アプリで使用しているアスキー形式のデータパケットを解析できます。これによって手間を掛けずに新しいのファームウエアの機能を DeviceServer から利用できます。
* 複数の親機を同時に DeviceServer のシリアルデバイスに登録して、複数の PAN(Application ID) に所属する多数の子機を同時に制御することができます。
* 子機の I/O (デジタル入力、デジタル出力、PWM, I2C , A/D) の操作や子機のリストを取得したりするためのスクリプトが、DeviceServer のインストールキットに同梱されています。これを利用して直ぐにワイヤレスネットワークシステムを構築できます。スクリプトファイルは簡単にエディタでコピーや修正が可能ですので、機能を拡張するのも簡単です。
* スマートフォンやタブレット、PC 等からリモート側の子機を操作するための Web アプリがインストールキットに同梱されています。Webアプリのソースも提供されていますので、簡単に独自の Web アプリやサービスに拡張できます。

以下に TWE-Lite 接続機能の一部を紹介します。

シリアルデバイス管理画面では新しく作成した "TWE" デバイスタイプを使用して、TWE-Lite デバイスの親機を登録できます。ここで登録した親機を通して子機側の制御を行います。複数の親機を登録することもできます。


(シリアルデバイスのデバイス登録・修正画面)

インストールキットに同梱されている Web アプリを起動して、スマートフォンから簡単に子機の I/O を操作することができます。


(iPod touch から子機の PWM を操作している様子)

Web アプリは、Web ブラウザから http://hostname:port/web_api_sample/twe_control/index.html にアクセスすると起動できます。Webアプリの詳しい機能や詳細については下記のブログ記事で紹介していますのでご覧ください。ソースファイル(WebAPI で実行する Luaスクリプト、JavaScript、HTML ファイルなど)もインストールキット中に含まれていますので、ご自分のWebアプリケーションを作成するときの雛形としても活用してください。

TWE-Lite デバイスを Web API や Web アプリから利用するブログ記事

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)

■DeviceServer を手軽(安価)に導入可能な月間ライセンス製品のご案内(2014/8/27)

ABS-9000 DeviceServer を手軽に導入していただけるように、安価(\500円/月から!) なライセンス製品の提供を開始しました。いままでは無期限のライセンス製品のみでしたが、月間ライセンスでは月毎のライセンスをお手軽な価格で導入していただくことが可能になります。

月間ライセンス価格(1月あたりの価格 税込み)

スタンダード月間ライセンス \500-
エンハンス月間ライセンス \3,000-

最初に1月分のライセンスで始めて、後から月単位でライセンス期間を延長することもできます。試験的な運用を行いたい場合やイベントなどで予め運用期間が限定されている場合などに、非常にコストを抑えて DeviceServer を利用していただくことができます。もちろん、月間ライセンスの場合にも、通常の無期限ライセンスと同様にメールにてフルサポートしますので安心してください!

クレジットカードなどは不要で、予め期限付きのライセンスを購入していただく形ですので、勝手にライセンスコストが増加する心配もありません。

月間ライセンスついては、こちらの "ライセンス購入" ページに詳しく説明しています。ぜひご覧ください。

■DeviceServer インストールキットにグラフ表示用の Webアプリを同梱しました(2014/8/12)

DeviceServer の最新のインストールキットに、センサーデータ等をグラフ表示するための Web アプリケーションを同梱しました。下記はリモートから送信されたセンサデータ(XBee 経由で送信された CDS センサの値) をグラフ表示した様子です。



センサデータを DeviceServer 内蔵の統計データベースに登録しておくだけで、簡単にグラフ表示できます。

データ登録時に指定した任意のキー名と集計範囲のパラメータを指定するだけで、自動的にスケール調整されたグラフ表示が表示されます。Webアプリの集計パラメータ設定画面では、"1時間", "1日" や"1月" などの集計期間の指定や、プロット間隔、グラフタイプを指定することができます。また、プロット値に使用する計算も平均値や合計値から選択できます。



グラフタイプは棒グラフや折れ線を選択することができます。

集計間隔を短くして細かいデータの動きを広い範囲で確認することもできます。このとき、込み入ったグラフの詳細部分をマウスでズームして拡大表示することもできます。



この Webアプリは、最新の ABS-9000 DeviceServer インストールキットに同梱されていますので直ぐに使用できます。インストールキットには DeviceServer のデモライセンスが添付されていますので DeviceServer の機能を全て使用できます。既存の DeviceServer をご使用中の方は、上記のインストールキットでアップデートすると、同様に Web アプリのファイルが追加されて使用できるようになります。

使い方は簡単で、DeviceServer のスクリプト(Lua) 中から、センサーデータを API 関数 add_stat_data() を使用して統計データベースに登録するだけです。このWeb アプリは統計データベース中に格納されているあらゆるデータを簡単にグラフ表示できます。ぜひお試しください。

Web アプリは、Web ブラウザから http://hostname:port/web_api_sample/summary/chart/index.html にアクセスすると起動できます。Webアプリの詳しい機能や詳細については下記のブログ記事で紹介していますのでご覧ください。ソースファイル(WebAPI で実行する Luaスクリプト、JavaScript、HTML ファイルなど)もインストールキット中に含まれていますので、ご自分のWebアプリケーションを作成するときの雛形としても活用してください。

グラフ表示Webアプリのブログ記事


■XBee-ZB(Series2)とマイクロプロセッサ(ATmega328P)の組み合わせで動作する、リモートセンサーノード作成用プログラムとリモートノード専用CPU ボードをリリースしました(2014/3/23)

XBee-ZB(Series2) を使用したリモートセンサーノードやディスプレイ装置、I/O コントロール装置を作成するときに利用できるモニタプログラム(TDCPZB for ATmega328)の提供を開始しました。

以下が TDCPZB for ATmega328 の機能です。

* リモートから指定した値を I/O ポートに出力
* I/O ポート入力値をリモートで取得
* A/D 変換値をリモートで取得
* I/O ポート入力変化時にイベントデータをリモートに送信
* 予め設定した間隔で、定期的に I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)等をリモートに送信
* TDCPZB 設定値をマイクロプロセッサ内の EEPROM に保存、リセット時に自動的に設定値をロード
* TDCPZB 設定値変更、EEPROM への保存、プロセッサリセット等の作業を、リモートから全て操作可能
* I2C マスターとして、I2C スレーブデバイスをリモートからコントロール
* I2C スレーブデバイスとして、I2C デバイス側からの要求によって、XBee-ZB 経由でのパケット通信や、共有データのやりとり。
* SPI マスターとして、SPI スレーブデバイスをリモートからコントロール
* 3.3V(8MHz), 5V(16MHz) の両方の電源電圧と動作クロックをサポート

このプログラムを動作させる為の専用の CPU ボード(下記写真)も用意しました。CPU ボードでは DIO,A/D, I2C,SPI ラインが20ピンの拡張ポートで引き出されていますので、ブレッドボードと組み合わせた試作や実験が簡単にできます。



(リビングルームなどに設置してもお洒落な LED マトリックスを使ったアラーム表示装置を試作した様子。プログラムは 5V-16MHz または 3.3V-8MHz のどちらでも動作できますので、リモート側の I/O やセンサデバイスの選択肢が広がります)

CPU ボードについては、CPUボード紹介ページで回路図や組み立て方を紹介していますのでぜひご覧ください。

TDCPZB for ATmega328 プログラムはArduino 互換 CPU ボードでも動作出来るように設計していますので、市販の Arduino FIO 等を使用すると簡単にリモートセンサーノードを作成できます。



(Arduino FIO にI2C 温度センサと照度センサ, I2C 版のLCD 表示器を接続してリモートセンサーノードを試作した様子。タクトスイッチの代わりにリードセンサをつなげて侵入監視にも使えます。サーバー中のスクリプトや Web API 経由で簡単に計測値の取得やLCD 表示内容を変更できます)

ファームウエアと詳細なマニュアルを公開していますので、直ぐにでもお使いいただけます。
ABS-9000 DeviceServer のライセンスをお持ちでない方も、個人目的(商用・業務利用を除く)であれば自由にTDCP for ATmega328P ファームウエアを使用していただくことができます。

TDCP for ATmega328 ユーザーマニュアル ダウンロード

ファームウエアダウンロードリンク

CPU ボード基板、基板とファームウエア書き込み済みの CPU をセットにした製品も提供しています。(購入ページリンク)
CPU ボードの詳しい内容は、こちらの CPUボード紹介ページ をご覧ください。


■XBee-ZB ZigBeeネットワーク構築例の動画を作成しました (2014/1/3)

ABS-9000 DeviceServer の XBee-ZB ZigBee 対応モジュールの機能を使った例を作成しました。

エンドデバイスに簡単なスイッチと LED を接続して、リモートから送信された I/O イベントフレームを受信します。エンドデバイスの登録から XBee-ZB 詳細パラメータの設定などの手順を説明します。最後に、スイッチを押す毎にエンドデバイスの LED を ON->OFF に繰り返すようにスクリプトを設定します。

こちらの Blog 記事をご覧ください。

■ABS-9000 DeviceServer に XBee-ZB ZigBee対応 Series2 デバイス機能を追加しました (2013/12/23)

XBee-ZB デバイス用に新たに "ZB" サービスモジュールを追加しました。

この "ZB" サービスモジュールでは以下の機能を提供します。

* PAN 内にある全ての XBee-ZB デバイスを GUI アプリケーションで簡単に管理できます
* XBee-ZB デバイスをマスター管理して、スクリプトやイベントハンドラ、GUI アプリなどからXBee デバイスを指定するときに、64bit アドレスや 16ビットネットワークアドレス、Node Identifier 文字列を使用してデバイスを指定することができます。
* ネットワークアドレスを内部でキャッシュとして管理しています。これによってリモートデバイスにアクセスするときのレスポンス・スピードを向上させています。
* XBee-ZB デバイスから送信された各種イベントデータを処理するときには、テキストエディタだけで簡単にイベントハンドラスクリプト(Lua)を記述できます。
* PAN 内の全ての XBee-ZB デバイスの DIO や各種パラメータをスクリプトから簡単に操作できます。
* 任意の AT コマンドとパラメータをスクリプトやイベントハンドラ、GUI アプリケーションから XBee-ZB デバイスに送信できます。
* リモートデバイス間で通信エラーが発生すると自動でリトライ動作を行いますので、通信環境が悪い場合でも確実にリモートデバイスを操作できるようにしています。エラー制御用のリトライパラメータは、DeviceServer の設定で自由に変更することができます。
* DeviceServer の通常ライセンスで、XBee-ZB Series2 と XBee 802.15.4 Series1 両タイプのデバイスを同時に扱うことができます。

以下に XBee-ZB デバイス機能の一部を紹介します。

デバイス管理アプリケーション(ZBConfig) は 同一PAN 内の全ての XBee-ZB デバイスをマスターで管理していて、PAN 内のデバイス一覧を簡単に確認することができます。個々のXBee-ZB デバイスを選択して、リモート操作で詳細パラメータを確認・変更したり、任意の AT コマンドの実行、任意のデータを XBee-ZBデバイスに送信できます。


(XBee-ZB デバイス管理アプリケーションのメイン画面)

*デバイスの詳細設定機能

リモートにある XBee-ZB デバイスの詳細パラメータの確認や変更も簡単に GUI から行えます。
ZigBee デバイスタイプ ("coordinator", "router", "end device" )に対応した、適切な設定画面が表示されます。


(XBee-ZB デバイス管理アプリ中のデバイス詳細設定画面1)

詳細設定画面は、XBee-ZB デバイスの機能毎にタブでグループ分けしています。設定項目は、16進数入力・スピンエディット・ラジオボタン選択など、入力し易い最適なインターフェイスで提供しています。


(XBee-ZB デバイス管理アプリ中のデバイス詳細設定画面2)

リモート XBee-ZB デバイスに対してマニュアルサンプリングを実行するときのスクリプトファイル(Lua) と実行時のログは下記のようになります。


(リモートXBee-ZB デバイスに対してマニュアルサンプリングを実行するスクリプト例)


(上記のスクリプトを実行したときのログ出力例)

このほかにも、スクリプトからは任意の AT コマンド実行やデータ送信、マスタ中の全XBee-ZB デバイスリスト取得などのライブラリ関数を利用できます。使用可能なライブラリ関数は、下記のユーザーマニュアルで説明していますので是非ご覧ください。

既存の DeviceServerスタンダードライセンスをお持ちの方は、最新のインストールキットでアップデートすることで使用可能になります!

CQ 出版社 Interface誌 特集記事中で紹介したダウンロードサイトからトライアルライセンスキットをダウンロードして ABS-9000 DeviceServer をご利用中の方は、このサイトからダウンロードした最新のインストールキットを使用してアップデートできます。Series2 対応の XBee-ZB 機能をトライアル版ライセンスで引き続き使用できます。

このバージョンから正式に動作環境として Windows7 64bit版への対応を行いました。以前のバージョンでも動作していましたが、マニュアル類に Windows7 環境に対応した記述を加えてあります。

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。
製品に添付している "セットアップガイド" や "ユーザーマニュアル" も全てダウンロードできますので、機能の詳細を確認できます。

手元に XBee-ZB Series2 デバイスがあっても対応プログラムを作る時間がない方や、リモート XBee の LED を光らすだけでその後のネットワークを組む作業に躊躇されていた方にも、簡単にセンサネットワークを構築できるような機能を提供しています。ダウンロードキットには デモライセンスが添付されていますので直ちに使用可能です!

今後 Blog でも XBee-ZB デバイスを利用したシステムの構築例などを順次紹介していきたいと思います。

デモライセンスをご使用中の方も、良くわからない点や要望などがありましたら遠慮なくメールでご連絡ください。お待ちしております。


■ABS-9000 DeviceServer に 共有変数監視機能を追加しました (2013/6/30)

DeviceServerでは複数のセンサー機器を統合監視するようなシステムを作成する時には、グローバル共有変数を使用することができます。
このとき、共有変数リスト "$GLOBAL_WATCH" に監視対象のグローバル共有変数名を登録しておくだけで、グローバル共有変数に対して何らかの修正操作(更新、削除、新規作成)が行われたときに、"GLOBAL_WATCH" イベントハンドラが実行されるようになりました。

この機能を利用すると、ポーリング操作が必要だった処理部分をイベントハンドラスクリプトを利用した処理方式にできます。この方法をとることでシステム全体がシンプルな構成になり、設計やメンテナンスを簡単にすることができます。

詳しくは、下記のダウンロードページからユーザーマニュアルをご覧下さい。

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)

■ABS-9000 DeviceServer に セッション毎の共有変数アクセス機能を追加しました (2013/3/9)

LAN やインターネット、クラウドに設置したアプリケーションサーバーからセンサーネットワークに接続したデバイスをアクセスするための Web API 機能が DeviceServer に用意されています。この Web API 機能にログインセッション毎に独立したセッション共有変数アクセス機能を追加しました。

セッション共有変数アクセス機能を使うと、Web API 経由で DeviceServer にアクセスしたときにログインユーザーセッション毎の動作パラメータをサーバー側で管理することが可能になります。ABS-9000 DeviceServer に内蔵している "WEBPROXY サービスモジュール" には下記の機能があります

* HTTP サーバー機能
* Web API 経由のログイン、ログアウト機能
* Web API 経由のセッション共有変数、グローバル共有変数、パーマネントデータ(データベース)アクセス機能
* Web API から任意の Lua スクリプトを実行
* Web API からDeviceServer 側のログサーバーにログメッセージを送信

これらの機能を使用すると、スマートフォンからセンサーネットワークに接続した Arduino デバイスをリアルタイムに操作する様なアプリを作成することができます。



スマートフォン(ipod touch) で実行している Web アプリの Web API 経由でログイン認証を行う画面です。



スマートフォン(ipod touch) で実行している Web アプリから Web API 経由でArduino デバイスの I/O ポートを操作する画面です。

この Web アプリでは DeviceServer に接続している Arduino デバイスをリモートのスマートフォンから操作しています。DIO のボタンを操作することで、リアルタイムに Arduino デバイスの I/O ポートの値を変更できます。また Arduino の I/O を入力モードにした場合に  I/O ポートの値が変化したときに、GUI 画面のチェック状態を自動的に最新の状態に更新することもできます。オープンソースライブラリ node.js, socket.ioの Web Socket 機能をDeviceServer と協調して動作させることが可能です。このように DeviceServer を使用することでユーザー認証や、デバイスアクセス機能、イベント情報を配信してリアルタイムに画面を更新する機能などを簡単に実現することができます。

DeviceServer のセンサーネットワークで管理している全てのデバイスは、間単に Web アプリケーションとしてユーザーが作成したGUI から操作することができます。スマートフォンやタブレット端末毎の専用開発環境の準備やアプリの登録審査などは一切不要で、手軽にユーザーが作成することができます。シリアルポートで接続した計測器やI/O 装置、Arduino デバイス、データベースにデータを格納するアクイジション装置などを操作する Web アプリを作成して、外出先からでもスマートフォンやタブレットで簡単に操作できるようになります。

Web アプリ作成例は Blog でも公開していますので是非ご覧ください。

---


ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)


■ABS-9000 DeviceServer をアップデートしました(2012/11/30)

(1) シリアルデバイス機能で COM ポートに任意のタイトル文字列が指定可能になりました




* 任意のタイトル文字列を各 COM ポート毎にシステムの機能に合わせて設定することができます。(日本語も使用可能)
* スクリプトからシリアルデバイスにデータを送信する時にタイトル文字列でデバイスを指定できます。
* シリアルデータを受信した時には、自動的にタイトル文字列がイベントハンドラに渡されますので、スクリプトのメンテナンスが楽になります。
* COM ポートを変更する場合でも、シリアルデバイスの登録画面で COMポートのアサインをプルダウンで変更するだけて、スクリプト側の修正は必要ありません。

(2) DEVICE_MESSAGE イベントを追加しました

* Ethernet I/F を搭載したリモートデバイスや CPU ボードから、DeviceServer に TCP/IP ソケット通信で任意のイベントデータを送信することができます。簡単なプロトコルですので小型のリモートデバイスはもちろんの事、Processing IDE とのデータの受け渡しになどにも利用できます。通信プロトコルはインストール時にマニュアルがフォルダにコピーされています。(DeviceServer CSVIF インターフェイスマニュアル.pdf)
* イベントデータはキーバリュー形式で任意の数のパラメータを DeviceServer に送信して、イベントハンドラでデータを受信することができます。また同時に、キーバリュー形式のリターンパラメータを DeviceServer からリモートデバイス側へ返すことができます。
* リモートデバイス側では負荷が重い処理や、運用中に頻繁に仕様が変更される様な部分を DeviceServer 側に処理を分担させて、処理結果を受け取るようなシステムにすることができます。DeviceServer ではスクリプト機能を使用して、センサーネットワーク内の様々なデバイスへのアクセスや、外部のWeb サービスを利用した処理などを簡単に記述できます。これらの機能をリモートデバイス側に持たせることができるようになります。

(3) その他 新規ライブラリ関数の追加 等....

* 統計データを時系列に取り出すための search_stat_data() 関数を追加
* 同時実行可能 スクリプトインスタンス数などのパラメータ設定項目をサーバー設定プログラムに追加(エンハンスライセンス用)

既存のライセンスをお持ちの方も、最新のインストールキットでアップデートすることで使用可能になります!

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)


ABS-9000 DeviceServer に タスク管理機能を追加しました!!(2012/7/21)

ユーザースクリプトやイベントハンドラの現在の実行状況を表示するための、タスク管理プログラム(TaskList) を追加しました。



このプログラムを使用すると、現在実行中のスクリプトを強制的に終了させることもできます。
タスクのリストにはアクティブなスクリプトやイベントハンドラの他に、Luaスクリプトエンジンの実行インスタンスプールの状態もリアルタイムに表示させることが出来ます。

また、スクリプトからタスク管理用に使用可能なライブラリ関数も追加しました。
現在の実行中のスクリプトタスクのリストを取得するライブラリ関数 script_task_list()と、タスクの強制終了を行うためのライブラリ関数 script_kill() が追加されています。

これらの機能追加によって、複数スレッドに跨った複雑なスクリプトの管理を簡単にできるようにしました。


既存のライセンスをお持ちの方も、最新のインストールキットでアップデートすることで使用可能になります!

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)


■ABS-9000 DeviceServer に FAX 送信機能を追加しました!!(2012/5/5)

ABS-9000 DeviceServerから、テキストメッセージをFAXで送信する機能を追加しました。

FAX送信機能で、下記の様な事が実現できます

* インターネット環境がないリモートの計測場所から、イベント発生時や定期的に FAX でデータを送信させることができます。
* スクリプトやイベントハンドラ中から、任意の電話番号を指定して送信させることができますので、イベントの内容に応じて送信先を変更することができます。
* スクリプト中で指定したテキストデータを FAX 本文として送信しますので、FAX 本文の内容を自由に変更することができます。
* スマートフォンや外出先のノートPC から、送信先 FAX 番号を指定したメールをサーバーに送って、そこから自動でメール本文の内容を FAX送信する機能もあります。(FAX 送信メールコマンド機能)

既存のライセンスをお持ちの方も、最新のインストールキットでアップデートすることで使用可能になります!

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)


作業日記ブログ始めました(2012/04/06)

話題のトピックや、日々の作業中出来事などを雑感を交えながら、お伝えしたいと思い(いまさがながら...)ブログを始めました。
ブログメンテナンスに不慣れなのでコメント欄は提供していませんが、ご意見や要望などなんでも構いませんのでメールでコメントをお寄せ下さい。
よろしくお願いいたします。(左のリンクボタンからどうぞ)

■ABS-9000 DeviceServer に複数のシリアル機器をコントロールする機能を追加しました!!(2012/3/9)

ABS-9000 DeviceServerにシリアルデバイス( 計測器、GPS,、I/O 装置、Arduino CPU ボード等)をコントロールする機能を追加しました。

シリアルデバイス サービスモジュール登録用設定画面



シリアルデバイス サービスモジュールを使用すると下記の様な事が実現できます

* 測定器やアクイジション装置を接続してデータの取り込みができます。
* シリアルコントロール用のリモートI/O 装置を接続できます。
* カードリーダやバーコードリーダ等を簡単に接続することができます。
* Arduino CPU ボード等で使用される FIRMATA プロトコルをサポートしていますので、PC と連携したシステムが簡単に構築できます。
* GPS装置から出力される NMEA データを簡単にとりこめます。
* 複数のシリアルデバイスを同時にコントロール可能です。
* 文字列やバイナリパケットデータを受信した時に、イベント駆動形式で処理を記述できますので、システムの処理スクリプトを単純化できます。また、読み込み処理を順次行う様な処理方法でスクリプトを記述することもできます。
* バイナリデータをそのままの形(RAW 形式) で扱えますので、新規のプロトコルにも柔軟に対応できます

シリアルデバイスサービスモジュールには、Arduino CPU ボードを接続してシステムを作成するときに便利な専用の機能が用意されています。

* arduino ライブラリ関数 print(), println(), write() 関数や read() 関数などを使用した文字列データの送受信を簡単に行えるように、文字列のデリミタ等を自動で認識します。
* arduino ライブラリ関数 sendAnalog(), sendDigitalPorts() 等で送信される FIRMATAバイナリパケットデータを自動で認識します。
* arduino ライブラリ関数 sendString() 等で使用される FIRMATA の文字列エンコード形式に対応しています。(専用の文字列エンコード、デコードライブラリ関数を使用できます)
* FIRMATA ライブラリで使用される、7ビット幅の複数バイトで表現されるバイナリエンコード形式のデータ列を処理するためのライブラリ関数を使用できます

シリアルデバイスは DeviceServer に複数登録して同時に使用することができます。スタンダードライセンスでは最大2つ、エンハンスライセンスでは最大 10 つまでのシリアルデバイスをコントロールできます。

既存のライセンスをお持ちの方も、最新のインストールキットでアップデートすることで使用可能になります!

ABS-9000 DeviceServer 製品につきましては、こちら をご覧下さい。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)


下記は、Arduino デバイスと I2Cバスで接続された EEPROM のデータを PC から取得する例です。




上記の Arduino では、Firmata 標準ライブラリを使用した StandardFirmata.ino スケッチプログラムを実行しています。
(Arduino IDE ver1.0 に添付の StandardFirmata.ino では、2バイトレジスタ値を使用する I2C デバイスのアドレッシングにバグがありますので、一部パッチを当てる必要があります)
Arduino を PC に接続して、DeviceServer の シリアルデバイスに登録します。
下記のスクリプトを実行すると、PC から Arduino 経由で FIRMATA I2C QUERYコマンドを発行して、Arduino 側からは I2C REPLY Firmata パケットを受信します。受信した Firmata パケットを解析して、EEPROM データをログに出力しています。



上記のスクリプトを実行すると EEPROM データを取得して、下記の様なログが出力されます。





■アプリケーションノートNo14 追加 (2011/12/14)

屋外や屋内に設置した複数のセンサーデバイス(温度、赤外線センサー)の計測データを、定期的に無線でサーバーに送信して、集計グラフを表示するシステムの構築例を説明します。
赤外線センサーからの検出が一定期間以上無かった場合に、在宅アラームとしてメールを送信する機能もあります。



各センサーデバイスでは、市販の Arduino ボードに搭載されたプログラムによって、定期的なサンプリングデータ送信とサーバーからのリモートコマンドが実行されます。サーバーとセンサーデバイス間の通信には XBee デバイスを使用します。サンプリングデータの送信や、センサーデバイスのリモートコマンドとリプライデータはすべて XBee モジュールのデータパケット中に格納されて送受信されます。



センサーデバイスで計測された温度と赤外線センサーのサンプリングデータは、XBee デバイス経由でサーバーPC のDeviceServer に送信されて内部のデータベースに格納されます。その後 クライアントPC のWeb ブラウザからデータベース中のサンプリングデータを集計してグラフを表示します。

温度と赤外線センサーデータをArduino+XBeeで収集監視 (リモート在宅監視システム)

添付ファイル MD5ハッシュ値(94EE10D8A7D6D712BF43D0892B543F76)

TDCP for ATmega328 ファームウエア書き込み済み CPU の販売を開始しました(2011/09/28)



TDCP328 CPUは、Arduino UNOや、その他 Arduino 互換機のCPU ボードで動作する、TDCP for ATmega328ファームウエアを予め書き込んだ CPU です。

Arduino に元から搭載されている ATmega328 または ATmega168を この TDCP328 CPU と入れ替えることで、リモート接続機能をもったCPU ボードを作成して直ぐにご利用いただけます。AVR ライタをお持ちでない方でも、直ぐにファームウエアの書き換えを出来るようにしました。

TDCP は、Atmel Atmega328P マイクロプロセッサ用のファームウエアで、XBee series1 (XBee 802.15.4RF Module) デバイスと組み合わせて、リモートからマイクロプロセッサ上の I/O ポートや A/D 機能を操作することができます。

TDCP は全ての操作を XBee デバイスの RF データパケット中に埋め込んだコマンド(TDCPコマンド)で行います。離れた場所から、I/Oポート操作や設定値の変更など全ての操作が行えます。

詳しくは商品紹介ページをご覧下さい。

■アプリケーションノートNo13 追加 (2011/09/22)

市販の Arduino 互換ボードと XBee シールド等を利用した、リモートセンサーネットワークの基本的なシステム作成例です。
Arduino FIO リモートデバイスに、温度センサーとリードセンサーを接続してリモートの温度監視とドアの開閉等の監視を行います。

現在のリモートデバイスの温度を、Web ブラウザからリアルタイムに表示したり、温度グラフを表示させることができます。
また、リモートデバイスに設置したリードスイッチが反応すると、警報メールを携帯やインターネットメールに送信させることができます。

リモートデバイス(Arduino+XBee)の温度と リードスイッチを監視

添付ファイル MD5ハッシュ値(4106836E44CBCBC6C0AF6C818C69B93B)








■Arduino 互換ボードと XBee で動作する、リモートコントローラ(汎用I/O)用プログラム (2011/8/8)

市販の Arduino 互換ボードと XBee シールド等で動作するリモートコントローラ用プログラム TDCP for ATmega328 を作成しました。



TDCP for ATmega328 の主な機能は以下のものがあります。

* リモートから指定した値を I/O ポートに出力
* I/O ポート入力値をリモートで取得
* A/D 変換値をリモートで取得
* I/O ポート入力変化時にイベントデータをリモートに送信
* 予め設定した間隔で、定期的に I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)等をリモートに送信
* TDCP 設定値をマイクロプロセッサ内の EEPROM に保存、リセット時に自動的に設定値をロード
* TDCP 設定値変更、EEPROM への保存、プロセッサリセット等の作業を、リモートから全て操作可能
* I2C マスターとして、I2C スレーブデバイスをリモートからコントロール
* I2C スレーブデバイスとして、I2C デバイス側からの要求によって、XBee 経由でのパケット通信や、共有データのやりとり。
* SPI マスターとして、SPI スレーブデバイスをリモートからコントロール
* 3.3V(8MHz), 5V(16MHz) の両方の電源電圧と動作クロックをサポート

ファームウエアと詳細なマニュアルを公開していますので、直ぐにでもお使いいただけます。
ABS-9000 DeviceServer のライセンスをお持ちでない方も、個人目的(商用・業務利用を除く)であれば自由にTDCP for ATmega328P ファームウエアを使用していただくことができます。

TDCP for ATmega328 ユーザーマニュアル ダウンロード

TDCP for ATmega328 ファームウエア ダウンロード

■I2C バス増設用 7セグメントLED ドライバデバイスを作成しました。フリーでダウンロードできます。 (2011/07/6)




SB-7SEG8 は、Atmel Atmega168P マイクロプロセッサ用のファームウエアです。
複数の7セグメントLED をダイナミックドライブ方式で点灯して、任意のセグメントデータや数値データを表示することができます。SB-7SEG8 は I2C スレーブデバイスとして動作して、I2C マスターデバイスから指定されたデータを LED に出力します。

SB-7SEG8 は全ての操作を I2C バスを経由したコマンドデータを受信することで実行します。
SB-7SEG8 は使用する 7セグメントLED のカラム数設定や、セグメントやカラム指定ポート値の反転設定などを、I2C 経由のコマンドで設定することができます。SB-7SEG8 の主な機能は、

*I2C マスターデバイスから指定したセグメントパターンを LED に出力することができます。
*I2C マスターデバイスから指定した文字コードデータを LED に出力することができます。
*最大8 桁までの 7 セグメントLED をドライブ可能、桁数は 1 から 8 まで自由に設定することができます。
*LED 表示データの内容が更新(変更)されたときに、自動的にフラッシュ(点灯と消灯の繰り返し)を数秒間自動的に実行して強調表示することができます。
*様々な種類の 7セグメントLED やドライブ回路に対応できるように、セグメントデータ出力とカラム選択出力を、各々反転して出力する様に設定することができます。
*LED の明るさを減光するためのパラメータを設定することができます。
*SB-7SEG8 デバイスのI2Cスレーブアドレスを任意の値に変更できます。複数の SB-7SEG8 デバイスを同一I2C バスに接続して、必要なだけ LED 表示器を増設してマスター側からコントロールすることができます。
*各種設定値はマイクロプロセッサ内の EEPROM に保存されます。リセット時に自動的にロードされて最後に保存した設定内容で動作します。

詳しい使用方法は、SB-7SEG8 ユーザーマニュアルを参照してください。


XBee 経由でリモートから I2C 操作を行って、7セグメントLED に表示しています。


SB-7SEG8 ユーザーマニュアル

SB-7SEG8 ファームウエアダウンロード

■XBee とマイクロプロセッサを組み合わせた、リモートコントローラ(汎用I/O)用プログラム
TDCP (Tiny Device Control Program) バージョンアップ TDCP ver2.04 (2011/06/22)


(TDCP モニタプログラムの動作しているCPU ボード)

主に下記の機能を追加しました。

* LCD キャラクタ液晶表示器と A/D 変換機能を同時にサポートする 動作モード(10) を追加
* イベント発生時にシグナル状態を自動更新
* タイマーによる自動シグナルリセット
* A/D 変化イベント検出機能
* I2C マスターとして、I2C スレーブデバイスをリモートからコントロール
* SPI マスターとして、SPI スレーブデバイスをリモートからコントロール
* I2C スレーブデバイスとして、I2C デバイス側からの要求によって、XBee 経由でのパケット通信や、サーバー間との共有データのやりとり。
* 3.3V(8MHz), 5V(16MHz) の両方の電源電圧と動作クロックをサポート


以下は、TDCP が従来からのバージョンで有していた機能で、リモートコントローラデバイスとして、下記の特徴があります。

全ての操作を XBee デバイスの RF データパケット中に埋め込んだコマンド(TDCPコマンド)で行います。
ABS-9000 DeviceServerを使用すると、TDCP コマンドを XBee データパケットに格納して、リプライデータを取得するための専用ライブラリ関数が
使用可能です

離れた場所から、I/O ポート操作や設定値の変更など全ての操作が行えます。シリアルポートから直接コマンド(TDCPコマンド)実行を行うことも可能です。
複数のTDCP を組み込んだリモートコントローラを同時に操作でき、イベントデータも複数のリモートから同時に取得できます。

TDCP の主な機能は以下のものがあります。

* リモートから指定した値を I/O ポートに出力
* I/O ポート入力値をリモートで取得
* A/D 変換値をリモートで取得
* I/O ポート入力変化時にイベントデータをリモートに送信
* 予め設定した A/D 変換値の上限または下限値を超えた場合に、イベントデータをリモートに送信
* 予め設定した カウンタ値を越えて、I/O ポート入力値が変化した場合に、イベントデータをリモートに送信
* 予め設定した間隔で、定期的に I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)等をリモートに送信
* シグナル(3種類の LED)の点滅・点灯、ブザー出力(2種類のパターン)をリモートから設定
* TDCP を搭載したマイクロプロセッサのシリアルポートに 市販のGPS モジュールを接続して、任意のタイミングで測位情報をリモートに送信。
* GPS レシーバからNMEA-0183 センテンス受信毎に測位情報を連続送信することも可能。
* TDCP 設定値をマイクロプロセッサ内の EEPROM に保存、リセット時に自動的に設定値をロード
* TDCP 設定値変更、EEPROM への保存、プロセッサリセット等の作業を、リモートから全て操作可能(シリアルポート経由でのコマンド操作も可能)
* LCD 表示モジュールにリモートから任意の文字列を表示。行末自動折り返しや、スクロール動作によるLCD 表示幅よりも大きい文字列を表示可能

ファームウエアと詳細なマニュアル(上記のCPU ボード回路図と製作例を含む)を公開していますので、直ぐにでもお使いいただけます。
ABS-9000 DeviceServer のライセンスをお持ちでない方も、個人目的(商用・業務利用を除く)であれば自由にTDCP ファームウエアを
使用していただくことができます。

TDCP ユーザーマニュアルとファームエアのダウンロー


■I2C バス増設用 I/Oデバイスを作成しました。フリーでダウンロードできます。 (2011/06/22)




I2C バスでコントロール可能な I/O デバイスです。
Atmega168p 用のファームウエアを書き込むだけて簡単に増設用の I/O ポートを作成できます。

オールブルーシステムの TDCP からはもちろんの事、Arduino 等からも簡単にアクセスして、 I/O ポートを好きなだけ増設することが出来ます。
SB-I8O8 は、I2C スレーブデバイスとして動作して、マスター側からのコマンドでポート出力と入力ポートのデータ取得ができます。また、自身のI2C スレーブアドレスを変更して、プロセッサ内部の EEPROM に保存することができます。これによって SB-I8O8 を同一のI2C バス上に複数配置して、I/O ポートを好きなだけ増設することが可能になります。

詳しい使用方法は、SB-I8O8 ユーザーマニュアルを参照してください。

SB-I8O8 ユーザーマニュアル

SB-I8O8 ファームウエアダウンロード


■ホームセンサーキットと UIOUSB デバイス単体の販売を開始しました (2011/04/24)

■ホームセンサーキット新発売!



各種センサーと UIOUSB デバイスを組み合わせてホームセンサーシステムを構築するためのスタートアップキットです。
サーバーのライセンスとインストールメディアも含まれているフルセットで、直ぐにでもセンサーシステムの構築が始められます。
自分で追加のセンサーやパーツを簡単に組み合わせられるように、ブレッドボードとジャンパー線もキットに入っています。

詳しくは商品紹介ページをご覧下さい。

UIOUSB デバイス単体の販売を開始しました!



UIOUSB は、PIC18F2550 にUSBポートを搭載したCPU ボードを、汎用 I/O装置として使用するためのソフトウェア(ファームウエア)です。
この製品では、あらじめ CPU ボードに UIOUSB ファームウエアを書き込み済みですので、PIC プログラムライタをお持ちでない方も
直ぐにご使用になれます。

詳しくは商品紹介ページをご覧下さい。

■メディアセット販売開始しました (2011/03/22)

いままで、ライセンス認証が必要なライセンスキーのみをオンライン販売してきましたが、インストールメディアにライセンスを予め同梱した
メディアセットの販売を開始しました。
インストールメディアを手元に保管したい場合やオンラインでのライセンス認証を省略したいお客様に適しています。
運用時に設置するサーバー PC が未定の場合や、将来サーバーPC が入れ替わる場合でも、このインストールメディアセットに同梱
されたライセンスファイルをロードすることで動作します。

こちらから注文を承りますので、ご利用お待ちしております。

アプリケーションノートNo12 追加 (2011/02/04)

データのビジュアライズツールとして広く利用されている Processing( http://processing.org/ ) と DeviceServer を接続してデータのやり取りや、
互いのイベントでプログラムの動作をコントロールすることができます。
このアプリケーションノートでは、USB I/O デバイス UIOUSB を Processing からリアルタイムに操作します。

ProcessingからUIOUSB(USB I/O) デバイスを操作

添付ファイル MD5ハッシュ値(FA97B5B9F0F0589F1122DADC6D634857)




アプリケーションノート12ムービー




■アプリケーションノートNo11(pdfドキュメント) 追加!!(2011/01/17)

リモートデバイスに接続した GPS レシーバーの情報を XBee でサーバーに送信して、クライアントPC からWeb ページを
アクセスして GoogleMap にリモートデバイスの現在位置を表示します。

複数の リモートデバイスの情報をリアルタイムに GoogleMap のマーカーに表示できます。
ABS-9000 DeviceServer の基本機能と TDCP モニタプログラム(フリーで公開中です) を搭載した CPU ボード、XBee、GPS レシーバだけで
実現できます。

ABS-9000 DeviceServer の WebAPI 機能を使用して、javascript(flash やjava 等からでもアクセスできます) から JSONP, XML 形式で
DeviceServer にアクセスしてアプリケーションを作成しています。詳細は添付ファイルとムービーをご覧下さい。

リモートGPS レシーバからXBee経由で現在位置を受信してGoogleMapに表示

添付ファイル MD5ハッシュ値(4F2F07C752DC4F658871E8EF7A2D2B22)





■アプリケーションノート11ムービー
(映像中の画面文字が細かいので HD 1280x720モードでご覧下さい)





Q & A ページを作成しました。(2010/12/24)
 
オールブルーシステムやDeviceServer について良くある質問についてまとめていますので参考にしてください


■USB接続の汎用I/O (UIOUSB) ファームウエア ver2.0 公開しました!!




主な機能は、

* 8 ビットI/O ポート(RB) 出力
* 8 ビットI/O ポート(RB) 入力
* 4 チャンネル 10ビットA/D 変換入力 (RA0,1,2,3)
* 2 チャンネル PWM信号出力 (CCP1,CCP2)
* 8 チャンネル 簡易サーボ信号出力(RB)
* 8 ビットI/O ポート(RB) 入出力切り替え設定
* 入力ポートのプルアップ切り替え設定
* 設定値をPIC内部 EEPROM に保存(デバイスリセット時に自動読み込み)
* I/O ポート入力変化時にイベントデータをシリアルポートに出力
* 予め設定した カウンタ値を越えて、I/O ポート入力値が変化した場合に、イベントデータをシリアルポートに出力
* 予め設定した間隔で、定期的に I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)をシリアルポートに出力(自動サンプリング)
* コマンドから任意のタイミングで、I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)をシリアルポートに出力(手動サンプリング)
* シグナル(LED)の点滅・点灯、ブザー出力(2種類のパターン)をコマンドで設定、またイベントデータ送信条件になった場合にシグナルを同時
 に設定することも可能です。

ファームウエアと詳細なマニュアルを下記で公開しています。また、CPUボード自身は、市販の PIC18F2550 USB ボード(秋月電子通商様 製)
を使用していますので直ぐにでもお使いいただけます。
ABS-9000 DeviceServer のライセンスをお持ちでない方も、個人目的(商用・業務利用を除く)であれば自由にUIOUSB ファームウエアを
使用していただくことができます。詳しい使用方法などは下記のリンクからユーザーマニュアルを参照してください。

UIOUSB ユーザーマニュアルとファームエアのダウンロード


■ABS-9000 DeviceServer に Web API 用インターフェース機能を追加しました。

外部Web サーバーやWebブラウザ(javascript) 等から、リモートセンサーデバイスのデータ取得やI/O操作が可能になります。

DeviceServer 内蔵の HTTP サーバー機能(WebProxy) を使用して、イントラネットやインターネット上に Web API を公開するこ
とが出来ます。これによって XMLHtttpRequest 形式でアクセス可能であれば DeviceServer 中の任意のスクリプトを外部か
ら URL 形式でアクセスして実行でき、スクリプトのリターンパラメータを XML 形式で受け取ることが出来ます。

また、JSON(JSONP) 形式でリターンパラメータを受信することもできます。これによって javascript 等から簡単に
DeviceServer に設置したスクリプトを利用したシステムを構築することが可能になります

詳細は、ABS-9000 DeviceServer ユーザーマニュアル を参照してください。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。
(デモライセンスが添付されていますので直ちに使用可能です!)

■TDCP ファームウエアとマニュアルをアップデートしました。(ver1.05)

A/D 変換時のリファレンス電圧設定コマンドを追加しました。これによってATmega644P の内部リファレンス電圧を使用した
サンプリングが可能になります。

複数の TDCP デバイスをルータとして使用して、イベントパケットの中継を行う機能を追加しました。
router コマンドで最大2つまでの中継ノードを指定してイベントパケットを自動転送します。これによってメッシュネットや ZigBee
に対応しなくても、XBee IEEE 802.15.4 RFモジュール の機能のみでリモート操作可能なエリアを拡大させることが可能になります。
リモートコマンドでルータ設定を運用中に変更できますので、移動体からのイベント送信時にも柔軟に構成を変更することができます。

詳しくは TDCP ユーザーマニュアルを参照してください。

■TDCP ファームウエアとマニュアルをアップデートしました。(ver1.03)

app_mode = 9 の動作モードを追加して、LCD キャラクタ表示モジュールにリモートから文字を表示できます。
複数行にわたるメッセージの自動折り返しや、LCD 行毎のスクロール表示にも対応しています。

(詳しくは、下記の "XBee とマイクロプロセッサを組み合わせた、リモートコントローラ(汎用I/O)用プログラム
TDCP (Tiny Device Control Program)"
の説明とそのリンク先のマニュアルを参照してください。

■アプリケーションノートNo10 追加!!

屋外や屋内に設置した複数のセンサーデバイス(温度、赤外線(人体)センサーを内蔵)の計測データを定期的に無線で
サーバーに送信することで集計グラフの作成や、センサーからのイベントを検出することでリアルタイムの在宅監視を行う
システムを構築する例を説明します。

各センサーデバイス内では、マイクロコントローラ(Atmega644P) によって定期的なサンプリングと、サーバーからの
リクエストパケットによってリモートコマンド実行が行われます。サーバーとセンサーデバイス間の通信には XBee デバイスを使用します。
サンプリングデータやセンサーデバイスのリモートコマンドなどはすべて XBee モジュールのデータパケット中に格納されて送受信されます。
マイクロコントローラ上で動作するプログラムは、オールブルーシステム が提供している “TDCP (Tiny Device Control Program)”
を使用しています。TDCP は DeviceServer のライセンスと共に使用する場合にはフリーで製品に搭載できます。



詳細ドキュメントは以下のリンクから参照してください

リモート温度・赤外線センサーデータをXBeeデバイス経由で収集、集計グラフ表示や在宅監視を行う

添付ファイル MD5ハッシュ値(7DA6567320064BF2CB8B715BDFA24AA6)


■XBee とマイクロプロセッサを組み合わせた、リモートコントローラ(汎用I/O)用プログラム
TDCP (Tiny Device Control Program) 登場!!


(TDCP モニタプログラムの動作しているCPU ボード)

TDCPはリモートコントローラデバイスとして、下記の特徴があります。

全ての操作を XBee デバイスの RF データパケット中に埋め込んだコマンド(TDCPコマンド)で行います。
ABS-9000 DeviceServerを使用すると、TDCP コマンドを XBee データパケットに格納して、リプライデータを取得するための専用ライブラリ関数が
使用可能です

離れた場所から、I/O ポート操作や設定値の変更など全ての操作が行えます。シリアルポートから直接コマンド(TDCPコマンド)実行を行うことも可能です。
複数のTDCP を組み込んだリモートコントローラを同時に操作でき、イベントデータも複数のリモートから同時に取得できます。

TDCP の主な機能は以下のものがあります。

* リモートから指定した値を I/O ポートに出力
* I/O ポート入力値をリモートで取得
* A/D 変換値をリモートで取得
* I/O ポート入力変化時にイベントデータをリモートに送信
* 予め設定した A/D 変換値の上限または下限値を超えた場合に、イベントデータをリモートに送信
* 予め設定した カウンタ値を越えて、I/O ポート入力値が変化した場合に、イベントデータをリモートに送信
* 予め設定した間隔で、定期的に I/O ポート値、A/D 変換値、カウンタ値(入力ポート変化数)等をリモートに送信
* シグナル(3種類の LED)の点滅・点灯、ブザー出力(2種類のパターン)をリモートから設定
* TDCP を搭載したマイクロプロセッサのシリアルポートに 市販のGPS モジュールを接続して、任意のタイミングで測位情報をリモートに送信。
* GPS レシーバからNMEA-0183 センテンス受信毎に測位情報を連続送信することも可能。
* TDCP 設定値をマイクロプロセッサ内の EEPROM に保存、リセット時に自動的に設定値をロード
* TDCP 設定値変更、EEPROM への保存、プロセッサリセット等の作業を、リモートから全て操作可能(シリアルポート経由でのコマンド操作も可能)
* LCD 表示モジュールにリモートから任意の文字列を表示。行末自動折り返しや、スクロール動作によるLCD 表示幅よりも大きい文字列を表示可能

ファームウエアと詳細なマニュアル(上記のCPU ボード回路図と製作例を含む)を公開していますので、直ぐにでもお使いいただけます。
ABS-9000 DeviceServer のライセンスをお持ちでない方も、個人目的(商用・業務利用を除く)であれば自由にTDCP ファームウエアを
使用していただくことができます。

TDCP ユーザーマニュアルとファームエアのダウンロー


オールブルーシステムはネットワーク対応のI/O 装置やアラーム機器を使ったシステムを、簡単に構築&メンテナンス可能なサーバーシステム (ABS-9000 DeviceServer)を提供しています。ABS-9000 DeviceServer を使用して下記のような事が実現できます。
■ABS-9000 DeviceServer の特徴

開発期間&メンテナンスコストを抑えたシステム構築ができます。
複雑なネットワーク周りのプログラムや、データ収集の為のポーリングやイベント処理等の煩雑なプログラミング作業を軽減できます。
最初にプロトタイプシステムをすばやく構築して、後から詳細を作りこんでいく様な開発プロセスが実現できます。
一旦構築したシステム構成を後から柔軟に変更したり、ロジックの変更、デバイスの追加等が簡単に行えます。
電子メールを利用してシステムを自由にコントロールできます。
Digi International Inc. 社製 XBee IEEE 802.15.4 RFモジュールに対応しています。複数のリモート XBee デバイスを集中管理でき、リモートセンサ入力の収集やI/O ポートの制御システムを簡単に構築できます。専用の管理プログラムによって、リモートデバイスのコンフィギュレーションも容易に行えます。

ABS-9000 DeviceServer の詳しい機能説明はこちらにあります。また製品の完全なユーザーマニュアルをダウンロードして内容を確認できます。

ABS-9000 DeviceServer インストールキットをダウンロードして、直ぐに全ての機能を使用することができます。(デモライセンスが添付されていますので直ちに使用可能です!)



(ABS-9000 DeviceServer 動作画面例)

システム構築等でお困りのことがございましたら、気軽にご相談ください。
オールブルーシステムでは、お客様のご要望に沿ったシステム構築や特注ソフト作成も行っております。こちらまでメールをお送りください。
メール宛先: contact@allbluesystem.com 

■ABS-9000 DeviceServer を使ったシステム構成例

使い方をステップ・バイ・ステップで説明してありますので、お客様のシステムを構築する際の参考としてください。

リモート温度・赤外線センサーデータをXBeeデバイス経由で収集、集計グラフ表示や在宅監視を行う
添付ファイル MD5ハッシュ値(7DA6567320064BF2CB8B715BDFA24AA6)

ネットワーク経由でXBeeデバイス間を接続して、センサーデバイスとコントローラデバイスを操作する
添付ファイル MD5ハッシュ値(1732D35BD2FA14F7A67DCAF68900560C)

リモートXBeeデバイス計測値を定期的にDBに保管、クライアントPCのエクセルから集計(イベント方式)
添付ファイル MD5ハッシュ値(10052044903AE16FCD343CBC70808E7A)

リモートXBeeデバイス計測値を定期的にDBに保管、クライアントPCのエクセルから集計(ポーリング方式)
添付ファイル MD5ハッシュ値(A3C812C9946DD4A6316683559B575D2B)

定期的にセンサー計測値をDBに保管、クライアントPCのエクセルから集計
添付ファイル MD5ハッシュ値(3365BDBA1B6D416D9D58022DAA95EE9D)

携帯電話からPOPサーバーメールを転送受信

監視時間帯でDINPUT変化時にアラート出力

アラームデバイスのプッシュボタンでスクリプト起動

アラームデバイスのネットワーク接続を定期監視

新規メール到着時にアラーム表示

順次、追加していきます。

copyright (c) 2008-2014 All Blue System, all rights reserved.

特定商取引による表示
特定商取引による表示