数多くの候補から自分好みのものを選択できるAndroidデバイス。高度なカスタマイズが可能なことも魅力であり強みです。しかし、その反面、わかりにくさを指摘されることもあります。ここではそんな「Androidのここがわからない」をわかりやすく解説します。今回は、「Andorid 4.2以降はBluetoothが違う、ってどういうこと?」という質問に答えます。
***
Android端末にかぎらず、パソコンやiPhoneなどBluetoothをサポートするデバイスは、無線通信部分のみをハードウェア(IC)に任せ、その他の処理をソフトウェアで行っています。そのソフトウェアは「Bluetoothスタック」と呼ばれ、Android OS 4.1までは主に「BlueZ」が利用されてきました。
そのBluetoothスタックが、Android 4.2(Jelly Bean)から「Bluedroid」に変更されました。チップベンダーのBroadcomが開発し、Android Open Source Project(AOSP)に寄贈するという形式をとっているため、どのメーカーのAndroid端末でも利用できます。
Bluedroidへの移行に伴う最大のメリットは、BLE(Bluetooth Low Energy、ブランド名は「Bluetooth Smart」)のサポートです。従来のBluetooth規格と比較すると、BLEは消費電力が極めて少なく、スマートウォッチや家電との連携、あるいは店舗や施設内での行動を追跡するための「ビーコン」との通信に最適です。iOSでは、iOS 7のときからBLEを利用するビーコン(iBeacon)がサポートされていますが、AndroidでもBluedroidの強化によりAndroid 4.3(Jelly Bean)からビーコンを利用できるようになりました。
安定性と信頼性の向上もポイントです。BlueZはLinux汎用/デスクトップ向けのスタックとして開発されてきましたが、Bluedroidは組み込み用途に最適化されており、BluetoothのためだけにD-Bus(デスクトップLinuxシステムで利用されるプロセス間通信機構)を用意する必要がなくなりました。システムをシンプルに保てるぶん、安定性が向上したというわけです。