TWE-LITE-2525A設定の詳細

設定により加速度センサーの振る舞いなどを変更できます。

接続先(親機)について

TWE-LITE-2525A のファームウェアは、設定(Option Bit:後述)により以下の2種類の接続先を選択できます。接続先によって動作振る舞いが異なります。

"超簡単!TWEアプリ" - 標準アプリケーション

出荷時に書き込まれている"超簡単!TWEアプリ" で受信できるモードです。

加速度センサーの検出結果を DO 出力として得られます。1台の親機に対して1台の TWE-LITE-2525Aを割り当てます。

信号名 点灯条件 消灯条件
DO1 TWE-LITE-2525Aを軽く1回たたくと点灯します。 LED点灯から500ms後に消灯します。
DO2 TWE-LITE-2525Aを軽く2回たたくと点灯します。
DO3 TWE-LITE-2525Aが自由落下中に点灯します。
※ 床に落とすと壊れるかもしれません。
DO4 TWE-LITE-2525Aを動かすと点灯します。 DO1~DO3が点灯する、または動かし終わってから2s後に消灯します。

App_Tag の Parent - 無線タグアプリ

親機にする TWE 無線モジュールにファームウェア(App_Tag_Parent_JN5164_?_?_?.bin)を書き込んで使用します。

シリアルに詳細データを出力するため、複数の加速度センサーの監視などに向いています。

最新ファームウェアについてはこちらを参照ください。

TWE-LITE-2525Aの設定を変更する

TWE-LITE-2525Aでは、従来通り、PCと接続してインタラクティブモードでの設定も可能ですが、PCと接続せずに無線で設定するOTA設定を使用することが可能です。(この機能はApp_Tag V1-05-0以上で対応しています。)

無線での設定方法は こちら をご覧ください。

また、通常のインタラクティブモードでの設定方法は こちら をご覧ください。

設定コマンド一覧

TWE-LITE-2525Aでは、下記で示す設定が可能です。
コマンド 機能 説明 初期値 バージョン
a アプリケーションIDの設定 同一の周波数チャネルを複数のグループで使用することが可能です。値は32ビットで設定します。 0x67726305  
i 論理デバイスIDの設定 子機の論理デバイスIDを設定します。1~100までの値を設定できます。
c 周波数チャンネルの設定 チャネル(11~26)を選択します。 複数チャネルを指定した場合は チャネルアジリティにより電波干渉の回避に役立ちます。 最大3チャネルまで指定可能です。例えばチャネル13とチャネル22を使用する場合は13,22と入力します。 15  
x 送信出力の設定 送信出力を設定します。 3が最強で2,1,0と1段階小さくなるたびに -11.5db 出力が低下します。 出力を制限し電波の有効伝達範囲を小さくしたい場合に使用します。 ただし、伝達可能距離は環境(ノイズ・遮蔽物など)に影響を受けます。 ※ 理論上の伝達距離は 6dB 出力が小さくなるたびに 1/2 になりますので、1段階小さくすることで伝達距離は約1/4になります。 3  
1桁、または2桁の数字を指定します。2桁目は省略可能です。

1桁目は、送信出力を設定します。3が最強で2,1,0と1段階小さくなるたびに -11.5db 出力が低下します。出力を制限し電波の有効伝達範囲を小さくしたい場合に使用します。ただし、伝達可能距離は環境(ノイズ・遮蔽物など)に影響を受けます。
※ 理論上の伝達距離は 6db 出力が小さくなるたびに 1/2 になりますので、1段階小さくすることで伝達距離は約1/4になります。

2桁目は再送回数を設定します。2桁目は 0~9を指定し、0はデフォルトで再送なし、1~9は再送回数に対応します。
例:
3 -> 再送なし・最強出力(デフォルト、省略時)
42 -> 再送4回・出力は2(1段階弱める)
13 (v1.5.3 以降)
d 送信間隔の設定 定期送信モードとねこったーモードでは送信間隔、タップやダブルタップ、自由落下モードではLEDの消灯までの時間をミリ秒で指定します。30〜86,400,000の値で指定します。 500  
w 起床後センサ情報が安定するまでの待ち時間の設定 未使用 0  
m センサの設定 子機に接続するセンサを16進数で設定できます。 通常のモードは"0x35"、より低消費電力なモードは"0xA1"にしてご使用ください。 0x35  
p 動作モードの変更 TWE-LITE-2525Aの動作の振る舞いを変更します。詳しくは次章をご覧ください。 15  
P モード毎のパラメータの設定 モードごとの閾値などの設定をします。"THT=100"のような形式で複数種のパラメータをカンマ(,)区切りで設定できます。適切な値に設定しないと誤動作する可能性があるので、初期値で問題ない場合には設定しないでください。
k 暗号化鍵の設定 暗号化鍵を入力します。32bitの16進数を設定します。 0xA5A5A5A5  
o オプションビットの設定 各種詳細設定ができます。 0x00000011  
S 設定値の保存 設定を保存し、モジュールを再起動します。
R 初期値に設定を戻す 設定を初期化します。
他の操作を行わず、続けてS キーによる設定の保存を行うとセーブ領域のクリアを行います。

動作モードとパラメータの変更

動作モードを変更すると TWE-LITE-2525A の振る舞いが大きく変化します。動作モードを変更する場合はインタラクティブモード中に "p" (子文字)を入力し、値を入力します。モードは下記の通りです。また、1~8までの動作モードはモード番号を足し算することで複数のモードを同時に使用できます。パラメータを変更する場合はインタラクティブモード中に "p" (子文字)を入力し、値を入力します。初期値は15(Tap、Double Tap、Free Fall、Active/Inactiveを選択)に設定されています。

モードごとのパラメータを変更することにより感度等を調節できます。標準値で使用する場合は設定の必要はありません。

パラメータを変更する場合はインタラクティブモード中に "P" (大文字)を入力し、パラメータ名と値を入力します。例えばダブルタップで検知するタップの速さを調節したい場合はLATの値を変更します。LAT=300と入力すると1回目のタップと2回目のタップの間が300m秒以内なら検知するようになります。複数のパラメータを設定する場合はTHT=100,LAT=200のようにカンマ( , )で区切ります。

動作モード No. 機能 説明 モードごとのパラメータ バージョン
0 Normal "送信間隔の設定"で設定した間隔で送信を行うモードです。 初期値は500ms(0.5秒)間隔で送信します。 1.5.1
1 Tap TWE-LITE-2525A を軽くたたいた時に発報するモードです。 THT : タップを検出するための閾値。どれかの軸の加速度がこの閾値を超えたときにタップしたと識別します。1~15000mgで指定します。初期値は3125です。
DUR : タップを検出するための時間。加速度がTHTを超えた時間がDUR以下の時タップしたと識別します。1~150.00msで100倍した整数で指定します。初期値は938(9.38ms)です。
1.5.1
2 Double Tap TWE-LITE-2525A を軽く2回たたいた時に発報するモードです。 THT : タップを検出するための閾値。どれかの軸の加速度がこの閾値を超えたときにタップしたと識別します。1~15000mgで指定します。初期値は3125です。
DUR : タップを検出するための時間。加速度がTHTを超えた時間がDUR以下の時タップしたと識別します。1~150.00msで100倍した整数で指定します。初期値は938(9.38ms)です。
LAT : タップを検出してから次のタップを検出し始めるまでの待ち時間。1~300msで指定します。初期値は100です。
WIN : LATから2回目のタップを検出するための時間。1~300msで指定します。初期値は250です
1.5.1
4 Free Fall TWE-LITE-2525A を落とした時に発報するモードです。 THF : 自由落下を検出するための閾値。加速度がこの閾値以下だったとき自由落下と識別します。1~15000mgで指定します。初期値は438です。
TIF : 自由落下を検出するための時間。加速度がTHF以下だった時間が TIF ms 経過したとき自由落下と識別します。1~1200msで指定します。初期値は225です。
1.5.1
8 Active/Inactive TWE-LITE-2525A を動かし始めたときと動いていないと判断したときに発報するモードです。 THA : TWE-LITE-2525A が動いていることを検出するための閾値。どれかの軸の加速度がこの閾値を超えたときに動いていると識別します。1~15000mgで指定します。初期値は2000です。
THI : 動いていないことを識別するための閾値。この閾値以下の時、動いていないと識別します。1~15000mgで指定します。 初期値は1938です。
TII : 動いていないことを識別するまでの時間。加速度がTHI以下の時間が TII s 経過したとき動いていないと識別します。1~250sで指定します。 初期値は2です。
1.5.1
32 シェイク
ノーマル
振られた時の力の強さに応じてDOを4段階制御します。DO1 が Lo になる時が最弱で、DO4 が Lo になると最強です。振られていない場合は DO1 〜 4 が全てHiになります。
※ 標準設定で約1秒おきに判定および無線送信します。

※ PWM1 も制御されますが、将来、動作は変更される可能性があります。
「シェイクモード設定パラメータ」参照 1.5.3
33 シェイク
積算モード1
振られたか振られていないかを検出し、以下のように DO を変化させます。

0: 全てHi
1: DO1=Lo (他は Hi)
2: DO2=Lo (他は Hi)
3: DO3=Lo (他は Hi)
4: DO4=Lo (他は Hi)
5: DO3=Lo (他は Hi)
6: DO2=Lo (他は Hi)
7: DO1=Lo (他は Hi)
8: 0に戻る

※ PWM1 も制御されますが、将来、動作は変更される可能性があります。
34 シェイク
積算モード2
振られたか振られていないかを検出し、以下のように DO を変化させます。

0: 全てHi
1: DO1=Lo (他は Hi)
2: DO2=Lo (他は Hi)
3: DO3=Lo (他は Hi)
4: DO4=Lo (他は Hi)
5: 0に戻る

※ PWM1 も制御されますが、将来、動作は変更される可能性があります。
35 シェイク
積算モード3
振る前にアンテナ面を上に1.5秒以上静止させる、または、アンテナ面を下に1.5秒以上静止させてから振ります。

振る前に上向きであれば、全部Hi、DO1=Lo、DO2=Lo、DO3=Lo、DO4=Lo、以後 DO4=Lo を維持、の順で DO を制御します。

振る前が下向きであれば逆に制御します。

このモードでは PWM1 の Duty 比も DO の制御と同じように、10段階で制御されます。
36 シェイク
ホールド
シェイクノーマルモードでは、静止が検出された場合、全DOをHiに制御しますが、本モードではこれを省略します。

全DOをHiに設定するには、アンテナ面を下にして静止させます。

※ PWM1 も制御されますが、将来、動作は変更される可能性があります。
37 シェイク
ピークホールド
ホールドモードと同様の制御を行いますが、より強く振られた状態を維持します。一旦最強(DO4=Lo)になると、アンテナ面を下で静止しない限り状態が変わりません。

※ PWM1 も制御されますが、将来、動作は変更される可能性があります。
64 ターン TWE-LITE-2525Aのどの面が上向きかを送信します。 なし 1.6.1
128 スピン TWE-LITE-2525Aの角度を送信します。 なし 1.6.1
256 Nekotter ねこったーと互換性のあるモードです。アプリケーションIDとチャネルを設定すればそのまま、ねこったーとして使用することができます。 なし 1.6.1
512 省電力 待機中にスリープモードに入ります。待機時間が長い使い方の場合は電池寿命を伸ばせます。 なし 1.6.1

シェイクモード設定パラメータ

シェイクモードでは、振りの強さに対する閾値を設定できます。

設定パラメータ 説明 値域 初期値
THT Shakeを判断するための閾値。 E_Shakeがこの閾値を超えていれば振ったと判断する。 また、この時の力の強さは1段階目である。 1~10000 120
THF E_Shake が THFを超えていれば振ったときの力の強さが2段階目であると判断する。THT以下に設定した場合判定しなくなる。 1~10000 500
THA E_Shake が THAを超えていれば振ったときの力の強さが3段階目であると判断する。THT、THF以下に設定した場合判定しなくなる。 1~10000 800
THI E_Shake が THIを超えていれば振ったときの力の強さが4段階目であると判断する。THT、THF、THA以下に設定した場合判定しなくなる。 1~10000 1200
DUR 1秒間に加速度を何回サンプリングするかを決めるパラメータ。(12~100までが推奨)
振るの判定および無線送信間隔も変化します。標準の25では約1秒おきの判定・送信で、50では約0.5秒になります。
6、12、25、50、100、200、400 25

 

TWE-LITE-2525A のShakeモードにおけるShakeを判断するための評価値は以下のように算出します。

    E_Shake = |(x_t - x_t-1) + (y_t - y_t-1) + (z_t - z_t-1)|

x_t、y_t、z_t は時刻 t における各軸の加速度(mg)です。 E_Shake がある閾値を超えたときに TWE-LITE-2525A が振られたと判断します。

しかし、加速度センサが加速度を取得したたびに TWE-LITE が計算を行うと電池の消耗が激しくなるので、 実際には加速度センサ内で 各軸 25時刻分の 加速度を溜めておき、溜まったときに起床してその中で計算した評価値の最大が閾値を超えていれば振ったと判断します。

OptionBitのパラメータ変更

オプションビットの各ビットで各種詳細設定が行えます。

設定値 (16進表記) 機能 説明 対応バージョン
00000010 親機を"超簡単!TWEアプリ"にする 親機を"超簡単!TWEアプリ"にし、TWE-LITE-2525Aの状態ごとに親機の出力を変化させる。 v1.5.0以降
00000400 起動時に設定を取得しない 起動時にOTA設定アプリから設定を取得せずに、TWE-LITE-2525Aが持っている設定を使用します。 v1.5.0以降
00001000 暗号化通信の設定 暗号化通信を有効にします。(相手側の暗号化設定もしてください。)また、親機がApp_Tagの時のみ使用が可能です。 -
00002000 Active/Inactive時のパケット送信タイミングの変更 動いている間、または動いていない間にパケットを送信し続けるモードに変更します。 v1.5.0以降
00010000 UART出力の設定 UART通信でのメッセージ出力を有効にします。 -
80000000 PWM1の出力を線形に変化させる 通常はLEDの変化が見やすいように非直線にPWMのDuty比を変化させていますが、Duty比を線形に変化させるようにします。 v1.5.3 以降

親機のUART出力

子機で得られたセンサ情報を親機の出力形式別に説明します。

標準出力形式(超簡単!TWEアプリ)

親機が超簡単!TWEアプリの時はこの出力形式です。 子機からセンサ情報を受信したとき、ターミナルソフトは以下のように表示されます。

※ 加速度値は10bitに丸められています。より精度が必要な場合は後述する(無線タグアプリ)の形式を利用ください。

:78811501A281021369000120000C4000080F3E3E43622685
 ^1^2^3^4^5^^^^^^^6^7^^^8^9^^^a^b^c^de1e2e3e4ef^g
 
データフォーマット
 1: 送信元の論理デバイスID (0x78 は子機からの通知)
 2: コマンド
 3: パケット識別子 (アプリケーションIDより生成される)
 4: プロトコルバージョン (0x01 固定)
 5: LQI値、電波強度に応じた値で 0xFF が最大、0x00 が最小
 6: 送信元の個体識別番号
 7: 宛先の論理デバイスID
 8: タイムスタンプ
 9: 中継フラグ(中継済みなら1)
 a: 電源電圧[mV]
 b: 未使用
 c: TWE-LITE-2525Aの状態ビット。
 d: 未使用
 e1~e3: X,Y,Z軸の加速度値。
 ef: e1~e4の補正値 (LSBから順に2ビットずつ補正値、LSB側が e1, MSB側が e4)
 g: チェックサム

加速度値の復元は以下のように計算する。
X[mg] = ((e1 * 4 + ef1) * 4) * 8 / 5 - 1600

標準出力形式(無線タグアプリ)

親機が無線タグアプリの時のみ利用可能です。 親機が初期設定の場合、子機からセンサ情報を受信したとき、ターミナルソフトは以下のように表示されます。

::rc=80000000:lq=126:ct=000B:ed=81013C6A:id=0:ba=2830:a1=1263:a2=0634:0012:y=0000:z=-001



このデータは以下のような情報が記述されています。

※ x, y, zの値は100で割ると1g(重力加速度)になります。

Simple Tag V3 形式(無線タグアプリ)

親機が無線タグアプリの時のみ利用可能です。 親機の設定をインタラクティブモードでオプションビットを0x00000020に変更することで以下のようにパソコンで処理しやすい表示形式に変更することができます。

;64;00000000;117;231;1013c6a;2880;0000;0000;1259;0629;X;0090;0007;0096;
;*1;*2      ;*3 ;*4 ;*5     ;*6  ;*7  ;*8  ;*9  ;*10 ;*11;*12;*13;*14 ;


このデータは以下のような情報が記述されています。

Raspberry Pi 向けスクリプト

TWE-LITE-2525A の状態をモニタリングする Pythonスクリプトです。 本スクリプトは下記の2種類があります。

親機を Raspberry Pi と接続し、親機の出力形式を Simple Tag V3 形式に変更してご使用ください。

ライブラリのインストール

本スクリプトを使用するために ソフトと Python のライブラリをインストールします。 インストール手順は以下の通りです。

$ sudo apt-get -y install gnuplot-x11
$ sudo apt-get -y install python-oauth2
gnuplot-py 1.8 をダウンロード
$ tar xzvf gnuplot-py-1.8.tar.gz
$ cd gnuplot-py-1.8
$ sudo python setup.py install

ダウンロード

ダウンロード後、以下のコマンドでダウンロードファイルを解凍します。

$ unzip script.zip

グラフの表示

親機のシリアルポート名が、"/dev/ttyUSB0" であるとき、下記のコマンドで実行します。

$ python graph.py /dev/ttyUSB0

コマンド実行後、下図のようなウインドが表示されます。

Twitterに投稿

本スクリプトを用いる場合、開発者登録がされているTwitterアカウントが必要です。 また、開発者登録した際に入手した4つの Key を twitter.py に記述する必要があります。 詳細は twitter.py 内のコメントを参照してください。

親機のシリアルポート名が、"/dev/ttyUSB0" であるとき、下記のコマンドで実行します。

$ python twitter.py /dev/ttyUSB0

パケットが送信されるたび下図のようなメッセージがツイートされます。

Twitter に投稿されるメッセージは変更可能です。