基礎知識なんて偉そうなことを言っていますが、社内のIT知嚢の方から聞きかじったことです。間違っていたら指摘お願いします!
iPhoneではBluetooth 3.x/2.xをアプリから自由に使えない
使うとするiPhone Accessory Protocol(通称 iAP)に対応したデバイスを製造する必要がある
- Made For iPhone認証を取る必要がある(通称 MFi)
- Appleのデバイス審査が必要
- MFi認証取得デバイスを製造する為に工場側もMFiを取得している必要がある
- MFiのManufacture Licenseの取得が必要
- ベンダーが限られている
- MFi認証取得と共に、iAPを喋るために認証チップが必要になるこのコストが上積みされる
- MFiのManufacture Licenseの取得が必要
MFiを取らないでBT 3.x/2.xで実装しようとした場合
- Human Interface Device(HIDと呼ばれてるタイプのデバイス: キーボードなど)とする事で、MFiは不要
- BT端末からの情報をソフトウェアキーボードやハードウェアキーに割り当てることで、擬似的に他の操作を行わせる。
- 例えば、とあるシャッターリモコンは、Enterキーや音量UPハードキーに割り当てて、カメラ起動時にシャッターが切れるようにしている。
-
iOSの注意点
- HIDとしてiOSデバイスに接続すると、外部キーボード接続されたと認識する
- iOSのソフトウェアキーボードが動作しなくなる(画面に出てこなくなる)
- ソフトウェアキーボードを使いたいシーンで使えなくなる
Bluetooth 4.0
最近の端末はだいたい対応している
- iOS端末 : iPhone 4S〜、第3世代iPad〜
- Android : Ver4.3〜
- アプリから自由に使えるのでBT3.0での問題を解決できる。独自のプロトコル構築も可能。
まとめ
- iOS
- Bluetooth 3.0の信号はアプリ上で使えない。
- OSが処理して、それに割り当てられた操作がアプリ上で実行されるだけ。
- Android
- 例えばキーボードとして連携されたBT端末からのインプットを検知して、他のアクションに使える。
次回
- iOSに関してはBluetooth 3.0と連携して何かすることはできないので、 Bluetooth 4.0何かできないか探索してみる。