記事一覧

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

BLEをiOSでプログラミングするなら鉄板の本

oosxble.jpg

でもまあまあ高い本です。

極力ローコストを狙ってるRoboTakaoとしては買うかどうか迷うところ

ということで図書館にあるか調べていると住んでいる川崎市立図書館と神奈川県立図書館には所蔵なし

ダメもとで川崎市立図書館でリクエストしてみると、本が準備できたというメールが来ました。

横浜国大附属図書館から回してもらったようです。

いやー便利ですね。



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を使ったサービスを開発するということ
・索引

スポンサードリンク

コメント

コメントの投稿

非公開コメント

プロフィール

RoboTakao

Author:RoboTakao
みなさんご訪問ありがとうございます。ロボット作りたいけどお小遣いそんなにないし、簡単でローコストでロボットを作るための私のプロジェクトを紹介します。

ウェブサイトもありますのでそちらもよろしくお願いします。
http://robotakao.jp/

スポンサーリンク