個人的にandroidとios間でbluetoothを使用したデータのやりとりを利用してゲームを作ったので、
android・ios間でbluetooth通信をする方法と知らなければいけない基本知識をまとめたいと思います。

まずは、基本知識を学びます。

server sideのperipheralとclient sideのcentral

webの仕組みと同じように、Bluetoothにもserverとclient概念があり、
server側がperipheral
client側がcentral
という呼び名がついています。

つまりは、サーバとなるperipheralが信号を発信し、clientとなるcentralが
対象の信号を探索して、接続を試みます。

接続が完了したら、central・peripheralは接続した端末にデータを送ることがきます。

データのやりとりについて

centralは送りたいデータをperipheral側に送ることができますが、
当然central同士は通信することはできません。

central側がperipheralに接続された他のcentralの情報を必要とする場合は、
peripheral側が情報の管理をして、central側に伝える必要があります。

データの転送量について

一度に転送できるデータ量がandroid・ios間で決まっていて、
androidの初期値は20byte(512byteまで拡張可能)でiosはosにより異なります。

ですので、大抵の場合パケット通信のような仕組みでデータ送信を行う必要があります。

ios・android間でデータ転送を行う場合の注意点

android・ios間でBluetoothでデータ転送を行うためにには、
BluetoothLowEnergy(BLE)を使う必要があり、すべてのデバイスが
BLEに対応しているわけではありません。

iosでは、ios6.0以上(端末にも制限があるはず)

androidは基本として5系以上の端末になります。

また、androidではandroid versionが対応していても、
peripheral・centralとしての機能が使えないことがあり
(購入したMedia Pad M3ではble対応と書かれていたが使えなかった!)、
プログラムでチェックする必要があります。

以上、コードを書く前に学ぶべき基本事項でした。

android centralの実装はこちらから

Pocket