【iOS/Andorid/Windows】各OSごとのBLE対応状況解説

 In お知らせ・学ぶ・導入事例

こんにちは、無線化.comカスタマーサポート担当の清水です。
本日は各OSごとのBLE対応状況についてご説明します。(BLE = Bluetooth Low Energy, Bluetooth Smart:以下、BLEと表記します。)

尚、下記状況は2016年1月現在の情報です。今後は各OSともに、状況が改善されていくことが予想されます。
(2016年11月8日追記)ZEAL-LE0-Cの販売を開始いたしました。

通信相手デバイスがBluetooth4.0(BLE)に対応していても、ユーザが自由にBLE通信できるとは限りません。

『BLEモジュールを使って、スマートフォンやパソコンとBLE通信させたい。』というエンジニアの方が増えています。当社でもBLEモジュールZEAL-LE0をご提供しておりますが、通信相手選びには少し注意が必要です。

通信相手デバイスがBluetooth4.0(BLE)に対応していても、ユーザが自由にBLE通信できるとは限りません。

Windows, iOS, Android – 各OSごとにBLEの対応状況は異なり、対応デバイスも様々です。通信させたい相手デバイスがBLE通信を行えるのか、事前にしっかりと確認、把握しておくことが重要です。ここでは各OSごとのBLE対応状況と注意点について解説していきます。

Logo 6 Bluetooth Smart

BLE通信を行うのはGATTプロファイル。重要なのはGATT APIに対応していること

BLE通信は、GATT(Generic ATTribute)というプロファイルを使用します。当社のZEAL-LE0はGATTを搭載していますし、通信相手デバイスもGATTを搭載していることが必須条件となります。

ただ、相手デバイスにGATTが載っていればOKかというと、そうではありません。
「ユーザ(メーカーエンジニア)」がBLE通信のデータにアクセスするためには、OSレベルでGATTのAPIが用意されている必要があります。
※「ドライバが用意されている」と置き換えても結構です。

つまり、仮にWindowsPCやスマートフォンにBLE(GATT)が搭載されていても、OSにGATT APIが用意されていなければ、ユーザが自作アプリ内から自由にBLEデータを扱うことはできません。各OSごとにBLE対応状況が異なるというのは、各OSごとにGATT APIの対応状況が異なるということです。

各OSごとのBLE対応状況

各OSのGATT API対応状況は下記の通りです。

Windows:8.1以降(※要注意)
iOS:iOS6以降
Android:Android4.4以降(注:正式には4.3以降だが、4.3は不具合あり)

iOS

もしBLE通信を行いたいのであれば、BLEへの対応が一番進んでいるOSとしてまず候補に挙がるのがiOSです(Apple自身がBLEの活用に積極的であり、AppleがBluetoothに力を入れていることは、昨年、Bluetooth SIGのプロモーターメンバーに参画したことからもわかります)。

OSとしてはiOS6以降でGATT API(CoreBluetooth)が本格採用され、特に目立った不具合も聞かれません。
また、デバイス(ハードウェア)としてもiPhone4S以降でBLEに対応していることから、現在、国内で利用されている多くのiOSデバイス(iPhone、iPad)がBLEに対応していると考えられ、安心して利用できる通信デバイスと言えます。

当社でもiOSを中心にZEAL-LE0の動作確認を行っています。

iOSの注意点

  • iOSアプリの開発には、Appleの iOS Developer Program 契約とMac本体が必要。
  • iOSアプリの配信にはAppStoreへの登録審査が必要。

Android

AndroidもBLEへの対応が進められています。ただ、iOSに比べるとまだ対応機種が限られるのがネックと言えます。

AndoridはAndroid4.3からOSレベルでGATT APIに正式対応していますが、4.3では不具合があると言われており、実質、Android4.4以降と考えて良さそうです。不確かな情報によると、現在市場に出回っているAndroidデバイスの内、GATT APIに対応した機種はおよそ5%程度しかないとの情報もあります。利用機種を指定できる案件であればさほど問題にはなりませんが、多機種への対応が必要な案件であれば、BLE非対応機種が多いAndroidは大変かもしれません。

もし対AndroidでBLE通信を行う場合には、Googleがリリースしている「Nexusシリーズ」がおすすめです。Nexusシリーズはキャリアやメーカー独自のアプリがインストールされていないため、「混じりけのないAndroidOS」として扱うことができ、トラブルも少ないです。当社でもNexus6やNexus5, Nexus7を用いて動作確認を行っております。

AndroidでのBLE利用につきましては、下記サイトのようにかなり詳しく解説しているページがございますのでそちらをご参考ください。
http://mslgt.hatenablog.com/entry/2015/05/17/212257
http://qiita.com/HideMatsu/items/6a6758eca86500881126
http://blog.fenrir-inc.com/jp/2013/10/bluetooth-le-android.html

Androidの注意点

  • まだ対応機種が限られているため、機種選定に制約がある。
  • しかもAndroidは各メーカー、各機種ごとに、OSが独自カスタマイズされているため、仮にAndroid4.4以降の端末だとしても、実際に試してみなければBLE通信できるかわからないという懸念材料もある。

Windows

MicrosoftはWindows8.1からGATT APIに正式対応しました。従って、もしWindowsでBLEデータを扱いたければ、必然的にWindows8.1以降縛りということになり、Windows8以前のPCは対象外となります。

しかも、WindowsのGATT APIは不安定との情報が多く、まだ実用レベルに達していないとの見方が強いです。Microsoftが作るBluetoothドライバは、Windows Mobileの時代から不安定ということもあって、当社も極力利用を避けてきました。そう言った経緯もあることから、Windows OSで安心してBLE通信が行えるようになるまでには、まだまだ時間を要するかもしれません(今後、改善されていくことも間違いないと思いますが・・・)。

よくある誤解!Bluetooth4.0対応の市販USBドングルを使えばBLE通信できる?

Windows PCでBluetooth通信を行う場合、市販のUSBドングルを利用されている方も多いと思います。しかし、BLE通信において特にご注意いただきたいのが市販USBドングルの存在です。

市販されているUSBドングルの中には、Bluetooth4.0(GATT)に対応した製品もありますが、ドングル付属のBluetoothドライバはGATT APIがを用意しているわけではないため、ユーザが自由にBLEモジュールと通信を行えるわけではありません(ZEAL-LE0に限らず、一般的なBLEモジュールでも通信できません)。ドングルが用意した使い方(例えばマウスやキーボードなど)でのみBLE通信ができるような仕組みになっています。このため、現状、対Windows PCでBLE通信を行いたい場合は前述のようにWindows8.1を用いるしかないというのが実情です。

無線化.comオリジナルWindows用BLEドングルを開発中

zeal-usb-dongle無線化.comオリジナルBLEドングル

このような状況を受け、当社ではZEAL-LE0と通信可能なセントラル専用モジュールZEAL-LE0-Cと専用USBドングルを開発中です。

価格としてはセットで@2〜3万円程度を想定しており、市販USBドングルと比べるととても高価なものになってしまいますが、ドングル内部にGATTプロファイル内蔵のBLEモジュールを組み込むことで、従来のSPP同様、COMポートでBLEデータを受けられるという商品です。

また、Windows側に必要なのはUSBドライバだけになりますので、Windows OSのバージョンや環境変化に影響されないという大きなメリットが生まれます。エンドユーザ様から『Windowsのバージョンを上げたら動いてたアプリが動かなくなった』というご経験があるメーカー様なら、このメリットはご納得いただけるのではないでしょうか。

zeal-usb-dongle2

すぐにお試しいただけます

2016年1月現在、セントラル版BLEモジュールZEAL-LE0-Cはエンジニアリングサンプルが完成しています。USBドングルについてはサンプル基板が完成しており、今はケースを作っている状況です。具体的なリリース時期はまだ調整中ですが、サンプルモジュールとアダプタ基板はございますので、評価していただくことは可能です。

(2016年11月8日追記)ZEAL-LE0-Cの販売を開始いたしました。以下のラインナップからお選びいただけます。
ZEAL-LE0ペアモジュールセット(ZEAL-LE0-PAIR)
ZEAL-LE0カンタンペア通信キット(ZEAL-LE0-KIT-PAIR)
ZEAL-LE0-C単体(ZEAL-LE0ご購入済みのお客様限定)
評価をご希望の方は、カスタマーサポート担当 清水までお問い合わせください。
無線化.comオリジナルBLEドングルについて問い合わせする

この記事を書いた人

無線化.comカスタマーサポート担当 清水芳貴
無線化.comカスタマーサポート担当 清水芳貴
Bluetooth業界に足を踏み入れてから早10年。
初心者がイチから学んだ知識とノウハウを、初心者の方でもわかりやすいようにお伝えすることを心がけています。