2013/11/10

[ble]知りたいところだけ調べる (3)

Characteristicについて、もう少し調べておこう。

LightBlueで見ると、Characteristicのアクセス方法がいくつかあるのがわかった。
ReadとかWriteとか。
一覧が欲しいと思ったが、なかなか出てこなかった。。。
コアバージョン 4.0(pdf)の、p.1898にある「Table 3.5 Characteristic Properties bit field」がそれらしい。

Properties Value
Broadcast 0x01
Read 0x02
Write Without Response 0x04
Write 0x08
Notify 0x10
Indicate 0x20
Authenticated Signed Writes 0x40
Extended Properties 0x80

ざっと説明を読んだところだと、ClientがServerに対して要求をかけるシーケンスになっていた。
ClientがRead要求をかけると、Serverから読んだ値が返ってくる、というような。

ReadとWriteはわかるとして、NotifyとIndicateはなんだ?
Notifyは、ServerからClientへCharacteristic ValueをNotifyする手段のようだ。
Indicateも、ServerからClientへCharacteristic ValueをIndicateする手段のようだ。
Notifyは通知、Indicateは指示。
つまり、Notifyは「こんな値です」と教える手段で、Indicateは「値を教えろ」と要求する手段ということなのだろう。

RC-S390はPeripheralで、iPad miniがCentralという立ち位置なのだが、CharacteristicのアクセスとしてはRC-S390が「Server」で、iPad miniが「Client」ということになりそうだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。