SlideShare a Scribd company logo
iOSエンジニア

in ハードウェア・プロジェクト
2014.4.26 yidev@恵比寿勉強会
堤 (@shu223)
自己紹介
自己紹介
• 経歴:某SIer → 某メーカー 

→ カヤック 

→ 海外スタートアップ 

→ フリーランス
自己紹介
• 経歴:某SIer → 某メーカー 

→ カヤック 

→ 海外スタートアップ 

→ フリーランス
• ブログ:『Over&Out その後』
自己紹介
• 経歴:某SIer → 某メーカー 

→ カヤック 

→ 海外スタートアップ 

→ フリーランス
• ブログ:『Over&Out その後』
• 書籍:『iOSアプリ開発 達人のレシピ100』
自己紹介
• 経歴:某SIer → 某メーカー 

→ カヤック 

→ 海外スタートアップ 

→ フリーランス
• ブログ:『Over&Out その後』
• 書籍:『iOSアプリ開発 達人のレシピ100』
• 連載:『iOSアプリと連携させて使えるデバイスたち』
概要
概要
ハードまわり(メカや電子回路)の知識やスキル
を持たない iOSエンジニア が、ハードウェア関連プロ
ジェクトに関わる際に、
概要
ハードまわり(メカや電子回路)の知識やスキル
を持たない iOSエンジニア が、ハードウェア関連プロ
ジェクトに関わる際に、
• どのあたりを担当するのか
概要
ハードまわり(メカや電子回路)の知識やスキル
を持たない iOSエンジニア が、ハードウェア関連プロ
ジェクトに関わる際に、
• どのあたりを担当するのか
• どんな知識/スキルを要するのか
概要
ハードまわり(メカや電子回路)の知識やスキル
を持たない iOSエンジニア が、ハードウェア関連プロ
ジェクトに関わる際に、
• どのあたりを担当するのか
• どんな知識/スキルを要するのか
について、自分の経験談をお話しします
自分が経験した3つのケース
• CASE 1 : 実店舗での iBeacon 利用アプリ
• CASE 2 : 新規ウェアラブルデバイス用アプリ
• CASE 3 : 次世代車椅子と連携するアプリ
CASE 1
iBeacon x 実店舗
火鍋チェーン「小肥羊」アプリ
火鍋チェーン「小肥羊」アプリ
• iBeaconの機能を使用
火鍋チェーン「小肥羊」アプリ
• iBeaconの機能を使用
• 入店を検知
火鍋チェーン「小肥羊」アプリ
• iBeaconの機能を使用
• 入店を検知
• 退店後にクーポン付与
iBeaconアプリ/サービス開発での
iOSエンジニアのカバー範囲
iOSアプリ ハードBLE
iBeaconアプリ/サービス開発での
iOSエンジニアのカバー範囲
iOSアプリ ハードBLE
iBeaconアプリ/サービス開発での
iOSエンジニアのカバー範囲
• BLEやハード側の知識がなくてもOK
iOSアプリ ハードBLE
iOS側実装に必要な知識・スキル
iOS側実装に必要な知識・スキル
• Core Location の iBeacon まわりを理解していればよい
iOS側実装に必要な知識・スキル
• Core Location の iBeacon まわりを理解していればよい
‣ 関連API
iOS側実装に必要な知識・スキル
• Core Location の iBeacon まわりを理解していればよい
‣ 関連API
‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、
みたいな話)
iOS側実装に必要な知識・スキル
• Core Location の iBeacon まわりを理解していればよい
‣ 関連API
‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、
みたいな話)
‣ チート/セキュリティリスクとその対策方法
iOS側実装に必要な知識・スキル
• Core Location の iBeacon まわりを理解していればよい
‣ 関連API
‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、
みたいな話)
‣ チート/セキュリティリスクとその対策方法
• Core Bluetooth 及び BLE の知識は不要
とはいえ
Core Bluetooth や BLE の知識はあった方が断然良い
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
→ より的確なサービス設計が可能になる
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
→ より的確なサービス設計が可能になる
‣ デバッグ、現場検証時にも勘が働く
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
→ より的確なサービス設計が可能になる
‣ デバッグ、現場検証時にも勘が働く
• Core Bluetooth側からの動作確認
Core Bluetooth や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
→ より的確なサービス設計が可能になる
‣ デバッグ、現場検証時にも勘が働く
• Core Bluetooth側からの動作確認
• BLE電波の特性(WiFi電波との干渉、人体の吸収による影響等)
CASE 2
新規ウェアラブルデバイス
konashiを使用してプロトタイピング
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
• センサを konashi に接続し、iOS側でセンサ値を処理して制御情報
を生成する
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
• センサを konashi に接続し、iOS側でセンサ値を処理して制御情報
を生成する
• (現在、ハード屋さんがデバイスを開発中)
iOSアプリ ハードBLE
センサ値
制御情報
プロトタイピング段階での
iOSエンジニアのカバー範囲
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須
‣ そもそもBLEでいくのかどうか
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須
‣ そもそもBLEでいくのかどうか
‣ どういう情報をどの程度の通信間隔でやりとりするか, etc…
iOSアプリ ハードBLE
CASE 3
次世代車椅子
WHILLと連携するiOSアプリ
WHILLと連携するiOSアプリ
• WHILLの情報を表示する
WHILLと連携するiOSアプリ
• WHILLの情報を表示する
• 速度、バッテリー残量等
WHILLと連携するiOSアプリ
• WHILLの情報を表示する
• 速度、バッテリー残量等
• WHILLを操作する
WHILLと連携するiOSアプリ
• WHILLの情報を表示する
• 速度、バッテリー残量等
• WHILLを操作する
• WHILLの設定を行う
iOSエンジニアのカバー範囲
iOSアプリ ハードBLE
iOSエンジニアのカバー範囲
• BLEモジュールのファームのプロトタイプ実装までカ
バー
iOSアプリ ハードBLE
iOSエンジニアのカバー範囲
• BLEモジュールのファームのプロトタイプ実装までカ
バー
• 本番ファームまではやらない(はず。現在進行中なので未定)
iOSアプリ ハードBLE
BLE112 Development Kit
BLE112
ディスプレイ
USB
BLE112 Development Kit
• BLEモジュールの開発・検証に必要な諸々がボードにビルトイン
BLE112
ディスプレイ
USB
BLE112 Development Kit
• BLEモジュールの開発・検証に必要な諸々がボードにビルトイン
• 買ってすぐに BLE モジュールのファームウェア開発を始められる
BLE112
ディスプレイ
USB
BGScript
• BASICライク、イベントドリブンなスクリプト言語
GATT記述ファイル
• GATTベースプロファイルをXMLで記述する
まとめ
ハードまわりのスキル/知識のないiOSエンジニアでも、
ハードウェア開発のプロジェクトに楽しく関われます
‣ Core Bluetooth / BLE まわりの知識大事
‣ BLEモジュールのファームまわりもできると る
ご清聴ありがとうございました!
• Twitter
• Facebook
• GitHub
• LinkedIn
• Blog : 『Over&Out その後』
• Book : 『iOSアプリ開発 達人のレシピ100』
• gihyo.jp : 『iOSアプリと連携させて使えるデバイスたち』
• Facebook Page : 『iOS開発に役立つTips』

More Related Content

iOSエンジニア in ハードウェア・プロジェクト