明るさブロックは、入力として使用できる明るさセンサー、近接センサーをそれぞれ1つ備えています。
ブロックの制御に使用する特性(characteristic)は MESH ブロックの機能利用を、具体的な接続の流れは接続方法を参照してください。
- 書き込み
- 通知
書き込み
Event Type ID 一覧
Event Type ID |
書き込みイベントの種類 |
説明 |
---|---|---|
0x00 |
モード設定 |
通知モードの設定 |
モード設定
明るさブロックの通知を設定します。
データ位置 |
内容 |
例(下線 は固定値) |
---|---|---|
0 |
0x01 |
|
1 |
0x00 |
|
2 |
0x01(任意の ID) |
|
3 - 12 |
固定値 |
0x00 |
13 - 15 |
固定値 |
0x02 |
16 |
0x04(近接センサー値が変化) |
|
17(最終データ) |
0x0c |
リクエストID
通知に設定する ID です。特定の通知設定とその通知の対応を確認する識別子として使用します。
表記 |
値の範囲 |
---|---|
10進数 |
0 ~ 255 |
16進数 |
0x00 ~ 0xFF |
必要のない場合は、0x00 を指定します。設定時に現在の状態を受け取りたい場合や、複数の状態設定通知を連続して書き込む場合は、通知設定ごとに任意の ID を設定してください。
通知は、直近の設定時間以内に検出が1度でもあれば検出とみなして応答しますが、タイマー割り込みの間隔である 50 ms 程度ずれる可能性があります。
複数の通知モードを組み合わせる場合、一部の通知で指定した値が返らないことがあります。詳細は通知モードを確認してください。
通知モード
ブロックから通知されるタイミングを設定します。
値 |
モード |
---|---|
0x00 |
通知停止、または通知モード未設定時(初期値) |
0x04 |
近接センサー値が変化 |
0x08 |
照度センサー値が変化 |
0x10 |
現在の値を 1 回通知 |
0x20 |
500 [ms] 毎に取得したデータを毎回通知 |
複数の通知モードを組み合わせる場合は通知モードの和を設定します。
例:0x0C(近接センサー値が変化+照度センサー値が変化、それぞれ通知)
通知モードを組み合わせる場合は、一部の通知が指定したリクエスト ID で返らない場合があります。
-
1 回通知(0x10)を他の通知モードを組み合わせる場合、1 回通知のみが指定したリクエストIDで返ります。例えば 0x11 の場合は、最初の1回(0x10 相当)分だけが指定したリクエストIDで返り、以降(0x01 相当)は リクエスト ID が 0x00 で返ります。
-
1 回通知(0x10)と毎回通知(0x20)を同時に設定する際は、0x30 の場合のみ 0x20 が無効となり 1 回しか通知されません。
通知
Event Type ID 一覧
Event Type ID |
通知イベントの種類 |
説明 |
---|---|---|
0x00 |
状態通知 |
センサーの値や出力モードを通知 |
状態通知
近接・照度センサーの値、近接センサー出力モードを通知します。
データ位置 |
内容 |
例(下線 は固定値) |
---|---|---|
0 |
0x01 |
|
1 |
0x00(状態通知) |
|
2 |
0x01(任意の ID) |
|
3 |
0x04(近接センサー値が変化) |
|
4 |
LSB 0x01、MSB 0x00 (1) |
|
5 |
||
6 |
LSB 0x00、MSB 0x01 (256) |
|
7 |
||
8~11 |
使用しません |
- |
12(最終データ) |
|
|
LSBおよびMSBに関しては、リトルエンディアンを参照してください |
リクエストID
モード設定で設定された値が入ります。
通知モード
モード設定で設定された値が入ります。
近接センサー値
近接センサーが検知した反射光の計測値です。近いほど大きな値になります。
表記 |
値の範囲 |
---|---|
10進数 |
0 ~ 4,095 |
16進数 |
0x0000 ~ 0x0FFF |
近接センサー値の意味
近接センサーは、赤外線を発する発光素子(LED)と、その光を受け取って電気信号に変換する受光素子(フォトダイオード)の組み合わせから成り立っており、発光素子から放射された赤外線光が近傍の物体で反射され戻って来た量を受光素子でカウントしています。そのため、センサーの正面近傍に物体があると大きな値、ない場合は小さな値が通知されます。
センサーから物体までの距離が同じでも、物体の材質、形状、色、周囲の環境などによって値は変わります。近接センサー値を利用する場合は、実際に使用される環境で近接度を確認したいものをセンサーに近接させて値を確認しながらプログラム内で活用してください。
照度センサー値
照度センサーの計測値です。照度 [lx] に換算する場合は10倍してください。(0 ~ 655,350 [lx] 相当)
表記 |
値の範囲 |
---|---|
10進数 |
0 ~ 65,535 |
16進数 |
0x0000 ~ 0xFFFF |