クラシックBluetooth/BluetoothLowEnergyメモ

クラシックBluetooth

  • FH(Frequency Hopping):ストリームが途切れないよう1600times/sec周波数チャネルを切り替える仕組み。マスタがランダムにホップし、スレーブはこれに追従する
  • 2402-2480MHzの間に1MHz間隔で79個のチャネルをランダムに選択
  • AFH(Adaptive Frequency Hopping):Wifiを検出したらその帯域を避けるホッピング方式。Bluetooth1.2からサポート。
  • Zigbeeはネットワーク全体で一つの周波数チャネルを使用
  • WifiはAP毎にチャネルを選択可能。ただしチャネル同士の帯域はオーバーラップしている
  • Bluetooth Class1 飛距離100m, 出力 100mW
  • Bluetooth Class2 飛距離 10m, 出力 2.5mW
  • Bluetooth Class3 飛距離 1m, 出力 1mW
  • フレネルゾーン: 送信側から発せられた電波を受信側に電力損失なく到達させる空間
  • 外部アンテナの指向性に注意
  • BT3.0はWiFiと同じ24Mbpsをサポートしているが、Wifiを使う人がほとんどのため使われていない?
  • BTのネットワークトポロジは基本スター型でピコネットと呼ばれる。ピコネットはマスタ1台スレーブ7台まで構成可能だがスレーブ8台目はパークモードと呼ばれる待ち状態で存在し、マスタと同期することができる。
  • さらにマスタ同士をつなぐスキャッタネットにも対応。
  • ACL 非同期通信。データ通信用。ポーリング方式のパケット交換リンク。
  • SCO 同期通信。音声通信用。一定の転送レートを保証。

Bluetooth Low Energy

  • FHのホッピング数が3つ。クラシックBluetoothは79。
  • スキャンするための時間が短縮されるため、クラシックBluetoothの接続時間と比べると 20ms -> 2.5ms、アプリケーションデータ転送時間 30-120ms -> 3ms で済む
  • LEモードではすべてGATTを通して通信が行われる
  • BT4.0では2402-2480MHzのうち2MHzおきに40チャネルの周波数帯を利用する。LEモードではそのうち3チャネルがアドバタイジングに使われる。
  • データの受け渡しにはPush, Pull, Set, Broadcast, Getが用いられる
    • Push:サーバのデータに変化があるとクライアントにデータを送る
    • Pull:クライアントがサーバに持っているデータを送るように要求する
    • Set: クライアントがサーバのデータを書き換えるように要求する
    • Broadcast: データをビーコンのように送り出す。相手が受信しているかどうかはわからない。
    • Get: デバイスがもっているAttributeの情報を受け取る。これによってデバイスがどのようなAttribute情報をもっているかがわかる。