WAA-001

小型無線加速度センサ
Model: WAA-001
SPP コマンドインターフェース仕様書(Ver. 2.1.1 2006/11/07)

ワイヤレステクノロジー株式会社

WAA-001― 目次 ―
1.

はじめに ...............................................................................................................................................1

2.

概要 ......................................................................................................................................................1

3.

4.

2.1.

通信方式.......................................................................................................................................1

2.2.

コマンドフォーマット .................................................................................................................1

2.3.

レスポンスフォーマット..............................................................................................................1

2.4.

ステータスフォーマット..............................................................................................................22.5.

テキストイベントフォーマット ...................................................................................................2

2.6.

バイナリイベントフォーマット ...................................................................................................2

2.7.

時刻テキストフォーマット ..........................................................................................................3

2.8.

時刻情報.......................................................................................................................................4

2.9.

コマンド一覧................................................................................................................................4

コマンド詳細 ........................................................................................................................................5
3.1.

sett - 時刻設定.............................................................................................................................53.2.

echo - エコーバック設定 .............................................................................................................5

3.3.

stop - 動作停止 ............................................................................................................................6

3.4.

stat - ステータス問合せ ..............................................................................................................73.5.

sniff - sniff モード設定 ................................................................................................................9

3.6.

sens – 加速度計測開始 ..............................................................................................................103.7.

senb – 加速度バイナリモード計測開始.....................................................................................12

3.8.

temp - 温度読み取り設定 ..........................................................................................................14

お問合せ .............................................................................................................................................16

WAA-001

1. はじめに本ドキュメントは本製品に BlueTooth SPP - シリアルポートプロファイルで接続し、制御を行うための方式を説明するものである。

2. 概要
通信方式

2.1.

本製品に対しての制御は、Bluetooth SPP – シリアルポートプロファイルを用いて接続を行い、本ドキ
ュメントにて定義するフォーマットのコマンド/レスポンスを交換することにより行われる。
本製品との通信に使われるフォーマットは一部を除き1テキスト形式を採用しており、TeraTerm などの汎用ターミナルソフトを使ってキーボードからの入力でも動作させることが出来るようになっている。この時、改行コードは送信、受信ともに CFLF(0x0D, 0x0A)が適用される。
本製品との通信では、以下の 4 つの情報が送受信される。

方向名称

説明

送信

コマンド

加速度計測開始要求など、本製品に対する指示。

受信

レスポンス

コマンドに対する処理結果。

ステータス

ステータス問合せの結果、出力する各種ステータス。

イベント

加速度計測データなど、本製品で発生したイベント通知。

2.2.

コマンドフォーマット

本製品に対する指示を行う為のコマンドのフォーマットを定義する。なお、英字の大文字、小文字の区別は行わずどちらでも指定することが出来る。

<コマンド> <パラメータ 1> …<パラメータ X><CR><LF><コマンド>

コマンド名(例:sett)<パラメータ>パラメータ。コマンドによりパラメータの個数は変化する。

<CR><LF>

改行コード。

2.3.

レスポンスフォーマット

本製品に対して送信したコマンドの処理結果として受信するレスポンスのフォーマットである。本製品
1

転送速度を稼ぐために一部のコマンドのイベントはバイナリデータとなっている。
1

WAA-001

でのレスポンスはコマンドを受け付けた事を示す OK と、なんらかの以上の為に受け付けられなかった事を示す NG の二種類がある。

OK<CR><LF>

コマンドが正しく受け付けられた事を示す。

NG<CR><LF>

コマンドのフォーマット異常などで受け付けられなかった事を示す。

2.4.

ステータスフォーマット

コマンドとしてエコーバックやバッテリー残量などのステータスの問合せを行うと、”OK”レスポンスの前に出力されるステータスのフォーマットを定義する。

<ステータス種別>: <状態><CR><LF>

2.5.

<ステータス種別>:

エコーバックやバッテリなどのステータス種別。

<状態>

ステータス種別の現在の状態。

<CR><LF>

改行コード。

テキストイベントフォーマット

テキストフォーマットでイベントを通知するコマンドによってスケジューリング、監視対象となったイベントが発生した場合に出力するフォーマットの定義を行う。

<データ種別>,<付随番号>,HHMMSSmmm,[<データ>,......]<データ種別>sens, adin 等のイベントをスケジュール、あるいは監視する為に使用したコマンド名が格納される。

<付随番号>

adin, rdin, evnt コマンドの出力の場合は端子番号。それ以外の場合は空とする。

HHMMSSmmm

イベント発生時刻。この時刻はかならず 24 時間未満であり、23:59:59.000 の次は 00:00:00.000 にラッピングされる。

[<データ>,......]

2.6.

出力データ(optional)。

バイナリイベントフォーマット

バイナリフォーマットでイベントを通知するコマンドによってスケジューリング、監視対象となったイベントが発生した場合に出力するフォーマットの定義を行う。テキストフォーマットではイベントによって必要としないフィールドでも必ずセパレータによって確保されていたが、バイナリフォーマットではデ2

WAA-001

ータ量削減の為に不要なフィールドは削除される。したがって、ここで示すのは大枠であり、詳細は各コマンドの解説を参照して欲しい。
なお、時刻フィールド、データフィールドにはビッグエンディアンで数値が格納される。

名称

ro

バイト数

説明

データ種別

4

requireイベント発生の要因となったコマンド名。

付随番号

1

optional

PIN 番号や AD チャンネル番号。コマンドによってはフィールドが存在しない。

時刻

4require

符号無し 32 ビット数値でのミリ秒単位でのイベント発生時刻。テキストフォーマットとは異なり、49 日でラッピングされた時刻が出力される。従って、とりうる値は 0~4233599999(49×24×60×60×1000-1)となる。時刻に関する詳細は 2.8 時刻情報を参照して欲しい。

データ

2 × n

optional

符号付 16 ビット数値。コマンドによってデータの数は異なる。

終端マーク

2.7.

1

require

フレームの最後を示す固定値(0xC1)。

時刻テキストフォーマット

本インターフェースによって実行するコマンド、レスポンスに多く利用される時刻フォーマットは、
HHMMSSmmm と表記され、それぞれが次のように定義されている。

HH

2 桁の数値で時を指定する。許容される値は 00〜23 までである。

MM

2 桁の数値で分を指定する。許容される値は 00〜59 までである。

SS

2 桁の数値で秒を指定する。許容される値は 00〜59 までである。

mmm

3 桁の数値でミリ秒を指定する。許容される値は 000〜999 までである。

なお、予約動作時に指定される時刻フォーマットでは、上記 HHMMSSmmm での指定は絶対時間による指定となるが、前に’+’を付与した+HHMMSSmmm 形式の場合は現在時刻からの相対時間による指定となる。
EXAMPLE
123000000

12:30:00.000+003000000

30 分後

3WAA-001

2.8.

時刻情報

イベント発生時刻や、動作の起動予約などで指定/表示される時間は、本製品電源投入時からの経過時間である。内部では時間をミリ秒単位で管理しており、49 日までの時間を保持している。そのため、テキス
トモードで出力される時間は 24 時間(86400000)未満であるが、バイナリモードで出力される時間は最大49 日(4233600000)までの時間が出力される。
この時刻は SPP コマンドの SETT を用いることで任意の時刻を現在時刻として設定することが出来る。
バイナリフォーマットで出力される時刻は基準となる時刻からのミリ秒単位での経過時間となっており、これを時間に変換するには次の式を使用する。この式では、バイナリフォーマットで通知された時刻をmsec として表している。
日= msec / ( 24×60×60×1000 )時= ( msec / ( 60×60×1000 )) % 24分= ( msec / ( 60×1000 )) % 60秒= ( msec / 1000 ) % 60

ミリ秒

= msec % 1000

逆に、時分秒からミリ秒単位の経過時間に変換するには、次の式を使用する。
経過時間 = ((( 日 × 24 + 時 ) × 60 + 分 ) × 60 + 秒 ) × 1000 + ミリ秒

2.9.

コマンド一覧

SPP コマンドには、初期設定、状態制御、スケジューラ起動といった三つのグループのコマンドが存在する。初期設定コマンドでは本製品の設定を、状態制御では現在の状態の出力、制御を、スケジューラ起動コマンドではスケジューラに対して各動作の開始を設定する。

コマンド

説明

初期設定 状/態制御
スケジューラ起動

sett

時刻設定

echo

エコーバック設定

stop

動作停止

stat

ステータス問合せ

sniff

sniff モード設定

sens

G センサー計測開始

senb

G センサー計測開始(バイナリモード)

temp

温度計測開始4

WAA-001

3. コマンド詳細
3.1.

sett - 時刻設定

端末の時刻を設定する。
Bluetooth は時間的な精度はそれほど高くなく、遅延に関する明確な時間は定義されていない。その為Bluetooth 経由での SPP コマンドがどの程度遅れて本製品に届くかを保証する事が出来ず、Bluetooth の無線部分での再送などが発生する場合には数百ミリ秒遅れて設定される場合がある。さらに、Bluetoothでの遅延時間は一定しておらず、SETT コマンドにて複数デバイスの設定を行う場合は全てのデバイスに対する遅延時間が異なる可能性がある。
SYNTAX
sett HHMMSSmmm

オプション
HHMMSSmmm

説明設定する時刻を指定する。

RESULT
正常に設定できた場合には処理完了時に”OK”のレスポンスを出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
EVENT
当コマンドによって発生するイベントはない。
EXAMPLE
18 時 24 分 20.123 秒に設定する場合。

送信

sett 182420123<CR><LF>

受信

OK<CR><LF>

3.2.

echo - エコーバック設定入力されたコマンドのエコーバックの制御、あるいは現在の設定を出力する。
起動直後のデフォルトは OFF である。
SYNTAXecho [{on|off}]

引数

説明5

WAA-001on

エコーバックを行う。

off

エコーバックを行わない。

無し

現在のエコーバックの設定を出力する。

RESULT
正常に設定できた場合には処理完了時に”OK”のレスポンスを出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
引数無しで実行した場合、”OK”の前に現在のエコーバックの設定値が出力される。エコーバックのステータスフォーマットは次のとおりである。ステータス情報は、エコーバックを行う場合は”on”、そうでない場合は”off”が出力される。

echo: {on|off}
EVENT
当コマンドによって発生するイベントはない。
EXAMPLE 1
エコーバックを行う。

送信

echo on<CR><LF>

受信

OK<CR><LF>

EXAMPLE 2
エコーバックの設定値を出力する(エコーバックがオフになっている場合)。

送信echo<CR><LF>

受信

echo: off
OK<CR><LF>

3.3.

stop - 動作停止

予約や継続動作している加速度計測や振動動作を停止する。
SYNTAX
stop <対象> [<オプション>]

オプション

説明6

WAA-001<対象>

停止対象。次のうちのいずれかとなる。

<オプション>

対象毎に定義されているサブパラメータ

停止対象

オプション

説明all

無し

全ての予約と動作を停止する。

sens

無し

加速度計測の予約と動作を停止する。

senb

無し

加速度計測の予約と動作を停止する。

RESULT
正常に設定できた場合には処理完了時に”OK”のレスポンスを出力する。動作、動作予約されていない対象を指定した場合でも、”OK”を返して正常終了する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
EVENT
当コマンドによって発生するイベントはない。
EXAMPLE 1
全動作を停止する。

送信stop all<CR><LF>

受信

OK<CR><LF>

EXAMPLE 2
senb コマンドの動作を停止する。

送信

stop senb<CR><LF>

受信

OK<CR><LF>

3.4.

stat - ステータス問合せ

時間、電池残量、各種コマンドの予約、動作状況を問い合わせる。
SYNTAX
stat <対象>

オプション
<対象>

説明
出力対象を指定する。出力対象は、下記の出力対象一覧から選択する。指定されない

7

WAA-001

場合は全ての情報を出力する。

出力対象一覧
all

全ての情報を出力する。

ver

バージョン情報を出力する。

sniff

sniff モードの状態を出力する。

time

モジュール内時刻を出力する。

batt

バッテリー電圧を出力する。

sens

加速度センサー計測指定時パラメータを出力する。

senb

加速度センサーバイナリモード計測指定時パラメータを出力する。

temp

温度計測指定時パラメータを出力する。

RESULT
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
正常に設定できた場合にはステータス出力完了時に”OK”のレスポンスを出力する。

以下のフォーマットによりステータスを通知する。
出力データ

説明

ver:<バージョン>

ファームウェアバージョン。

sniff:<状態>

sniff モードの状態。

time:HHMMSSmmm

モジュール内時刻

echo:<状態>

エコーバック状況

volt:v.vv

電池電圧(0.01 ボルトまで出力)

sens: <パラメータ>

加速度センサー計測指定時パラメータ(*1)。

senb: <パラメータ>

加速度センサーバイナリモード計測指定時パラメータ(*1)

temp: <パラメータ>

温度計測指定時パラメータ(*1)

OK

コマンド終了レスポンス文字列。

*1 予約、動作している場合のみ出力する。
EVENT
当コマンドによって発生するイベントはない。
EXAMPLE 1
全ステータスを出力する。ただし、加速度計測のみが実行されている場合とする。

送信stat all<CR><LF>

8

WAA-001

ver:受信

2.1.0 (r2942)

sniff:5
time: 00:00:27.312
echo: off
volt: 4.12
sens: 00:00:24.689 100 10 0OK

sniff - sniff モード設定

3.5.

sniff モードの設定を行う。sniff モードは各種パラメータの違いにより、オフも含めて 8 つのモードのいずれかを設定する。これらのモードは下記のパラメータとなる。

mode

max interval

min interval

attempt

timeout

1202021240402136060214808021510010021614014023716016023

初期値は 5 である。
sniff モード間の遷移を行う事は出来ない。これは、非 sniff モードから sniff モードへの移行時に各種パラメータの指定を行う為である。その為、sniff モードで動作時に他の sniff モードに遷移するには、一度”sniff off”コマンドによって非 sniff モードに遷移した上で、3 秒程度時間を空けた上で改めて希望の sniffモードへ遷移する必要がある。特に、起動時のデフォルトが sniff モード 1 の為、他の sniff モードへ遷移する場合に注意して欲しい。
SYNTAX
sniff{<mode>|off}

オプション<mode>

説明
指定されたモードのパラメータで sniff モードに移行する。許容する値は 1〜7 のいずれかである。

off

sniff モードを終了し、通常モードに移行する。

9

WAA-001

現在の sniff モードの状態を出力する。

無し
RESULT

正常に設定できた場合には処理完了時に”OK”のレスポンスを出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
EVENT
当コマンドによって発生するイベントはない。
EXAMPLE 1
sniff モードをオフにして通常モードに移行する。

送信

sniff off<CR><LF>

受信

OK<CR><LF>

3.6.

sens – 加速度計測開始

内蔵加速度センサによる計測のスケジューリングを行う。
SYNTAXsens [+]HHMMSSmmm <interval> <count> <times>

オプション

説明[+]HHMMSSmmm

計測開始時間。

<interval>

サンプリング間隔をミリ秒で指定する。(5〜60000)<count>

出力するまでに要するサンプリング回数を指定する。(1〜60000)<times>

出力する回数を指定する。0 の場合は STOP コマンドで停止されるまで出力を続ける。

<interval>で指定した間隔でセンサーからの値をサンプリングし、その回数が<count>で指定された回数だけ読み取りを行い、その平均値を出力する。
つまり、<interval>ミリ秒×<count>回の間隔でサンプリングした値を出力することになる。この出力間隔は 10 ミリ秒以上でなければならない。例えば、<interval>に 5 ミリ秒を指定した場合は、<count>には2 以上を指定して出力間隔を 10 ミリ秒以上にしなければならない。勿論、<interval>に 10 ミリ秒以上を指定するのであれば、<count>は 1 でも実行される。
<times>では出力する回数を指定する。この値が 0 の場合は非停止となり、STOP コマンドで停止されるまで出力を続ける。

10

WAA-001

interval=<n>count=2
times=3の場合<time>出力

出力<count><interval>
サンプ
リング

出力

<count><interval>

サンプ
リング

<count><interval>

サンプリング<interval>

サンプリング<interval>
サンプリングサンプリングRESULT
予約要求を正しく受けれた時点で”OK”を出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
EVENT
当コマンドによる加速度計測開始要求が受け付けられると、指定した時刻から加速度センサから値をサンプリングし、イベントとしてデータを送信する。その際のフォーマットは下記のようになる。

sens,,HHMMSSmmm,<GX>,<GY>,<GZ>

フィールド

説明

sens

識別子。加速度計測イベントである事を示している。

HHMMSSmmm

イベント発生時刻。

GX

X 軸検出値(mG)。

GY

Y 軸検出値(mG)。

GZ

Z 軸検出値(mG)。

EXAMPLE 1
コマンド受信時より 30 秒経過後から、5 ミリ秒ごとにサンプリングを行い、4 回サンプリングを行った
平均値を送信する。送信回数に制限はなく、stop コマンドによる停止が指示されるまでサンプリングと出力を繰り返しつづける。

送信

sens +000030000 5 4 0<CR><LF>

受信

OK<CR><LF>

11

WAA-001

30 秒経過後
sens,,000020906,26,-4,-1021

受信sens,,000020911,26,0,-1021
sens,,000020916,22,1,-1019
sens,,000020921,26,-1,-1023
:
:

3.7.

senb – 加速度バイナリモード計測開始

内蔵加速度センサによるバイナリモード計測のスケジューリングを行う。
このコマンドは sens コマンドと同等の機能であるが、最小サンプリング間隔、最小出力間隔が短いこと、出力データがバイナリフォーマットである事が異なっている。
SYNTAX
senb [+]HHMMSSmmm <interval> <count> <times>

オプション

説明[+]HHMMSSmmm

計測開始時間。

<interval>

サンプリング間隔をミリ秒で指定する。(1〜60000)<count>

出力するまでに要するサンプリング回数を指定する。(1〜60000)<times>

出力する回数を指定する。0 の場合は STOP コマンドで停止されるまで出力を続ける。

<interval>で指定した間隔でセンサーからの値をサンプリングし、その回数が<count>で指定された回数だけ読み取りを行い、その平均値を出力する。
つまり、<interval>ミリ秒×<count>回の間隔でサンプリングした値を出力することになる。この出力間隔は 5 ミリ秒以上でなければならない。例えば、<interval>に 1 ミリ秒を指定した場合は、<count>には 5以上を指定して出力間隔を 5 ミリ秒以上にしなければならない。勿論、<interval>に 5 ミリ秒以上を指定するのであれば、<count>は 1 でも実行される。
<times>では出力する回数を指定する。この値が 0 の場合は非停止となり、STOP コマンドで停止されるまで出力を続ける。

12

WAA-001

interval=<n>count=2
times=3の場合<time>

出力

出力<count><interval>
サンプ
リング

出力

<count><interval>

サンプ
リング

<count><interval>

サンプリング<interval>

サンプリング<interval>

サンプリングサンプリングRESULT
予約要求を正しく受けれた時点で”OK”を出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
EVENT
当コマンドによる加速度計測開始要求が受け付けられると、指定した時刻から加速度センサから値をサンプリングし、イベントとしてデータを送信する。その際のフォーマットは下記のようになる。

名称

バイト数

説明

データ種別

4

“senb”固定

時刻

4

ミリ秒単位でのイベント発生時刻。

データ

2 × 3

符号付 16 ビット数値。X 軸、Y 軸、Z 軸の加速度が mG 単位で格納される。

終端マーク

1

フレームの最後を示す固定値(0xC1)。

EXAMPLE 1
コマンド受信時より 20 秒経過後から、1 ミリ秒ごとにサンプリングを行い、5 回サンプリングを行った平均値を送信する。送信回数に制限はなく、stop コマンドによる停止が指示されるまでサンプリングと出力を繰り返しつづける。

送信

senb +000020000 1 5 0<CR><LF>

受信

OK<CR><LF>
20 秒経過後13

WAA-001

受信<73> <65> <6E> <62> <00> <00> <51> <AF>
<FF> <DD> <FF> <EF> <FC> <2C> <C1> <73>
<65> <6E> <62> <00> <00> <51> <B4> <FF>
<DD> <FF> <EF> <FC> <35> <C1> <73> <65>
<6E> <62> <00> <00> <51> <B9> <FF> <DD>
<FF> <EF> <FC> <24> <C1> <73> <65> <6E>
<62> <00> <00> <51> <BE> <FF> <DD> <FF>
<F8> <FC> <3E> <C1>
::

3.8.

temp - 温度読み取り設定

温度を計測するスケジューリングを行う。温度センサの計測範囲は-25℃から 75℃までであり、計測誤差は±3℃です。
SYNTAX
temp [+]HHMMSSmmm <interval> <count> <times>

オプション

説明[+]HHMMSSmmm

出力開始時間。

<interval>

サンプリングする間隔をミリ秒で指定する(5〜60000)。

<count>サンプリングする回数を指定する(1〜60000)。

<times>

出力する回数を指定する。0 の場合は STOP コマンドで停止されまで出力しつづける。

<interval>で指定した間隔でセンサーからの値をサンプリングし、その回数が<count>で指定された回数だけ読み取りを行い、その平均値を出力する。
つまり、<interval>ミリ秒×<count>回の間隔でサンプリングした値を出力することになる。この出力間隔は 10 ミリ秒以上でなければならない。例えば、<interval>に 5 ミリ秒を指定した場合は、<count>には2 以上を指定して出力間隔を 10 ミリ秒以上にしなければならない。勿論、<interval>に 10 ミリ秒以上を指定するのであれば、<count>は 1 でも実行される。
<times>では出力する回数を指定する。この値が 0 の場合は非停止となり、STOP コマンドで停止されるまで出力を続ける。
RESULT
予約要求を正しく受けれた時点で”OK”を出力する。
オプション文字列のフォーマットが間違っている場合は”NG”のレスポンスを出力する。
14

WAA-001

EVENT
当コマンドによる AD 計測開始要求が受け付けられると、指定した時刻から AD 変換器から値をサンプリングし、イベントとしてデータを送信する。その際のフォーマットは下記のようになる。

temp,,HHMMSSmmm,<temp>

フィールド

説明temp識別子。温度計測イベントである事を示している。

HHMMSSmmm

イベント発生時刻。

<temp>

温度。単位は摂氏 0.1℃。

EXAMPLE 1
コマンド受信時より 20 秒経過後から、500 ミリ秒ごとに温度を計測し、2 回計測を行った平均値を送信する。データを 60 回送信すると終了する。

送信

temp +000020000 500 2 60<CR><LF>

受信

OK<CR><LF>
20 秒経過後受信

temp,,002409590,260
temp,,002410590,260
temp,,002411590,260
temp,,002412590,260::

15

WAA-001

4. お問合せ
本製品のお問合せは下記サポートセンターにて受け付けています。

社名

ワイヤレステクノロジー株式会社

郵便番号140-0013

住所

東京都品川区南大井六丁目 25 番 14 号 OSK ビル 7 階

メールアドレス

info@wireless-t.jp

16