センサーグラフ

センサーグラフ

Windows macOS Linux RasPi

各種センサーデータをデータベースファイルに記録します。また TWELITE STAGE APP 画面上で簡易的に計測値を参照する機能もあります。

同一実行形式名の TWELITE STAGE APP を複数起動して、センサーグラフを同時に使用することはできません。

データベースファイルは {MWSTAGEインストール}/log フォルダに格納され、TWELITE_STAGE APP 実行形式名をもとにファイル名が決まります。同一実行形式の場合、同じデータベースファイルを参照するためです。TWELITE STAGE APPの実装では、複数のアプリが同時に同一のデータベースにデータを追加することを想定していません。また、状況によってはデータベースファイルのアクセスエラーとなり、TWELITE STAGE APP がクラッシュすることもあります。

例えば、MONOSTICK を2台接続して、同時に複数の「センサーグラフ」を動作させたい場合には、各々別の実行形式名 (TWELITE_Stage_a.exe, TWELITE_Stage_b.exe) とした TWELITE STAGE アプリを実行します。この時のデータベースファイル名は log/TWELITE_Stage_a_WSns.sqlite, log/TWELITE_Stage_b_WSns.sqlite です。

  • データの保存には sqlite3 を使用しており、 {MW_STAGE Install}/log/{実行形式名}_WSns.sqlite というファイルに格納されます。

  • 画面遷移は [一覧(グラフプレビューあり)]>[24時間データ] >[ライブビュー]です。

    • [24時間データ] から更に [年] [月] [日(グラフプレビューあり)] 選択画面に遷移できます。

  • [ライブ]表示画面について

    • 一覧から特定のノードを選択します。

    • 1秒おきのリアルタイム表示を行い、過去450秒前までのデータを表示します。

  • [24時間データ] 表示画面について

    • 特定の日のデータを表示します。

    • 1秒おきの取得とし、複数データが有る場合は間引かれます。

    • 最大拡大時(1ピクセル1秒)以外は、各ピクセル範囲での取得値の平均により表示します。

    • 値が画面よりはみ出す場合は上下端に測定点を表示します。

    • 現在時間が含まれる場合は、新しいデータが来ると表示更新します。

    • ホイール、カーソル↑↓:時間軸の拡大・縮小

    • マウスの移動:マウスポインタに対応する時間軸にある取得データを簡易表示します。

      • カーソル→、←:隣の取得データに移動します。

    • クリック&ドラッグ:スクロール(拡大時のみ)

    • 拡大時はスクロールバーによる操作も可能です。

    • [CSV出力] 機能では、データベースに含まれるすべての取得値を表示します。

  • データの抽出は https://sqlitebrowser.org/ のツールを使ってください。

操作

操作内容

マウスドラッグ(グラフ部分)

拡大時に表示位置を移動

マウスドラッグ(下部スクロールバー)

拡大時に位置を移動

カーソル→, ←

サンプル表示の移動

カーソル↑, ↓, ホイール

サンプル横軸の拡大・縮小

[ライブ]

最新到着データを表示する1秒刻みビューに移動する

[24時間データ]

1日単位グラフに移動する

[<<一覧]

一覧選択画面に移動する

[年] [月] [日]

年月日で、特定日を選択する

[最新]

今日のデータに移動

[CSV出力]

1日分のデータをCSVファイルに出力

一覧で [表示]

リストの表示方式を変更する

一覧で [ソート]

リストの並び順を変更する

一覧で [↑]

リストの並び順を反転する

センサーノードのメモ(補助情報)の編集

v1.3.9以降

「24時間データ画面」上で、画面右上のセンサーノードのメモ部分を左クリックすると、メモを編集するためのプロンプトになります。

キー内容

通常文字

通常の英数文字列を直接入力すると画面上にも表示されます。

IME での入力

IMEからの入力は画面左上部分に入力途上の文字列が表示されます。ENTERキーで入力中の文字列を確定します。

BS

表示されている末尾の文字を削除します。

ENTER

入力した文字列をデータベースに反映します。

  • IME入力時の操作方法は、利用のシステムに依存する場合があります。

  • IME入力時の操作によっては期待しない文字列が入力される場合があります。不要な文字列が入力エリアに表示された場合は BS キーで不要部分を削除します。

画面遷移

画面は一覧、24時間、ライブの3種類が基本になります。

[一覧] <--> [24時間] <--> [ライブ]
              ↓↑
          [年月日選択]

センサーグラフモードの起動時に開く

[STAGE 共通設定→起動アプリ指定]にて32を指定する。

DBのテーブルについて

sensor_data

カラム名解説

_uqid

INTEGER

データベースで使用する続き番号

sid

INTEGER int32_t

int32_t 型で格納しているシリアル番号です。"8123abcd" というシリアル番号の場合は整数値で -2,128,368,691 の値が格納されます

ts

INTEGER

システムがパケットを受信した時刻で、int64_t 型で格納されるタイムスタンプ値です。UNIX epoch (エポック、1970年からの経過秒) です。

ts_msec

INTEGER

タイムスタンプのミリ秒部分です。

year

INTEGER

タイムスタンプよりローカル時間の年部分です。

month

INTEGER

タイムスタンプよりローカル時間の月部分です。

day

INTEGER

タイムスタンプよりローカル時間の日部分です。

hour

INTEGER

タイムスタンプよりローカル時間の時部分です。

lid

INTEGER

ユーザにより割り当てられた LID などの識別値です。

lqi

INTEGER

受信強度の目安値です (Link Quality Indicator) 。

pkt_seq

INTEGER

パケットの続き番号です。どのような値を取りうるのかはファームウェアによって異なります。

pkt_type

INTEGER

無線パケットの種別です。 2 PAL AMB, 6 ARIA 1 PAL MAG *3 PAL MOT,5 CUE 0x101 App_Twelite, *0x103 App_IO *現時点で非対応

value

REAL

計測値 (パケット種別によって定義が異なります) pkt_type-> 2,6: 温度 1: 磁石の判定有無 00->磁石なし, 01->N極, 02->S極 3,5: X軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G] 0x101,103: 入力IOのビットマップ(val_dioの下位8ビットと同値)

value1

REAL

計測値 (パケット種別によって定義が異なります) pkt_type-> 2,6: 湿度[%] 1: 未使用 3,5: Y軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G] 0x101: ADC1[V] ,103: 未使用

value2

REAL

計測値 (パケット種別によって定義が異なります) pkt_type-> 2: 照度[lx], 6: 未使用 1: 未使用 3,5: Z軸加速度(パケット中に複数サンプル含まれる場合は平均値)[G] 0x101: ADC2[V], 103: 未使用

value3

REAL

計測値 (パケット種別によって定義が異なります) pkt_type-> 2: 未使用, 6: 未使用 1: 未使用 3,5: 未使用 0x101: ADC3[V], 103: 未使用

val_vcc_mv

INTEGER

電圧[mV]

val_dio

INTEGER int32_t

b0..b7: DI1..DI8の値 (1はLO, 0はHIGHレベル) b24..b25: マグネット値 (b28が1の場合), 00->磁石なし, 01->N極, 10->S極 b28: 1の場合マグネットデータがb24..b25に格納される b31: 定期送信ビット(マグネットのみ)

val_adc1_mv

INTEGER

pkt_type->1,2,3,0x101: ADC1の計測値

val_adc2_mv

INTEGER

pkt_type->0x101: ADC4の計測値

val_aux

INTEGER

その他データ格納目的

ev_src

INTEGER

イベント発生元

ev_id

INTEGER

イベントID pal_type->5: 1...6→サイコロ 16→MOVE ... 他(TWELITE CUE の資料参照)

ev_param

INTEGER

イベントパラメータ

sensor_node

センサーノードにテキストメモ(付加情報)を格納する目的で利用する。

カラム名解説

sid

INTEGER

上述のSID

sid_text

TEXT

SIDを16進数文字列に変換したもの(可読性のため)

desc

TEXT (UTF-8)

SIDに対応するメモ(補助情報)で、一覧などで一緒に表示する。

sensor_last

最後に受信したタイムスタンプを管理する目的で使用する。

カラム名解説

sid

INTEGER

上述のSID

ts

INTEGER

最後の受信時のタイムスタンプ

lid

以下、最後に受信時のデータの抜粋

lqi

pkt_type

value

value1

value2

value3

val_vcc_mw

val_dio

ev_id

最終更新