人感ブロックは、入力として使用できる人感センサーを 1 つ備えています。
ブロックの制御に使用する特性(characteristic)は MESH ブロックの機能利用を、具体的な接続の流れは接続方法を参照してください。
- 書き込み
- 通知
書き込み
Event Type ID 一覧
Event Type ID |
書き込みイベントの種類 |
説明 |
---|---|---|
0x00 |
モード設定 |
通知モードの設定 |
モード設定
人感ブロックの通知モードを設定します。
データ位置 |
内容 |
例(下線 は固定値) |
---|---|---|
0 |
0x01 |
|
1 |
0x00 (モード設定) |
|
2 |
0x01(任意の ID) |
|
3 |
0x01(検知したら通知) |
|
4 |
LSB 0xF4、MSB 0x01(500 [ms]) |
|
5 |
||
6 |
LSB 0xF4、MSB 0x01(500 [ms]) |
|
7 |
||
8(最終データ) |
0xED |
LSBおよびMSBに関しては、リトルエンディアンを参照してください。
リクエストID
通知に設定する ID です。特定の通知設定とその通知の対応を確認する識別子として使用します。
表記 |
値の範囲 |
---|---|
10進数 |
0 ~ 255 |
16進数 |
0x00 ~ 0xFF |
必要のない場合は、0x00 を指定します。設定時に現在の状態を受け取りたい場合や、複数の状態設定通知を連続して書き込む場合は、通知設定ごとに任意の ID を設定してください。
通知は、直近の設定時間以内に検出が1度でもあれば検出とみなして応答しますが、タイマー割り込みの間隔である 50 ms 程度ずれる可能性があります。
人感ブロックの場合、特定の通知モードを含まない場合のリクエスト ID は 0x00 が返ります。詳細は通知モードを確認してください。
通知モード
ブロックから通知されるタイミングを設定します。
値 |
モード |
---|---|
0x00 |
通知停止、または通知モード未設定時(初期値) |
0x01 |
検知したら通知 |
0x02 |
検知しなくなったら通知 |
0x10 |
現在の検知状態を 1 回通知 |
0x20 |
200 [ms] 毎に取得したデータを毎回通知 |
複数の通知モードを組み合わせる場合は通知モードの和を設定します。
例:0x03 (検知したら通知+検知しなくなったら通知)
通知モードを組み合わせる場合は、一部の通知が指定したリクエスト ID で返らない場合があります。
-
人感ブロックの場合、1 回通知(0x10)を含まない通知モードの設定時には、リクエスト ID が0x00 で返ります。
-
1 回通知(0x10)を他の通知モードを組み合わせる場合、1 回通知のみが指定したリクエストIDで返ります。例えば 0x11 の場合は、最初の1回(0x10 相当)分だけが指定したリクエストIDで返り、以降(0x01 相当)は リクエスト ID が 0x00 で返ります。
-
1 回通知(0x10)と毎回通知(0x20)を同時に設定する際は、0x30 の場合のみ 0x20 が無効となり 1 回しか通知されません。
人感ブロックの場合、通知モードを設定する順番によっては、以前の通知が停止する場合があります。
-
毎回通知(0x20)を含む通知モードで動作している場合、1 回通知(0x10)を含む通知モードを設定すると、毎回通知が止まります。
-
毎回通知(0x20)を継続したい場合は、1 回通知(0x10)を設定した通知の取得後に、再度毎回通知を含む通知モードを設定しなおしてください。
検知時の保持時間 [ms]
検知されてから、ふたたび未検知の状態に戻るまでの時間です。デフォルトは500 msです。
表記 |
値の範囲 |
---|---|
10進数 |
200 ~ 60,000 |
16進数 |
0x00C8 ~ 0xEA60 |
例:検出時の保持時間 2,000 [ms] の場合
応答時の検知判断時間 [ms]
通知モードが 0x10(現在の検知状態を1回通知)の場合に、過去の検知状態をさかのぼる時間です。過去の検知状態を利用することで、人がいたかどうかを確認できます。デフォルトは500 msです。
表記 |
値の範囲 |
---|---|
10進数 |
500 ~ 60,000 |
16進数 |
0x01F4 ~ 0xEA60 |
通知
Event Type ID 一覧
Event Type ID |
通知イベントの種類 |
説明 |
---|---|---|
0x00 |
状態通知 |
検知・未検知を通知 |
状態通知
人感センサーの検知・未検知を通知します。
データ位置 |
内容 |
例(下線 は固定値) |
---|---|---|
0 |
0x01 |
|
1 |
0x00(検知状態通知) |
|
2 |
0x01(任意の ID) |
|
3 |
0x01(検知) |
|
4 |
0x11(検知したら通知+現在の検知状態を1回通知) |
|
5(最終データ) |
0x05 |
リクエストID
モード設定で設定された値が入ります。設定されていなかった場合は 0x00 になります。
検知状態
以下のいずれかの値が入ります。電源をオンにして30秒以内は校正中のため、状態が「起動中」となります。
値 |
状態 |
---|---|
0x00 |
起動中 |
0x01 |
検知 |
0x02 |
未検知 |
通知モードと応答時の検知判断時間 [ms] の組み合わせによっては、返る値が現在の検知状態と異なる可能性があるため、注意してください。
通知モード
モード設定で設定された値が入ります。