Bluetooth LEの解説本、第1章
Bluetooth Low Enrgyとは
Bluetooth3.0までのBluetoothと、Bluetooth4.0で統合されたBluetooth Low Energy(ブルートゥース ロー エナージー、以下 Bluetooth LE)は、技術も使われ方も、まったく異なるものです。
本書では、Bluetooth3.0までの技術と、Bluetooth LEを区別するために、このBluetooth3.0までの技術をクラシックBluetoothと呼びます。
この章は、クラシックBluetoothとBluetooth LEの違いを述べます。アプリケーション開発やハードウェアの開発と製造販売、使われ方それぞれで、Bluetooth LEだからできるようになったことが、たくさんあります。自分の担当分野が技術でなくても、企画立案やメンバー全員でのブレイン・ストーミングの前に、この章の知識をメンバー全員で共有しておけば、その後の進行が早く確実なものになります。
Bluetooth LEとクラシックBluetoothの違い
まず、これまでのBlueoothとBluetooth LEの違いを、かいつまんで見ていきます。項目ごとの詳細説明は次節以降を読んでください。
無線通信技術
クラシックBluetoothに対して、Bluetooth LEは:
- Bluetooth3.0までの端末は、Bluetooth LEのみに対応した周辺機器と接続できない
- リチウムコイン型電池1つで1〜2年間の無線通信ができるほど超低消費電力
- 低頻度、少量データの通信に向く
- 任意の機能を任意に実装できる
- 近接検出、ブロードキャストができる
です。
Bluetooth4.0に統合されたBluetooth LEは、コンビニエンスストアでも売られているほど一般的な直径2cm程度のリチウムコイン型電池1つで、1年間程度の無線通信ができるほどの、超低消費電力無線通信技術です。
Bluetooth4.0は、Bluetooth3.0にBluetooth LEを統合したものです。Blueooth LEは、Bluetooth3.0までの技術とは異なる技術です。そのため、Bluetooth LEだけに対応した周辺機器(シングルモードと呼びます)は、Bluetooth3.0までの対応機器とは接続できません。
超低消費電力の無線通信技術には、ほかにもANT+やZigbeeなどの規格がありますが、Bluetoothというブランドに統合されたこと、そしてiPhoneが採用したことで、一気に世界に普及しました。
Bluetooth LEの使い道は、たまにしか通信をしないが(低頻度)、必要があればすぐ通信ができる(通信の遅れ時間、レイテンシが小さい)、分野です。
BluetoothLEの応用分野は、例えば、テレビのリモコンのようなデバイスです。リモコンは、普段は使われることがなく、たまにボタンが押されます。ですが、ボタンが押されたら直ちにテレビが反応しなければなりません。
クラシックBluetoothでリモコンを作ると、通信を保持するために、リモコンを使っていない間も電池を消費します。そのため充電し続ける必要があります。もしも電池節約のために、ボタンが押されたら通信接続する設計にすると、通信接続に数秒は時間がかかりますから、反応が悪くて使えません。
Bluetooth LEは、任意のオリジナルの機能を実装できる規格です。クラシックBluetooth規格は、ヘッドセットなど応用ごとに振る舞いを定義していました。そのため、規格の認証に、機器の振る舞いまでが含まれました。Bluetooth LEは、Generic Attribute Profile(ジェネリック アトリビュート プロファイル、GATT)までを規格として、このうえに実装されるデバイスの機能は規格に含みません。通信と機器の振る舞いを分離することで、ユーザは任意の機能の実装ができます。
Bluetooth LEデバイスは、近接検出や少量データのブロードキャストができます。Bluetooth LEは、そのデバイスをiPhoneに発見してもらうために、アドバタイズメント・パケットを送信します。このアドバタイズメント・パケットは、周囲の端末が受信できる、ブロードキャストです。このパケットの受信信号強度から、デバイスとの距離がおおまかに算出できます。また、このパケットには、20バイト程度の任意のバイト・データを入れられます。これを屋内測位や位置ビーコンに応用できます。
iOSアプリケーション開発
iOSアプリケーション開発では、クラシックBluetoothとBluetooth LEデバイスとで、扱いが違います。
- ペアリングがなくてもよい
- iOSを通さず、アプリケーションから直接、デバイスの発見と接続ができる
- Bluetooth LE用のバックグラウンド・モードがある
- iPhoneはセントラルとペリフェラル、どちらにもなれる
Bluetooth LEデバイスには、ペアリングをしなくても接続させることができます。クラシックBluetoothデバイスは、初めてiPhoneと接続するときに、ペアリングという接続認証が必要でした。
Bluetooth LEデバイスでは、鍵の交換をペアリング、交換した鍵などの情報を保存することをボンディングと言います。ボンディングをしていれば、再接続時にそれらの鍵を使い前回ペアリングしていた状態を復帰できます。ペアリングもボンディングもしない、ペアリングするがボンディングはしない、ペアリングをしてボンディングもする、の組み合わせが取れます。
Bluetooth LEのデバイスの発見、接続、通信そして切断も、すべてiOSアプリケーションが行います。iOSが関与することはありません。
iOSアプリケーションには、Bluetooth LE専用のバックグラウンド・モードが用意されています。バックグラウンドで、Bluetooth LEデバイスと接続して通信しつづける、あるいはデバイスを発見して接続をすることができます。
Bluetooth LEのネットワーク・トポロジーには、セントラルとペリフェラルという2つの役割があります。前節で例に上げたテレビのリモコンの場合は、テレビがセントラル、リモコンがペリフェラルです。iOS6では、iOSアプリケーションはセントラルにも、ペリフェラルにもなれます。つまり、iOSアプリケーション自体が、テレビのリモコンとして振る舞うことができます。
ハードウェア設計
- Made for iPhoneプログラムは不要
- 部品代は5ドル、モジュールは10ドル前後
- モジュールを利用した場合、電波法の認証及びBluetoothの認証費用はかからない
Bluetooth LEは、Made for iPhone (MFi) プログラム の締結が必須ではありません。クラシックBluetoothでは、特定のiOSアプリケーションと接続するデバイスの開発には、Apple社とMFiプログラムの締結が必須でした。MFiプログラムを締結して初めて、ハードウェアやソフトウェアの開発情報が提供されます。
MFiプログラムが必須ではなくなったことで、ベンチャーの参入ハードルが極端に下がりました。Bluetooth LEデバイスと接続するiOSアプリケーションは、AppStoreの承認を得られます。ただし、デバイスにMFiロゴを掲載する場合は、ロゴの使用権を得るためにMFiプログラムの締結が必要です。
Bluetooth LEの電子回路を独自に設計した場合の製造コストは5ドル程度です。これらの電子回路を小さな基板にまとめて部品化したものを、モジュールと呼びます。モジュールの価格は10ドル前後です。
モジュールを使うことで、電波法の基準認定とBluetoothの規格認定および製品登録にかかる初期費用が省けます。
電波を出す回路は、外部に電波がもれ出ない試験環境で動作させるか、あるいは、それぞれの国ごとの電波法に基づく基準認証をうけなくてはいけません。認証を取得しているモジュールを利用すれば、製品ごとに認証をとる必要はありません。
また、Bluetooth LEロゴを表示して販売するには、Bluetooth SIGへの製品登録が必要です。製品登録には、Bluetoooth SIGへの、最低でも年間5000ドルのメンバー登録費用と、設計ごとの認証費用が必要です。
各社のモジュールは、それ単体でのBluetoothの製品登録が完了しています。無償のBluetooth SIGのメンバー登録をおこない、Bluetooth LEのモジュールを利用した派生製品として登録すれば(この登録は無償)、製品登録が完了します。
AndroidとWindows Phone8の対応
周辺機器の企画作成では、対応機種が多いほど、より多く売れる感じがするため、iOS以外のモバイルOSの対応を考えるかもしれません。OS(オーエス、Operating System、オペレーティングシステム)とは、アプリケーションに基本的な機能を提供する、システム全体を管理するソフトウェアのことです。
iOS以外のモバイルOSは、Android OSがあります。このほか、2013年には、Windows Phone 8、Tizen、Firefox OS、も登場するかもしれません。
http://www.android.com http://www.mozilla.jp/firefoxos/ https://www.tizen.org/ja
一般開発者から見たBluetooth LE対応の条件は:
- ハードウェアがBluetooth4.0に対応している
- OSがBluetoth LEに対応している
- ソフトウェア開発環境からBluetooth LEが使える(開発環境が一般開発者に開放されている)
の3条件が必要です。
Androidは、ハードウェアの認定要件がありません。2013年7月時点での新製品でも、Bluetooth2.0, 3.0そして4.0が混在しています。特に低価格帯にBluetooth2.0が多いようです。ただ、Bluetooth3.0の機種が、発売後にBluetooth4.0の再認証を取得してきています。発売時点で、Android OSが公式にBluetooth LEに対応していないため、ハードウェアはBluetooth4.0に対応していても、Bluetooth3.0として発売したのでしょう。
Android OSに、2013年秋頃に公開定のAPI Level18で、はじめてBluetooth LEに対応します。セントラルのみに対応していています。これ以前から、半導体や端末メーカが、それぞれ独自にBluetooth LE開発ライブラリを提供していました。ライブラリごとに対応機種が限定されて、採用しにくいものでした。
https://developers.google.com/events/io/sessions/326240948
http://developer.samsung.com/ble
Windows Phone8は、2013年7月時点では、ハードウェア要件にBluetoothのバージョンの指定はありません。OSのサポートは、まったくありません。パソコンに使うWindows8は、ハードウェア認定要件でBluetoothは4.0を搭載することが決められています。
Tizen, Firefox OSは、Bluetoothを扱うライブラリにBluetooth LEが含まれていません。
Bluetooth LEの規格と取り巻く環境
規格成立までの歴史
Bluetooth Low Energyの研究は、2001年に始まりました。ノキア・リサーチ・センターは、Bluetooth規格を継承しつつ、より低消費電力で低価格な新しい無線通信技術の開発をはじめました。http://en.wikipedia.org/wiki/Bluetooth_low_energy
この低消費電力の通信技術は、紆余曲折を経てBluetoothとして統合されます。最初の研究成果は、まずBluetoot Low End Extensionとして2004年に公開されました。EU FP6プロジェクトMIMOSA(Microsystems Platform for Mobile Services and Applications)といった、パートナーと更に開発を進めた後に、この技術は2006年10月にWibree(ウィブリー)ブランドとして公開されました。
一旦はWibreeという独立した技術として公開されましたが、その後のBluetooth SIGメンバーとの交渉により、Wibreeを将来のBluetoothの低消費電力の規格として含めることに、2007年6月に合意がなされました。そして2010年6月に採択されたBluetooth コア仕様 バージョン4に、Bluetooth LEとして統合されました。
Bluetooth SMART READYとBluetooth SMARTロゴ
Bluetooth4.0に統合されたBluetooth LEは、Bluetooth3.0までの技術とは互換性がありません。ですから、Bluetooth LEのみに対応しているデバイスは、Bluetooth3.0までの端末と接続できません。一部分、下位互換性がなくなったため、これまでのように、1つのロゴで相互接続性を表せなくなりました。<TBD Bluetoothロゴ>
そこで、Bluetooth4.0では、クラシックBluetoothの1つのロゴから、Bluetooth SMART READYとBluetooth SMARTロゴという2つのロゴになりました。<ロゴの図> https://www.bluetooth.org/ja-jp/bluetooth-brand/how-to-use-smart-marks
Bluetooth SMART READYは、クラシックBluetoothとBluetooth LEの無線通信機能をもち、それらがどちらか一方または同時に動作するものを示します。パソコンや携帯電話などに搭載されるのは、このBluetooth SMART READYです。Bluetooth SMART READYのロゴがあるものは、クラシックBluetoothとBluetooth LEのデバイス、すべてのBluetoothと接続できます。
Bluetooth SMARTは、Bluetooth LEの無線通信機能だけをもつデバイスを示します。Bluetooth3.0までの端末からは、このデバイスに接続できません。Bluetooth SMART READYの端末から、接続できます。キーホルダーや心拍計などの、周辺機器がこれを採用します。
Bluetooth 4.0の登場で、周辺機器は、Bluetooth3.0までに対応したものと、Bluetooth SMART READYのもの、そしてBluetooth SMARTの3種類になりました。周辺機器にも、Bluetooth SMART READYのものがあります。これは、まだBluetooth4.0では携帯電話とも接続するためだったり、あるいはスマート・ウォッチのように、クラシックBluetoothのメールや電話着信を通知するプロファイルを利用するためだったりします。
Bluetooth LEの無線通信
に、Bluetoot LEの特徴を示します。
Bluetooth LEの無線通信の概要
項目 | 値 |
---|---|
周波数 | 2.400-2.4835 GHz |
物理層のビットレート | 1Mbps |
通信送信電力 | 10mW ~ -10μW |
伝達距離 | 150m (見通し) |
Bluetooth LEが利用する周波数は、クラシックBluetoothと同じです。周波数が同じなので、デュアル・モードのデバイスは、アンテナや高周波回路をクラシックBluetoothとBluetooth LEで共用できます。
通信のビットレートは、1Mbpsです。これは0,1というビットの通信速度です。Bluetooth LEでは、データは決められた時間周期ごとにパケットの送受信でやりとりします。パケット自体の通信速度は1Mbpsですが、常にパケットが流れ続けられる規格ではないので、パケットのやり取りによる実際の通信速度は、300kbps程度になります。Bluetooth LEデバイス間の通信速度は、通信パラメータで大きく異なります。iOSデバイスでの通信速度は、おおよそ10Kバイト/秒です。
Blueooth LEの送信電力は、最大10mW、最小10μWです。最大出力電力時の通信距離は、見通し距離で150m程度になります。距離は、受信回路の感度や送受信アンテナの利得(高周波電力を電波にして空間に放つ効率)が高ければ、これより大きくなるかもしれません。また、建物の壁などの遮蔽物があったり、見通しではない環境では、通信距離は見通し距離よりもずっと短くなります。目安としてオフィスで30m程度は通信できます。<TBD 確認>
送信電力は、Bluetooth LEデバイス内部のソフトウェアから設定できます。ハードウェアで固定されないので、状況に合わせた、必要な通信距離が得られるような、送信電力の設定動作が可能です。例えば位置ビーコンであれば、位置を知らせたい範囲内に届く程度に送信電力を設定します。またiPhoneに取り付けるキーホルダのように、常に近距離にあるものならば、通信距離が数メートル程度になるように、送信電力を絞り込むこともできるでしょう。
Bluetooth LEのネットワーク
Bluetooth LEで、デバイスをこう使いたい、と考えるときに、このネットワークの仕組みを知っておくと、何ができるのかがわかり、便利です。
Bluetooth LEのネットワークは、ネットワークを制御する1つのマスターに多数のスレイブが無線接続します。
この1つのネットワークを、ピコネット(Pico net)と呼びます。ピコは、イタリア語で小さいを意味するpiccoloからとられた、SI単位系で10-12を表す接頭辞ピコのことで、ピコネットは、とても小さいネットワークの意味です。中心から周囲に広がる接続の様態が星のようなので、スター型ネットワークと呼ばれます。
<TBD: スター型の図、アドバタイズメント、iPhoneを中心にペリフェラル, iPhoneがペリフェラル>
マスターとスレイブのの接続手順は:
- スレイブがアドバタイズメント・パケットを送出
- マスターが、接続要求を出して接続
- 通信
- 切断
です。
まず、マスターがスレイブがあることを知らないといけません。スレイブは、機種情報や個体識別番号などが入ったアドバタイズメント・パケットを送出します。どのマスターでも、アドバタイズメント・パケットを受信できます。アドバタイズメント・パケットは、スレイブが、まだどのピコネットにも属していないときにだけ、送出できます。
Bluetooth LEの特徴は、スレイブの発見がとても早いことです。アドバタイズメント・パケットは、最小20ミリ秒周期(1秒に50回)で送出できます。アドバタイズメント・パケットは、は、アドバタイズメントのために割り当てられた特定の周波数範囲で送信することで、マスターはほぼ確実にこのパケットを受信できます。実際に、デバイスの発見に1秒もかかりません。<TBD 実験>
アドバタイズメント・パケットを受信してスレイブを発見したマスターは、接続要求を出して接続を確立します。接続している間、スレイブはそのマスターのピコネットに属します。接続したマスターとスレイブは、そのマスターとスレイブだけが知っている切り替え順番で、通信に使う周波数領域を切り替えながら、通信します。これを適応周波数ホッピング方式と呼びます。
同時に接続できるスレイブの上限数は、Bluetooth LEの規格では、およそ 231(約21億)です。クラシックBluetoothでは、規格で7に制約されます。同時接続上限数は、実際には、Bluetooth LEのプロトコル・スタックの実装次第で決まります。iOSデバイスは10です。ただし、iPhoneは、10のスレイブと接続しているときでも、どのスレイブからのパケットでも、アドバタイズメント・パケットの受信はできます。<TBD 確認>
スレイブは、同時に2つ以上のピコネットに属することはできません。必ず1つのピコネットに属します。スレイブとの接続は特定のピコネットに縛られることはありません。任意のマスターと接続できます。スレイブが別のピコネットに接続するときは、まず接続を切断してから、別のマスターとの接続処理をおこないます。
切断要求は、マスターからでも、スレイブからでも、出すことができます。また、マスターとスレイブは、それぞれ一定時間通信ができなければ、切断とみなします。接続切断したスレイブは、またアドバタイズメント・パケットを送出して、次の接続要求が来るのを待ちます。
Bluetooth LEのネットワークは、とてもシンプルな設計です。接続が切断しても再接続をしたりしません。クラシックBluetoothは、iOSの設定アプリケーションから、ユーザに、スレイブとのネットワーク接続をしてもらわなくてはなりません。Bluetooth LEは、しかし、スレイブの発見と接続が速いことに加えて、iOSアプリケーションがスレイブとの接続処理を直接実行できます。接続切断時は、iOSアプリケーションで再接続が必要だと判断すれば、iOSアプリケーションから接続処理を再開できます。これにより、なんの不便もありません。
プライバシーとセキュリティ
無線通信の電波は四方八方に飛んでいくため、その通信がいつどこで傍受されるかは、わかりません。Bluetooth LEの規格は、利用者のプライバシーと、通信内容が第三者に漏れないセキュリティを考慮しています。
まず、無線通信は、その通信内容から容易に人物を特定して追跡できるものであっては、なりません。Bluetooth LEのマスターとスレーブは、互いを識別するために、通信でアドレスを使います。もしも、誰かのスレーブのアドレスが分かっていれば、傍受した通信からそのアドレスを探すことで、その人がいつどこにいるかを容易に追跡できてしまします。
Bluetooth LEのアドレスには、パブリック・アドレスとランダム・アドレスの2つがあります。パブリック・アドレスは、製造企業が割り当てる固定値のアドレスです。このアドレスは製品が作られた時に書き込まれ、変化することはありません。もう1つの、ランダム・アドレスは、文字通り、ランダムなアドレスです。スレイブの電源を入れた時に、ランダムなアドレスが設定され、さらに15分毎に、あるルールに従って、別のランダムなアドレスに変更されます。
プライバシーを守るために、パブリック・アドレスを使うか、ランダム・アドレスを使うかは、そのデバイスの使われ方などで、設計者が決めます。
セキュリティーを確保するために、パケットのデータ自体を暗号化できます。スレーブはマスターに接続するときに、パケットのデータを平文(暗号化しない)とするか、AES(Advanced Encryption Standard)という暗号方式を使うかを、マスターに通知します。
プライバシーとセキュリティをどうするかは、利用場面にあわせて選びます。プライバシーとセキュリティを求めると、Bluetooth LEでは、スレイブとの接続時に、少し手間がかかります。
ランダム・アドレスを採用すると、例えば、スレーブの電源がOFF/ONされると、アドレスが再生成されます。そのため、iOSアプリケーションには、そのスレイブが以前に接続したものだと、識別できなくなります。ですから、例えばスレイブの電池交換をするたび、iOSアプリケーションでの接続設定が必要になります。
セキュリティーを採用すると、マスターが初めてスレイブと接続する時に、iOSアプリケーションから、iOSの設定アプリのBluetooth設定に表示が遷移します。スレイブの接続が完了すると、クラシックBlueoothと同じく、このBluetooth設定にデバイス名が表示されます。これは、暗号化につかう鍵がiPhoneに保存されたことを、示しています。このBluetoothの接続を削除すると、鍵が削除されます。
iOSと周辺機器のインタフェース
Bluetooth LEは、iOSと周辺機器との接続手段、インタフェースの1つです。Bluetooth LEはMFiプログラムが必須ではないので、たしかに取り組みやすいのですが、想定する利用場面に使えるのか、あるいは他により適切なインタフェースがないかを検討することは、必要です。
インタフェースは用途似あわせて、適切なものを選択します。ここでBluetooth LE以外のインタフェースをみてみます。
有線インタフェース
iOSには、有線インタフェースと無線インタフェースがあります。
有線インタフェースは、ドックコネクタがあります。iPhone4Sまでの30ピン ドックコネクタと、iPhone5以降のライトニング ドッグコネクタの2種類があります。ドックコネクタを通じて、USB2.0、480Mbpsのビットレートでの通信ができます。
ドックコネクタのハードウェア開発情報を入手するには、MFiプログラミングの参加が必須です。これに参加して提供される、ドックコネクタの認証チップは、Apple社の承認を受けた正規の製品であることを、ドックコネクタを通じてiPhoneに通知します。また、その製品に対応したiOSアプリケーションがiPhoneにないときは、ダウンロード画面を表示させます。
しかし機能実証のための試作で、MFiプログラムに参加するのは時間も費用もかかります。試作であれば、MFiプログラムに参加せずにドックコネクタを使うには、2つの方法があります。
- シリアル・アダプタを利用する
- MIDIインタフェースを転用する
ドックコネクタのシリアル・アダプタが60ドル程度で販売されています。115.2kbpsまでのシリアル通信ができます。試作に用途が限定されており、このアダプタに接続するiOSアプリケーションをAppStoreに出すことは、利用規約で禁止されています。
http://www.redpark.com/c2db9.html
演奏装置のインタフェース規格 MIDI(ミディ、Musical Instrument Digital Interface)のドックコネクタ・アダプタが一般に販売されています。MIDI規格は、演奏データをシリアル通信で送受信するものです。このインタフェースを転用して、サーボモータを動かすデモンストレーション例があります。iOSアプリケーションのAppStoreの承認は、この方法を使うiOSアプリケーションがAppStoreで見つからず前例が見つけられないので、わかりません。
また、音響モデムの原理を利用して、イヤホン端子でデータ通信をするワザもあります。これは10kbps程度の通信ができます。iOSアプリケーションのストア承認は、AppStoreの担当者との交渉次第です。
http://web.eecs.umich.edu/~prabal/projects/hijack/
無線インタフェース
iPhoneの無線インタフェースは、WiFi、Bluetooth(クラシックBluetoothとBluetooth LE)です。それぞれのビットレートとMFiプログラムの要不要をまとめます。
名称 | 物理層のビットレート | MFiプログラム | 接続設定 |
---|---|---|---|
無線LAN (802.11g) | 54Mbps | 不要 | 必要 |
Bluetooth2.0 | 3Mbps | 必須 | 必要(※) |
Bluetooth LE | 1Mbps | 不要 | 不要 |
※Bluetoothの標準プロファイルを利用する場合はMFiは不要。 |
無線LAN
無線LANは、最も高速な無線通信です。動画のストリーミングなど、高い通信速度が必要な用途には、無線LANを使います。通信速度が早いほど、電力消費量も大きくなります。ですから、大容量の電池を搭載していて頻繁に交換や充電をおこなう機器、例えばラジコンなどには、自然に適用できます。また、通信頻度や通信速度が低くてもよい分野に特化した、単三電池電池で数ヶ月も長期間動作するような、低消費電力の無線LANモジュールもあります。
無線LANの接続形態は、機器と1対1で接続するアドホック・モードと、複数の機器と無線LANルータを介して接続できるインフラストラクチャ・モードの2つのモードです。
インフラストラクチャ・モードは、無線LANルータが必要なので、屋内など移動しない場合に使えます。移動したり屋外での利用では、無線LANルータがあるとは限らないので、アドホック・モードを使います。周辺機器とアドホック・モードで接続すると、iPhoneの無線LANは、その機器に専有されます。もしもこのときに、外部ネットワーク接続が必要になると、WiFi以外の、3G通信かBluetoothでのテザリングを使うしかありません。
無線LANは、ユーザによる設定が必要です:
- 無線LANの接続先の設定
- iOSアプリケーションのダウンロード
- 接続機器のIPアドレスの入力
無線LANの接続先は、設定アプリからユーザがおこなう必要があります。さらに、インフラストラクチャ・モードのときは、iOSアプリケーションに、接続先機器のIPアドレスの設定が必要になります。この無線LANの設定手順は、図入りで説明した説明書を別に用意しておくとよいです。設定アプリに画面遷移してしまうので、iOSアプリケーションに設定方法を表示する方法が使えません。ですから設定アプリを見ながら設定するときに説明書があれば、ユーザが迷いにくくなります。
無線LANを使う周辺機器には、MFiプログラムは必要ありません。MFiプログラムが必要ないということは、逆に、Apple社から、機器接続やiOSアプリケーションのインストール方法などの特別の配慮を受けられない、ことでもあります。
ユーザ自身が、機器に対応するiOSアプリケーションをダウンロードしなくてはなりません。機器に接続しても、iOSアプリケーションは自動でダウンロードされません。
また、例えばUPnP(ユーピーエヌピー,ユニバーサルプラグアンドプレイ、Universal Plug and Play)やBonjour(ボンジュール)など、ネットワークに接続すれば、ユーザが設定をしなくても機器が使用可能になる、ゼロ・コンフィギュレーション技術を使えば、IPアドレス設定などを不要に出来ます。しかし、iOSからゼロ・コンフィギュレーション技術は提供されていません。必要であれば独自に実装します。
クラシックBluetooth
ここでは、Bluetooth LEと区別するために、Bluetooth3.0での技術をクラシックBluetoothとよびます。
クラシックBluetoothは、常時接続してデータを送り続ける用途に適し、通信速度も高いので、ヘッドセットやテザリングなどに利用できます。クラシックBluetoothの接続は、iPhoneに多数の周辺機器が接続するスター型です。コインサイズの小さなリチウムイオン電池で、1週間程度の通信ができます。電池交換は頻繁すぎて不便ですから、充電式に設計されます。
クラシックBluetoothでは、通信のみならず接続機器の振る舞いまでを含んだ機能を、プロファイルと呼びます。パソコンで言えば、通信プロトコルのみならず、デバイスドライバの仕様までを含むものが、プロファイルと呼ばれます。
プロファイルには、キーボードやマウスなどの入力装置、メールや電話着信の通知など、様々なものが定義されています。利用目的にあったプロファイルがすでにあれば、それを利用して少ない開発労力で機器開発ができます。
Bluetooth Developer Portal, Profiles Overview
クラシックBluetoothデバイスとの接続に、まずペアリングが必要です。ペアリングはiOSが処理するため、ユーザは、設定アプリのBluetooth設定で、デバイスを選択してペアリングをします。接続が切れるたび、ユーザによる接続操作が必要です。
クラシックBluetoothのプロファイルに従う周辺機器には、MFiプログラムは不要です。しかし、利用できるプロファイルがなく、iOSアプリケーションと直接通信したい場合は、MFiプログラムへの参加が必須です。
プロファイルの利用例として、例えば、iOSデバイスと接続できるバーコードリーダがあります。バーコードリーダ専用のプロファイルはありませんが、例えばキーボードに使うHID(Human Interface Device Profile)を採用して、読みだしたバーコード情報をテキストで送信して、iOSアプリケーションに情報を伝えることができます。
クラシックBluetoothでは、任意の通信には、SPP(Seerial Port Profile)を使います。このプロファイルは、端末間の通信を決めるものです。接続先に、端末内部で動作しているアプリケーションまでを指定する仕組みはありません。
MFiプログラムに参加すると、iOSアプリケーションと接続するための認証チップを含むハードウェアなどの開発キットが提供されます。この認証チップは、Apple社が承認した周辺機器のみがiOSアプリケーションと接続できる排他的な振る舞いをしますが、同時に、SPPに欠けている、モバイル機器には必要な、周辺機器が指定されたiOSアプリケーションにのみ接続する仕組みも、提供しています。
アプリケーション+アクセサリ=アプセサリ(Appcessory)
Bluetooth LE は、アクセサリとアプリケーションがとても強く結びつきます。アクセサリとアプリケーションの2つが組み合わさって初めて魅力あるものになります。これを表す造語が、‘Appcessory’(アプセサリ)です。これは、周辺機器を意味するアクセサリ(accessory)と、そのアクセサリと接続するアプリケーション(application)の2つの単語を組み合わせた造語です。
http://developer.bluetooth.org/Pages/bluetooth-smart-developers.aspx
例えば、iPhoneの置き忘れ防止のキーホルダーがあります。これは、iPhoneとキーホルダーが離れたのを電波の受信強度で検出して、置き忘れしそうなときに、キーホルダーとiPhoneそれぞれからブザー音などの警告を出すデバイスです。このようにBluetooth LEデバイスは、デバイスとアプリケーション、両方あってはじめて意味があります。
Bluetooth LEの規格が、アプセサリを生み出した面があります。他の超低消費電力無線通信技術には、例えばZigbee、他のデバイスからの通信を他のデバイスに中継する、マルチホップ通信の機能があります。マルチホップ通信ができれば、広域に散らばった多数のデバイスがネットワークを形成して、例えばセンサネットワークなどを、デバイス単体で構築出来ます。
ですが、Bluetooth LEのネットワークは、スター型で、マルチホップ通信の機能はありません。アクセサリは隣接するiPhoneと直接接続することしかできません。ハブ・デバイスとアクセサリ、という1対1対応のみが可能です。
アクセサリとiOSアプリケーションの連携
アクセサリとiOSアプリケーションの連携には、その間をつなぐオペレティング・システムが、連携に必要な機能を提供していなければなりません。クラシックBluetoothと異なり、Bluetooth LEを使うiOSアプリケーションは、MFiプログラムがなくても一般開発者プログラムだけで、開発とAppStoreの承認がでるようになりました。それだけではなく、Apple社は、連携に不可欠の機能を提供しています:
- デバイスの発見と接続
- アプリケーションがドライバ相当の機能をもつ
- セントラルとペリフェラルの両方になれる
- ユーザ通知機能
- バックグラウンド動作
デバイスの発見と接続
Bluetooth LEデバイスの発見と接続は、iOSアプリケーションの役割です。iOSは、接続などに、何も関与しません。クラシックBluetoothは、ペアリングおよびデバイスへの接続は、設定アプリでユーザが操作しなければなりませんでした。どのようなBluetooth LEデバイスがあるか、どのデバイスに接続するか、また切断した時の再接続処理などは、iOSアプリケーションの役割です。例えば、Bluetooth LEは、接続が切れたならば、切れたままにする通信規格です。もしも再接続が必要になる都度、ユーザに接続操作を要求していたら、ユーザはいらいらするでしょう。
アプリケーションがドライバ相当の機能をもつ
Bluetooth LEデバイスとの接続はiOSアプリケーションに任されているため、パソコンのデバイス・ドライバに相当するソフトウェア、接続したデバイスの動作を制御する機能も、iOSアプリケーションに実装することになります。パソコンのように、iOSにドライバ・ソフトウェアをインストールすることは、不可能です。もしもそんなことを許せば、セキュリティや安定動作などの、iOSが提供する価値が損なわれるでしょう。
たいていの場合、iOSアプリケーション開発者がドライバ相当の機能を実装することはありません。市販されているBluetooth LEデバイスは、たいてい製造開発会社からiOSアプリケーション開発者に、そのデバイスを使うためのソフトウェア開発キットが提供されています。そのデバイスに対応するiOSアプリケーションの数が、売上につながるからです。
また独自仕様のBluetooth LEデバイスを開発する場合は、iOSアプリケーション開発者ではなく、デバイス開発者がドライバ部分を担当します。これは、デバイスの正常動作を確認するために、ドライバ部分も含めて作ることが、必要だからです。
セントラルとペリフェラルの両方になれる
Bluetooth LEのネットワークは、1つのセントラルに複数のペリフェラルが接続する、1対N接続のスター型です。1つのiPhoneに複数の周辺機器が接続するため、iPhoneをセントラル、周辺機器をペリフェラルにします。
iOS5は、セントラルの機能を提供しています。iOS6は、セントラルに加えてペリフェラルの機能も提供されます。iPhoneがペリフェラルになると、例えばBluetooth LEのワイヤレス・マウスとして振る舞うようiOSアプリケーションが作れますから、iOSアプリからパソコン操作もできるでしょう。
iPhoneがペリフェラルになると、Bluetooth LEデバイスのプロトタイピングが容易になります。iOS5の時代は、ペリフェラルになる組み込み機器向けのBluetooth LEデバイスの開発セットを使うほかありませんでした。このために、組み込み機器の開発手順の学習が必要でした。さらに、たいていのプロトタイピングは加速度センサを必要としますが、その回路も作らねばなりませんでした。iOS6では、これがiOSアプリケーション開発のスキルで、iPhoneの豊富なセンサがそのまま利用できるようになりました。
ユーザ通知機能
iOSはBluetooth LEの通信には関与しません。しかし、iOSアプリケーションがアクセサリに接続したままで終了すると、そのアクセサリとiPhoneとの接続は維持されます。このときに、アクセサリがiOSアプリケーションに通知を送信すると、それを受信すべきiOSアプリケーションが停止しているので、その通知があったことが通知センターに表示されます。<TBD 確認。ほんとうか?>
アプセサリは、アプリケーションと強く結びつきます。しかし、iOSアプリケーションは、メモリ不足により強制終了されるなど、常に実行されているとは保証ができません。このユーザ通知表示は、iOSアプリケーションが実行されていないときでも、最低限の機能の提供に使えます。
例えば、置き忘れ防止のキーホルダーに使えます。キーホルダーは、通信の電波強度が弱くなればiPhoneとの距離があいたとして、置き忘れの警告をiPhoneに送信します。対応するiOSアプリケーションが起動していれば、適切な音や表示が出せますが、iOSアプリケーションが動いていなくても、最低限の通知はできます。
この通知は補助的なもので、必ず動作するものではありません。もしも、アクセサリとiPhoneの接続が切断すれば、iOSは再接続をしませんから、切断したままになります。そして、アクセサリとの接続が切断しても、ユーザには何も通知されませんから、ユーザが切断に気づくことはありません。もしも、ユーザが必ず通知が来るものだと思っていると、この振る舞いはユーザには見えませんから、期待と異なる商品と受け取られます。
バックグラウンド動作
iOS4から、音楽再生やVoIPなど分野を限定して、アプリケーションのバックグラウンド・モードが導入されました。iOS5では、Bluetooth LEのセントラルとしてのバックグラウンド・モードが、iOS6では、それに加えてペリフェラルでのバックグラウンド・モードが、追加されました。
iOSアプリケーションのバックグラウンド動作は、アプリケーションが自分で好きなだけ処理をおこなうものでは、ありません。Bluetooth LEのバックグラウンド動作では、Bluetooth LEの発見や通知などのイベントが発生するたびに、iOSアプリケーションに10秒間の処理時間が与えられます。<TBD ペリフェラルでのBG動作>
このバックグラウンド・モードを使い、例えばBluetooth LEデバイスとの通信が切断したときに、前節の通知と異なり、iOSアプリケーションから再接続処理を行うことも、またユーザに切断を通知することもできます。
iPhoneはハブ・デバイス
アクセサリは、安価で小さいことが求められます。コストと大きさは、電池容量や液晶などの表示器を、小さいものに制約します。アプセサリはiPhoneの機能:
- iOSアプリケーションの表示やユーザ・インタフェース
- 計算処理能力や記憶媒体、データの統合
- 3Gを含めたネットワーク接続
を、アクセサリの機能として利用します。
iPhoneの液晶とユーザインタフェースが利用できると、アクセサリの表現力がぐっと広がります。アクセサリは、たいてい本体が小さいので、液晶表示器自体の大きさも小さくなります。操作手段も、本体が小さいと、小さな押ボタンを2~3個搭載するのが、精一杯です。本体の製造価格を抑えると、まず液晶が決まった数字やキャラクタを表示する簡素なものになります。ドット表示で任意の文字と図形とを表示するには、高精度のドットマトリクス方式の表示器が必要です。このように、アクセサリは本体の大きさと製造費用の2点でユーザ・インタフェースが制約されます。
例えば、ありきたりの万歩計がiPhoneのユーザ・インタフェースを使えるようになったとします。アクセサリ単体ではその日の歩数の表示だけです。最近のマイクロコントローラの処理能力であれば、万歩計が1時間あたりの歩数を記録することは容易に実現できます。ですが、万歩計自体の小さな液晶では、それを魅力的に表示できません。iPhoneの液晶表示であれば、iOSアプリケーションの実装次第で、例えば、その日の1時間あたりの歩数を、運動の強度にあわせたカラーバーでグラフ表示など、アクセサリ単体ではできない表示が、追加コストをかけずに容易に得られます。
iPhoneの記憶媒体は大容量で、端末にデータを貯めていけます。先ほどの万歩計を例に取れば、iPhoneはギガバイト単位の記憶容量があります。ですから、何百年分でも、過去の履歴データを保存できます。そして、アクセサリが壊れたり失われたりすると、そこに記録されたデータも失います。アクセサリは消耗品ですから、長期間の過去データを置いてもデータを失うようでは、意味がありません。
iPhoneは、すべてのアクセサリのデータが集積する、ハブとして機能します。また、その強力な計算処理能力で、集積したデータを統合して解析もできます。例えば、体重管理が目的のとき、万歩計以外にも心拍センサや体重計など複数のBluetooth LEデバイスで、計測をしていたとします。歩数データに心拍データを加えることで、消費カロリーをより高精度に計算できるでしょう。また体重計のデータを統合することで、運動の成果と食事内容の提案を、iPhoneから出せるようになります。
iPhoneは、集積したデータをネットワークに同期させるハブとして機能します。例えば、あるiPhoneが読みだした万歩計のデータは、Apple社のiCloudなどを使えば、iPadなどの他の自分の端末とネットワーク同期します。また、ネットワークを通じてサーバにデータを保存できます。
また、iOSアプリケーションがソーシャル・ネットワーク・サービスと連携すれば、例えば万歩計ならば毎日の運動量を仲間と共有したり競争ができます。このソーシャル・ネットワークは、サービスの魅力であり、かつ、買い替え時に他社への乗り換えの抑止にもなります。Bluetooth LEアクセサリ単体のハードウェアは単純で、設計製造を請け負う企業と通じて、参入が容易です。ですから類似製品がいろいろ出てきます。ですが、アプリケーションを通して、ソーシャル・ネットワークのつながりが形成されていれば、仲間が一斉に他社製品に乗り換えでもしない限り、次も同じ会社の製品を購入するでしょう。
iPhoneを拡張するアプセサリ
iPhoneは加速度をはじめとする多くのセンサを内蔵していて、万能です。しかしiPhone自体の大きさや頻繁に充電が必要なことがそぐわない用途も、あります。iPhoneから見てアプセサリは:
- 機能の一部切り出しや小型化
- iPhoneにない機能を拡張
します。
アクセサリは何かの検出をするものがほとんどです。たとえiPhoneが持っているセンサであっても、アクセサリとしてそれを切り話すことで、小型化や電池交換頻度の低減、また破損するかもしれない場面でも安心して使えるようになります。
例えば、万歩計ではどうしょううか。iPhone自体にも加速度センサがあります。ですから、iOSアプリケーションで万歩計は作れます。しかしそれでは、ユーザは計測のためにiPhoneを絶えず持ち歩いていなければなりません。また、カバンに入れられたりして、歩数の計測データが取れない状態になるかもしれません。
万歩計単体をアクセサリにすれば、安価で親指の先程度の小型なものになります。たいてい1台だけを持っているiPhoneの場合と違い、いくつも購入しておいて、それぞれのズボンのポケットに入れておく使い方ができます。万歩計単体ならば、コイン型電池で半年程度動作しますから、入れたままにしておけますし、電池残量が少なくなっても、Bluetooth LEで通信をしてiPhoneからユーザに交換をうながすこともできます。iPhoneの機能の一部を、アクセサリとして切り離すことで、アクセサリの存在を忘れてしまえる使い方ができるようになります。
また自転車などのフィットネス分野では、iPhoneを自転車に固定して利用する場合、衝撃による破損や直射日光による温度上昇で動作が停止するかもしれません。このような過酷な状況では、利用場面に合わせて設計したアクセサリを利用することで、破損でiPhone自体を壊す恐れがなくなり、またアクセサリならば破損しても買い換えも容易です。
またiPhoneに搭載されていないセンサや通信機能を、アクセサリで拡張できます。例えば、糖尿病などで日常的に血糖値を測定しなければならない方のために、血糖値測定器があります。血糖値センサをBluetooth LEでiOSアプリケーションとつなぐことで、iPhoneを血糖値測定装置に拡張できます。
アプセサリのブレインストーミング
アプセサリは、何が正解か誰も知らない、新しいものです。そのため、アプセサリの企画では、ブレインストーミングという会議方法をとることがあります。ブレインストーミングは、参加メンバーがアイディアを出しあい、そのアイディアを批判せず前向きに展開し続けることで、アイディアの連鎖反応や発想の誘発を期待する会議手法です。
しかし、Bluetooth LEに限りませんが、会議方法に工夫をこらして長い時間を費やしても、成果が出ないことがあります。多くの素晴らしいアイディア、それらの検討結果、そして膨大な議事録は残ります。しかし、その結果が事業として実行されず、何もユーザの手に渡らないならば、それは成果が出せなかったことになります。
新規事業を立ち上げる目的は、新たな利益の源泉を得ることです。そのために、これまでにない製品もしくはサービスを考えます。この、考える、がくせものです。企画会議の参加者は、営業、技術開発、製造、ときには経営など、背景知識や立場が様々です。メンバー間で、メンバーの考え方、背景知識、着目している領域を、お互いに確認を取り合える、高い議論の能力が、参加者全員に求められます。
分野をまたぐ協業には、技術でできること/できないことを判別する知識、あるいはBluetooth LEの規格を作る過程ですでに考え尽くされている、利用分野や利用場面の知識の、共有が必要です。技術でできることそれ自体は、誰が考えても、同じものに行き着きます。そのようなものは、自分で考えなくても、知識を持てばよいだけです。
ブレインストーミングは、突飛なアイディアも否定せず前向きに議論を展開していくのが、肝心です。それが会議にならないように、また、議論の焦点だけはあわせることが、主催者の手腕の見せ所です。例えば、ハードウェアの機能を話していて、その大きさに影響する議論がでてきたとします。このとき、大きさは外形デザインに影響するからと、いきなりデザインの話を切り出す人がいたとします。デザインの話に切り替わるのはよいのですが、しかしデザインの話だと節目をつけてメンバー全員の頭を切り替えないと、終わることのない楽しい雑談会の始まりになります。
プロトタイピングのすすめ
プロトタイピング(Prototyping)は、プロトタイプ(Prototype)を作り、早期に設計などを検証する手法です。とくに、参加者の分野が様々なブレインストーミングでは、お互いの認識のすり合わせにプロトタイプが使えます。
これは著者個人の体験ですが、粘土をこねて外形を作った、あるいはiPhoneで機能するプロトタイプを作り、それを手で触れていると、そこから驚くような発見や広がりそして展開が、急速に出ます。アプセサリの魅力は、アクセサリとアプリケーションの連携が生み出す体験です。形あるプロトタイプに触れる体験を通して、その背後にある形のないアプセサリの体験を、肌で感じられます。
形があると、つい目を奪われますが、、しかしアクセサリはアプセサリの要素にすぎません。アプセサリの体験という大きな絵を見るための、ジグソーパズルの1つのピースとして、役立ちます。
プロトタイピングにかける期間は、できればブレインストーミング中に作製、時間がかかるならば、前回のブレインストーミングの内容を覚えていて、過熱した頭が冷える程度の期間、例えば2〜3日程度、が望ましいでしょう。体験ができればいいので、実際に実装する必要はありません。その期間でできることを、工夫します。ネットワーク・サービスが必要ならば、決め打ちの画面や、紙に書いた画面をカメラで取り込んだものでも、十分でしょう。Bluetooth LEデバイスは、iPhoneのセンサで間に合うことがほとんどで、また市販されている試作用のBluetooth LEデバイスもあります。
ブレインストーミングでアイディアを出しつくしたならば、そのなかから、面白さや楽しいさ、事業として継続できるかなどの尺度で、ふるいにかけます。アイディアのなかには、必要とするセンサが販売されていない、非常に高価な部品を必要とする、電池や回路の工夫ではどうにもできない形状や大きさを求めている、ものがあります。プロトタイプにはいる前に、そのような明らかに実現不可能なものは、実装についての知識がある担当者が、メンバーにその理由を説明して、変更を加える、もしくは不採用にします。
プロファイルと一般的なアクセサリ
プロトタイピングに、市販されているアクセサリを流用できると便利です。
無線で接続した装置の振る舞いを、Bluetooth LEはプロファイルと呼びます。Bluetooth LEの規格は、独自の実装を許すように作られています。自社の装置と、その装置とのみ接続するアプリケーションを開発するならば、独自に仕様を決めて実装すればよいのです。
しかし、一般的に、業界には、装置の製造会社、アプリケーション開発会社など、複数の会社があります。このような会社をまたぐ場合にアプセサリを作っていくには、どこかの会社の独自プロファイルではなく、一般化した振る舞いの定義が必要です。
Bluetooth SIGは、ある業界に関わる会社群が一般化したプロファイルを提出すれば、それをプロファイルとして承認します。この仕組みにより、特定の企業に依存しない一般化されたプロファイルのもとで、装置やアプリケーションの開発ができます。また、新たな装置のプロファイルが、今後も追加されていくでしょう。
2013年7月の時点で、Bluetooth SIGが承認しているプロファイルは、つぎの14つです。
Profiles | Bluetooth Development Portal
- アラート通知 (Alert Notification)。
- 血圧計 (Blood Pressure)。
- 自転車のパワーメータ (Cycling Power)。
- 自転車の速度とペダル回転数 (Cycling Speed and Cadence)。
- デバイスの発見 (Find Me)
- 血糖値 (Glucose)
- 体温計 (Health Thermometer)
- 心拍 (Heart Rate)
- 入力装置 (HID OVER GATT)
- 位置と経路誘導 (Location and Navigation)
- 電話の警告(Phone Alert Status)
- 近接 (Proximity)
- ランナーの速度とペース (Running Speed and Cadence)
- 時刻 (Time)
これらのプロファイルの分野は、大きくフィットネスとヘルスケアそしてモバイル機器の3つに分けられます。Bluetooth LEの規格制定時から、応用を考えられていた分野で、プロファイルも、いち早く成立しています。機能は、センサと通知に分類できます。スマートフォンから腕時計などに、メールや電話着信を通知するアラート通知は、クラシックBluetoothから提供されてきた機能です。
アクセサリの実例
アプリケーションやネットワークそして事業までを統合したアプセサリは、まだ少なくこれから登場するでしょう。アクセサリ自体は、2012年の夏あたりから次々登場しています。いくつかを紹介します。
1つは、プロトタイピングのための開発キットやアクセサリです。これらは、早い時期から登場しています。まずBluetooth LEの半導体やモジュール会社が、組み込み機器開発者向けキットの提供を開始しました。iOSアプリケーション開発者のなかにも、Bluetooth LEデバイスの開発をしてみたい要望があります。次に登場してきたのが、その要望にあわせて、組み込み機器開発者でなくても使いやすい、より安価な開発キットです。
日本の技術基準適合証明を取得しているプロトタイピングに向いたものに:
- SBBLE(サブレー) http://sbble.micutil.com
- Konashi http://konashi.ux-xu.com
- センサータグ http://www.tij.co.jp/tool/jp/cc2541dk-sensor
があります。
SBLBLE(サブレー)はマイクロチップ・テクノロジー・ジャパン株式会社のPICマイコンを採用した開発キットです。市販のUSB Bluetooth4アダプタを挿して使います。Konashiは、iOSアプリケーション側の開発がObjective-Cに加えてJavaScriptでも開発できます。ウェブ・サービスの開発者が、フィジカル・コンピューティングをiOSでおこなう場合の唯一の選択肢です。センサータグは、テキサス・インスツルメンツ社の半導体の評価キットで、25ドルと低価格です。次のセンサを搭載しています:
- 放射温度センサ、温度センサ
- 湿度センサ
- 圧力センサ
- 加速度計
- ジャイロスコープ
- 磁力計
必要なセンサが上記にあるプロトタイピングであればセンサータグを、LEDの点灯など低速の外部装置制御をiPhoneから行うならKonashiまたはSBBLEを、任意のファームウェアを開発したいときはSBBLEを選択するとよいでしょう。
キーホルダーまたはタグは、よくあるアクセサリです:
- キーホルダー、 iPhone用探せるキーホルダー
- StickNFind https://www.sticknfind.com
キーホルダーは、iPhoneと接続して使うものです。iPhoneを置き忘れしそうになった時にキーホルダーから警告音を出したり、キーホルダーのボタンを押すとiPhoneから音が出る機能でiPhoneを探すのに利用します。タグは、代表的なものにStickNFindがありますが、ものに取り付けておいて、ものを探すのに使うものです。その機能は、キーホルダーのボタンを省略したもので、おおよその距離をiPhoneで確認すること、iPhoneから操作してタグから音や光を出すこと、ができます。
たいていのキーホルダーやタグは、仕様が公開されていたり、ソフトウェア開発キットが提供されていて、アプリケーション開発に利用ができます。近接検出または光や音の出力を必要とするプロトタイピングに利用できます。
この他にも:
- 心拍センサ、 Alpha
- 活動量計、Fitbit
- 睡眠記録、オムロン ねむり時間計
- 姿勢検出、 Lumoback
- 腕時計、Pebble
などが市販されています。
ハードウェアとソフトウェアの開発体制
アプセサリのiOSアプリケーションは、ハードウェアと密接につながります。そのため、通信部分とドライバ相当は、両方をよく理解して協調して設計することが大切です。Objective-Cもできるハードウェア開発者が担当することが最適です。
iOSアプリケーションからみて、ハードウェアが期待した振る舞いをしないときは、問題がどこにあるのかを切り分けることが困難です。原因は、iOSアプリケーションのドライバ層の使い方の間違い、Bluetooth LEの通信、ハードウェアの設計、これら4つのどれかにあります。しかし、iOSアプリケーション開発者からは、通信以降を調べる手立てがありません。それらを調べられるのはハードウェア担当者です。
なにかおかしいことが起きた時に、原因箇所の特定には時間がかかります。このときに、ハードウェアの振る舞いを確認できるデモンストレーション・アプリケーションを作製しておけば、iOSアプリケーションとドライバ相当部分が原因かそうでないかが、すぐに切り分けできます。iOSアプリケーション以外に原因があるときは、通信プロトコルを見たり、ハードウェアの設計内容を確認していきます。それはハードウェア設計の担当領域です。