試験公開中

このエントリーをはてなブックマークに追加

iOS×BLE Core Bluetoothプログラミング

ソシム

4,000円+税

本書は、Core Bluetoothを使ったBLEのアプリ開発プログラミングの解説書です。BLEの仕様の詳細な解説から実際のアプリ開発手法、はまりやすい点の解説までをわかりやすく解説します。

関連サイト

本書の関連ページが用意されています。

内容紹介

本書は、Core Bluetoothを使ったBLEのアプリ開発プログラミングの解説書です。BLEの仕様の詳細な解説から実際のアプリ開発手法、はまりやすい点の解説までをわかりやすく解説します。

本書は大きく「Part1. BLE 編」と「Part2. iOSプログラミング編」にわかれています。

「Part1. BLE 編」(1章から3章)は、konashiの開発者である松村氏による執筆で、BLEという通信規格そのものについての解説を行っています。

「Part2. iOSプログラミング編」(4章から12章)は、iOSエンジニアである堤氏による執筆で、Core Bluetoothを中心に、BLEを用いたiOSアプリ開発の解説を行っています。10章「開発ツール・ユーティリティ」や11章「ハマりどころ逆引き辞典」などは、実際に開発現場での実体験が反映されたものとなっています。 本書は大きく「Part1. BLE 編」と「Part2. iOSプログラミング編」にわかれています。

書誌情報

  • 著者: 堤 修一, 松村 礼央
  • 発行日: (紙書籍版発行日: 2015-03-30)
  • 最終更新日: 2015-12-30
  • バージョン: 1.1.0
  • ページ数: 480ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: ソシム

対象読者

著者について

堤 修一

京都大学にて電気電子工学、京都大学大学院にて信号処理を学び、NTTデータにて音声処理、キヤノンにて画像処理を専門として研究開発に従事。カヤックにてiOSアプリ開発者として30本以上のアプリを開発しリリースする。その後シリコンバレーの500Startupsのインキュベーションプログラムに参画。現在はフリーランス。BLEを用いて外部ハードウェアと連携するiOSアプリを多く手がけている。カンヌ国際広告祭やAppStore Best of 2012等受賞多数。著書『iOSアプリ開発 達人のレシピ100』(秀和システム/2013年)

松村 礼央

博士(工学)。karakuri products代表。東京大学先端研特任研究員。在学中は人型ロボットの開発・製造に従事、代表作は「robovie-mR2」。2012年にBLEを活用したツールキット「konashi」の企画、開発に従事。2013年に独立しkarakuri productsを設立。現在はセンサ・ネットワークから得た活動文脈を活用したインフラについて研究し、その成果展開を行っている。

目次

まえがき

本書の読み方

Part1. BLE編

1. はじめに

2. BLEをとりあえず体験する

  • 2-1. konashiでBLEを体験する
  • 2-2. 初級編:konashiをとりあえず体験する
  • 2-3. 中級編:konashiをiOS-SDKを利用して制御する

3. BLEを理解する

  • 3-1. BLEの概要
  • 3-2. BLEの構造
  • 3-3. BLEのネットワークトポロジー
  • 3-4. BLEでのネットワークと通信の制御
  • 3-5. L2CAP(Logical Link Control and Adaption Protocol)によるパケットの制御
  • 3-6. BLEのパケットフォーマット
  • 3-7. LL層における通信のやり取り
  • 3-8. GAP(Generic Access Profile)の詳細を知る
  • 3-9. ATT(Attribute Protocol)とGATT(Generic Attribute Profile)の詳細を知る
  • 3-10. GATTとService
  • 3-11. iOSエンジニアのBLEあんちょこ

Part2. iOSプログラミング編

4. Core Bluetooth入門

  • 4-1. 周辺のBLEデバイスを検索する
  • 4-2. BLEデバイスに接続する
  • 4-3. 接続したBLEデバイスのサービス・キャラクタリスティックを検索する
  • 4-4. 接続したBLEデバイスからデータを読み出す(Read)
  • 4-5. 接続したBLEデバイスへデータを書き込む(Write)
  • 4-6. 接続したBLEデバイスからデータの更新通知を受け取る(Notify)

5. ペリフェラルの実装

  • 5-1. セントラルから発見されるようにする(アドバタイズの開始)
  • 5-2. サービスを追加する
  • 5-3. サービスをアドバタイズする
  • 5-4. セントラルからのReadリクエストに応答する
  • 5-5. セントラルからのWriteリクエストに応答する
  • 5-6. セントラルへデータの更新を通知する(Notify)

6. 電力消費量、パフォーマンスの改善

  • 6-1. スキャンの最適化
  • 6-2. ペリフェラルとの通信の最適化
  • 6-3. ペリフェラルとの接続の最適化
  • 6-4. イベントディスパッチ用のキューを変更する(セントラル)
  • 6-5. アドバタイズの最適化
  • 6-6. イベントディスパッチ用のキューを変更する(ペリフェラル)

7. バックグラウンド実行モード

  • 7-1. バックグラウンド実行モードへの対応方法
  • 7-2. バックグラウンド実行モードの挙動
  • 7-3. アプリが停止しても、代わりにタスクを実行するようシステムに要求する(状態の保存と復元)
  • 7-4. バックグラウンド実行モードを使用せず、バックグラウンドでのイベント発生をアラート表示する

8. Core Bluetoothその他の機能

  • 8-1. ペリフェラルに再接続する
  • 8-2. Bluetoothがオフの場合にユーザーにアラートを表示する
  • 8-3. UUID 詳解
  • 8-4. アドバタイズメントデータ詳解
  • 8-5. CBPeripheralのnameが示す「デバイス名」について
  • 8-6. 静的な値を持つキャラクタリスティック
  • 8-7. サービスに他のサービスを組み込む~「プライマリサービス」と「セカンダリサービス」
  • 8-8. サービスの変更を検知する

9. Core Bluetooth以外のBLE関連機能

  • 9-1. iOSの電話着信やメール受信の通知を外部デバイスから取得する(ANCS)
  • 9-2. iBeaconとBLE
  • 9-3. MIDI 信号をBLEで送受信する(MIDI over Bluetooth LE)
  • 9-4. BLEが利用可能なiOSデバイスのみインストールできるようにする

10. 開発ツール・ユーティリティ

  • 10-1. 128ビットUUIDを生成するコマンド「uuidgen」
  • 10-2. 開発に便利なiOSアプリ「LightBlue」
  • 10-3. Apple 製開発用ツール「Bluetooth Explorer」
  • 10-4. 「PacketLogger」でBLEのパケットを見る

11. ハマりどころ逆引き辞典

  • トラブル1:スキャンに失敗する
  • トラブル2:接続に失敗する
  • トラブル3:サービスまたはキャラクタリスティックが見つからない
  • トラブル4:Writeで失敗する
  • トラブル5:キャラクタリスティックの値がおかしい
  • トラブル6:バックグラウンドでのスキャンが動作しない
  • トラブル7:バックグラウンドのペリフェラルが見つからない
  • トラブル8:セントラルの「状態の保存と復元」に失敗する
  • トラブル9:ペリフェラルの「状態の保存と復元」に失敗する
  • トラブル10:iBeaconが見つからない

12. BLEを使用するiOSアプリ レシピ集

  • レシピ1:心拍数モニタアプリ
  • レシピ2:活動量計デバイスとアプリ
  • レシピ3:ジェスチャ認識ウェアラブルデバイス&アプリ
  • レシピ4:すれちがい通信アプリ

Appendix. BLEを使ったサービスを開発するということ

索引

Home 書籍一覧 iOS×BLE Core Bluetoothプログラミング ▲ ページトップへ戻る