BLE を知ろう(その1)
どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)
Python の BLE ライブラリ bleak のプログラムの話をするにあたり BLE ( Bluetooth Low Energy ) のことを分かっていた方が良いので書いていきます。
従来の Bluetooth と BLE ( Bluetooth Low Energy )
Bluetooth には、従来の Bluetooth ( Bluetooth Classic ) と BLE ( Bluetooth Low Energy ) の2種類があります。
従来の Bluetooth ( Bluetooth Classic ) には、Bluetooth Basic Rate / Enhanced Data Rate (BR/EDR) が含まれます。
Bluetooth の規格としては、3.0 までのことです。
コレに対して BLE ( Bluetooth Low Energy ) はローエナジーの名の通り、大幅に省電力化された Bluetooth の規格で Bluetooth 4.0 から導入されています。
Windows で BLE を使いたければ、 Bluetooth 4.0 以上に対応したマシンか、USB のアダプタが必要になります。
かげさんは、「<a href="https://kage3.cocolog-nifty.com/blog/2021/09/post-385814.html">Bluetooth のバージョンを確認したら古かったので新しいアダプタを購入した</a>」に書いたように Bluetooth 4.0 の USB アダプタを使っています。
一応、 Bluetooth 5.0に対応している機器も持っているので Bluetooth 5.0 以上に対応したものにしたいところです。
セントラルとペリフェラル
Bluetooth は無線通信なので親機/子機のような関係があります。
BLEでは、親機のことを「セントラル」、子機を「ペリフェラル」と言います。
親機は、PC や スマホ、ゲートウェイなど高性能デバイスが中心になります。
子機で有名なのは、キーボードやマウス、ヘッドホン、イヤホンなどです。
もちろん、今だとIoTで使う各種センサ機器、健康機器、スマートウォッチなどもあります。
セントラルの接続台数は、セントラル機器の能力によって違います。
7台のペリフェラルと接続できるセントラルもあれば、1台しか接続できないセントラルもあります。
接続待ちの仕組みアドバタイズ
アドバタイズは、不特定多数を相手に送信するブロードキャスト通信です。
ペリフェラル機器は、アドバタイズで「僕はここにいる」とアピールします。
セントラル機器は、アドバタイズをスキャンすることで、どんなペリフェラルがいるか知ることができます。
ペリフェラルは、アドバタイズで不特定多数を相手に送信するのでセントラルであるスマホと PC 両方でペリフェラルを検出できます。
ペリフェラル機器の距離を受信電波強度(RSSI)で知る
セントラル機器は、RSSI の強さからペリフェラル機器との距離感を知ることができます。
電波が強い=RSSIが強い=ペリフェラル機器が近くにある ということです。
Bluetooth は短距離の通信で、ざっくりと Class 1(100m)、Class 2(10m)、Class 3(1m)となっています。機器によっては Class 2 が強化された20mというものもあるようです。
Classによって距離が変わるものの、遠いものほど受信電波強度(RSSI) が弱くなります。
ここまではOKだ
コメント
このブログの新着コメントをRSSリーダに登録する為のxml