わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

CoreBluetoothとPassookのイントロ

CoreBluetoothの概要

iPhone4S以降のApple社のデバイスにはBluetooth4が搭載されている。
Bluetooth4は、従来の常時接続かつ高い通信速度を目指してきたBluetoothに、低頻度で少量のデータの送受信ができればよく超低消費電力が求められる用途に向けたLow energyが追加されたもの。
Low energyは、データ送受信頻度によるが、目安として、リチウムボタン電池CR20321つで1〜2年間の通信ができる。

Bluetooth4 = Bluetooth3 + Low energy

白板

MFiの開発の敷居の低さ

Bluetooth3までの開発(ヘッドセットやワイヤレススピーカー)にはMade for iPhoneプログラムへの参加が必要。Appleと弁護士を立ててNDAを締結するため、敷居は高い。これはiOS6になっても、同じ。クラシックBluetoothの開発には、それをはじめるために、MFiが必要。
Bluetooth low energyの開発はMFiが不要。CoreBluetoothは一般開発者ライセンスで利用できる。

ハードの開発

Bluetooth low energyの機器開発は、組み込み機器開発してきた会社にとっては、費用も技術も、かなり容易。Wahoo fitnessの心拍や体重計、Pebbleを始めとするスマフォ連携の腕時計。加速度を利用したスマフォ連携の活動量計などが続々出てきている。
Amazonでkey fobが3000円程度で購入できる。

他のモバイルの状況

WindowsPhone8はBluetooth4がハードウェア認定条件。デフォルト対応しているはず。

Wii Uなど、最近出てきているゲーム機器もBluetooth4対応。今後出てくるWii対応のワイヤレスな周辺装置は、電池の持ちが気になるものは、low energyを採用する、かも。それならiPhoneから使える可能性がある(ペアリングや暗号化周りの実装で、iOSでは使えないかも)。

Androidは鬼門。Bluetooth 2/3/4が機種により混在。さらにOSのバージョンが4系になりBT4と混同しやすい。ユーザが混乱する、最悪の環境。

スイッチとLEDで遊べる

ワイヤレスで常時接続するものは、意外と、簡単なものでも、さーびすとの掛け算でので、いくらでも化けるし遊べる。
Keyfob相当の、1つのスイッチと1つのLEDでも、LEDをモータにすればラジコンになるなど、ハードウェアだけを見ずに、全体を見てやると、切り口がたくさんある。

CoreBluetooth

デバイスの発見と接続の管理は、OSは一切関与しない。アプリに全てが任されている。OSの関与するのは、ハードウェアがペアリングする設計であるときのみ、設定のBluetoothの、接続するデバイスリストに、機種名が表示される。

CeltralとPeripheral

Bluetooth low energyのネットワークでは、デバイスは、Central(セントラル)とペリフェラル(Peripheral)の2つに分けられる。1つのセントラルに複数のペリフェラルが接続する、ピコネット。

iOS5まではiPhoneはセントラルのみになれる。心拍やリモコンなど、市販されているセンサーなどを搭載したデバイスは、ペリフェラル。それらデバイスと接続できる。

iOS6からは、iPhoneがセントラルにもペリフェラルにもなれる。これはBluetooth low energyのプロトコル・スタックの変更、ソフトウェアの変更で、実現されている。

加速度やジャイロなど、センサー+Bluetooth low energyで開発するときに、iOS5まではハードウェアを設計しなければならなかったが、iPhoneでペリフェラル相当の機能を実装して、それで開発を進め、並行してサイズや機能を最適化したペリフェラルを、組み込み機器開発の手法ですすめることができる。あるいは、プロトタイピング。

すれ違い通信とか、ありえない発想にも

Bluetooth low energyの機能は、アドバタイズメントと接続通信の2つ。アドバタイズメントは、ペリフェラルが存在することを周囲のペリフェラルに通知する仕組み。うまく使えば、ブロードキャストに使える。(パケットの長さ制約で、送信できるデータは20バイト位だけど)
接続した状態であれば、適切な頻度、適切なデータレート(50kpbs程度まで)で通信もできる。すれちがい通信みたいな応用も、できるだろう。

Passbookのイントロ

白板

Passbookは自社サーバとユーザの接続

Passbookの仕組み自体はとても単純。Appleから受けた証明書を使い、ユーザにJSON形式のデータでパスを渡せる仕組み。
パスの形式は、チケットなど、5つの形式が決められている。パスの取得は、メール、アプリ、ウェブの3経路。
このパスは、自社サーバから動的に更新できる。

パスに時間や場所の条件設定をしておいて、ローカルで、ユーザにノーティフィケーションの通知が可能。

サービス、商売?

どの視点で、また目的で見るかを考えみます。人目を引くイベントを作るための道具として使うのか。また継続してチケットを売る商売をしたいのか、iOS関連の開発事業をしたいのか。

  • 仕組み自体を見るなら、サーバの設定と運用、あるいはチケット管理代理業務がありそう。
  • チケット販売をやるなら、既存業界があるから、そちらとの競争、iOS開発じゃなくて、その業界の新規参入会社になりそう。