遠隔監視(リモートモニタリング)
MONOSTICK-モノスティックをパソコンやスマートフォン、タブレット端末のUSBポートに接続することで複数のTWELITE-トワイライト端末を遠隔監視することができます。
TWELITE-トワイライトに様々なセンサーを接続してパソコンやスマートフォン、タブレット端末で、 モニターできます。
USBで接続されたデバイスからMONOSTICK-モノスティックはシリアルポートに見えますので、データのやりとりが標準的な方法で行えるため、パソコン、タブレット、スマートフォン側のアプリの開発が容易です。
設定
MONOSTICK-モノスティックの初期設定は親機です。
TWELITE DIPの初期設定は子機になっています。
受信データの表示
TWELITE STAGEを使用する場合
- TWELITE STAGEをインストールして起動してください。
- メニューから[ビューア]でビューアを選択してください。
ターミナルソフトウエアを使用する場合
- パソコンまたはスマートフォン、タブレット端末を用意してください。
- 端末のUSBポートにMONOSTICK-モノスティックを接続してください。
- 接続しているシリアルポート名(WindowsではCOMポート)を調べて設定してください。(Windows の場合はデバイスマネージャを用いるのが簡単です。)
- 端末上でターミナルソフトウエア( TeraTerm等)を起動してください。
- ターミナルソフトウエアの通信設定を「115200bps/8bit/パリティ無し/ストップビット1/フロー制御なし」にしてください。
- 終端(改行コード)はCR+LFに設定してください。
- ローカルエコーはOFFに設定してください。
操作例(パソコンで相手端末の状態を知る。)
超簡単!標準アプリの場合
ターミナルソフトウエア上に相手端末上の入力ポートの値が変化した場合と約1秒周期で定期的に受信されたデータが表示されます。
データフォーマットの詳細はTWELITE DIP使用方法(上級編)の「相手端末の状態通知:0x81」をご参照下さい。
以下に示すデータ列をパソコンやスマートフォン、タブレット端末で動作する自作アプリで使用することもできます。
以下にデータの中身を解説します。以下のデータ列を例にして解説します。
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
相手端末の論理デバイスID(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
相手端末の論理デバイスIDが78であることを表します。
データの種別(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
81はデータが相手端末の状態であることを表します。
パケット識別子(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
システムが使用する値です。
プロトコルバージョン(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
プロトコルバージョンが01であることを表します。
受信電波品質(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
受信電波品質が0x75であることを表します。(値は0~0xFF)
受信電波品質(LQI)は0から255までの数値で表されます。
あくまでも目安としてですが、以下の計算式でdBmに変換できます。
PdBm=(7*LQI-1970)/20
例:LQI((0-255)が125の時、約-54.75dBm
50未満(悪い -80dbm 未満)、50~100(やや悪い)、100~150(良好)、150以上(アンテナの近傍)といった区分けが品質の目安になります。あくまでも目安ですので、実地での検証をしてください。
相手端末の個体識別番号(4バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
相手端末の個体識別番号が0x81000038であることを表します。
製造時に一意に割り当てられる値です。変更することは出来ません。
宛先端末の論理デバイスID(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
宛先端末の論理デバイスIDが00であることを表します。
タイムスタンプ(2バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
タイムスタンプです。1/64秒でカウントアップします。0xFFFFで0に戻ります。
中継フラグ(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
中継フラグは中継された回数を示します。00は中継されていないことを表します。中継が一回入った場合は01になります。中継回数は最大で3回です。中継回数の初期値は1です。中継回数はインタラクティブモードのオプションビットで変更できます。
電源電圧(2バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
電源電圧が0x0C04(3.076V)であることを表します。
値はmVです。
未使用(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
未使用です。
デジタル入力(DI)の値(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
デジタル入力(DI)の値を表します。値はDI1(0x1) DI2(0x2) DI3(0x4) DI4(0x8)に対応しています。例えばDI1に接続されたスイッチが押されている場合、値は01となります。DI4のスイッチが押されている場合、値は08となります。全てのスイッチが押されている場合、値はFFとなります。
デジタル入力(DI)の変更状態値(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
デジタル入力(DI)の変更状態値を表します。
アナログ入力(AI)の値(4バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
アナログ入力(AI)のAI4、AI3、AI2、AI1(各1バイト)の変換値を表します。
入力電圧0~2000[mV]のAI値を16で割った値です。(入力電圧が2000mV以上の場合は無効になります。)
アナログ入力(AI)の補正値(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
アナログ入力(AI)の補正値を表します。
アナログ値の復元には以下のように計算してください。
AI[mV] = (アナログ入力の値 * 4 + 補正値) * 4
チェックサム(1バイト)
:7881150175810000380026C9000C04220000FFFFFFFFFFA7
チェックサムが0xA7であることを表します。
チェックサムの計算
チェックサムとは受け取ったデータが正しいかどうかを確認するための付加データです。
データ部の各バイトの和を8ビット幅で計算し2の補数をとります。つまりデータ部の各バイトの総和+チェックサムバイトを8ビット幅で計算すると0になります。
チェックサムバイトをアスキー文字列2文字で表現します。
例えば 00A01301FF123456 では 0x00 + 0xA0 + ... + 0x56 = 0x4F となり、この二の補数は0xB1 です。(つまり 0x4F + 0xB1 = 0)