箱庭ハーブblog

7年目プログラマの趣味の小部屋

BluetoothとBLE

手持ちのメモを供養するシリーズ3

bluetooth 1、用語
________________________________________________________________
用語
スマートレディ:Bluetooth Smart Ready。両対応
スマート   :Bluetooth Smart。BLEのみ
無印     :Bleutooth (無印)。クラシックのみ
マスタ    :通常はPCやスマホ(GATTクライアント)。マスタは同時にスレーブになれる
スレーブ   :マスタに従属する端末(GATTサーバ)。スレーブは同時に2つのマスタに所属できない
ピコネット  :マスタスレーブ間のネットワーク
用語 BLE
BLE        :Bluetooth Low Battery。4.0以降から規格化。電力消費が低く、端末発見が早い
ホスト層       :BLEの通信レイヤの区分。ネットワーク層に相当する
コントローラー層   :BLEの通信レイヤの区分。物理層~リンク層に相当する
GAP        :General Access Profile。セッション確立前に使用する通信規格。アプリは意識しない
GATT       :Generic ATTribute Profile。セッション確立後に使用するHOST層の通信規格
アドバタイジング   :スレーブの状態の一つ。定期的に自分がいることを知らせる待機状態のこと
Broadcaster/Observer :後述
用語 BLE(アプリ)
セントラル      :Central。マスタ、GATTクライアント
ペリフェラル     :Peripheral。ほとんどの場合、スレーブかつGATTサーバ
プロフィール     :=GATT。端末の情報
サービス       :BLE機器の機能。1つのBLE機器は複数のService持ちうる
キャラスタリスティック:BLE機器のServiceのパラメータ。Serviceは複数のCharacteristicを持ちうる





bluetooth 2、BLE
________________________________________________________________
BLE 仕組み コントローラー層
クラシックとは異なる特徴をいくつか持つ
1、端末の識別 :slaveはアドバタイズ情報を定期的に発信する。masterはそれを拾う
2、通信確立  :masterはアドバタイズ中のslaveを検索し、GATT通信を確立する
3、通信方式  :master-slave間の定期通信に乗せる形で通信データを送る(=最大50ms程度遅延)
4、ピコネット :masterは各slaveに対して異なるクロックを提供する。slave同士は認識しない
5、端末の状態 :下記の状態遷移を2つ以上持つことができる
         ただし、masterかつslaveの組み合わせにはなれない。切り替えることは可能
        scanning
          |
advertising ー standby ー Initiating
  |             |
connection(slave)    connection(master)
BLE 仕組み ホスト層
Peripheral(Device)-Service-Characteristic
・Serviceの取得=接続
・Characteristicの値を読み書き=Serviceに操作
・1つのPeripheralは、普通2つ以上のServiceを持つ(例:バッテリ情報、ディスプレイ表示更新用)
________________________________________________________________
BLE アプリ アドバタイジングでやり取り可能な情報
AdvertisementData
・kCBAdvDataLocalName:例えば、CSR Lightingなど
・kCBAdvDataServiceUUIDs:固有のUUID
・kCBAdvDataIsConnectable:1
・kCBAdvDataTxPowerLevel:-2
BLE アプリ  GATTの構造
 16ビットUUID :SIGが取り決めた、種類ごとのUUID
128ビットUUID :任意のUUID
属性ハンドル     :サービスやキャラクタリスティックを識別する番号
BLE アプリ iOS
               :CBPeripheral
               :CBCentralManager
               :scanForPeripheralWithServices
               :CBPeripheralDelegate
デバイス発見時のコールバック :peripheral didDiscoverServices
キャラクタ発見時のコールバック:peripheral didDiscoverCharacteristicsForService
               :peripheral didUpdateValueForCharacteristic
               :peripheral didUpdateValueForCharacteristic
               :discoverDescriptorsForCharacteristic
キャラクタリスティックを表す :CBCharacteristic
通知受取           :CBDescriptor
               :CBUUID
コメント
PAGETOPへ
過去の記事
ASP.NET知識の供養

コメント送信

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード

パスワードを入れておかないと、コメントの再編集ができません!

フリーエリア

takemori
Twitter : @takemori_kondo

1. Unityと戯れてます
2. Cake3は劣化じゃないRails

iOS
coming soon...

Windows
Html Editor - Nazuna
Managed DirectX サンプル集

beginning since
2006.08.17
renewaled on
2011.06.03

最新コメント

[2013/06/14 ミューネ]
[2012/08/30 ノートPC]