0
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 の知識はあった方が断然良い
• 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 や BLE の知識はあった方が断然良い
• iBeacon は BLE の縮退仕様
• Core Bluetooth / BLE の知識があると、
‣ iBeacon の仕様をより正確に理解できる
‣ 「何が得意で...
CASE 2
新規ウェアラブルデバイス
konashiを使用してプロトタイピング
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
• センサを konashi に接続し、iOS側でセンサ値を処理して制御情報
を生成する
iOSアプリ ハードBLE
センサ値
制御情報
konashiを使用してプロトタイピング
• デバイス側がまだないので、konashiで代用
• センサを konashi に接続し、iOS側でセンサ値を処理して制御情報
を生成する
• (現在、ハード屋さんがデバイスを開発中)
iOSアプリ ...
プロトタイピング段階での
iOSエンジニアのカバー範囲
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
iOSアプリ ハードBLE
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須
iOSア...
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須
‣ そも...
プロトタイピング段階での
iOSエンジニアのカバー範囲
• konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない
• が、仕様検討をする際に、CoreBluetooth / 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 ...
Upcoming SlideShare
Loading in...5
×

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

9,271

Published on

Published in: Technology
0 Comments
21 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,271
On Slideshare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
27
Comments
0
Likes
21
Embeds 0
No embeds

No notes for slide

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

  1. 1. iOSエンジニア
 in ハードウェア・プロジェクト 2014.4.26 yidev@恵比寿勉強会 堤 (@shu223)
  2. 2. 自己紹介
  3. 3. 自己紹介 • 経歴:某SIer → 某メーカー 
 → カヤック 
 → 海外スタートアップ 
 → フリーランス
  4. 4. 自己紹介 • 経歴:某SIer → 某メーカー 
 → カヤック 
 → 海外スタートアップ 
 → フリーランス • ブログ:『Over&Out その後』
  5. 5. 自己紹介 • 経歴:某SIer → 某メーカー 
 → カヤック 
 → 海外スタートアップ 
 → フリーランス • ブログ:『Over&Out その後』 • 書籍:『iOSアプリ開発 達人のレシピ100』
  6. 6. 自己紹介 • 経歴:某SIer → 某メーカー 
 → カヤック 
 → 海外スタートアップ 
 → フリーランス • ブログ:『Over&Out その後』 • 書籍:『iOSアプリ開発 達人のレシピ100』 • 連載:『iOSアプリと連携させて使えるデバイスたち』
  7. 7. 概要
  8. 8. 概要 ハードまわり(メカや電子回路)の知識やスキル を持たない iOSエンジニア が、ハードウェア関連プロ ジェクトに関わる際に、
  9. 9. 概要 ハードまわり(メカや電子回路)の知識やスキル を持たない iOSエンジニア が、ハードウェア関連プロ ジェクトに関わる際に、 • どのあたりを担当するのか
  10. 10. 概要 ハードまわり(メカや電子回路)の知識やスキル を持たない iOSエンジニア が、ハードウェア関連プロ ジェクトに関わる際に、 • どのあたりを担当するのか • どんな知識/スキルを要するのか
  11. 11. 概要 ハードまわり(メカや電子回路)の知識やスキル を持たない iOSエンジニア が、ハードウェア関連プロ ジェクトに関わる際に、 • どのあたりを担当するのか • どんな知識/スキルを要するのか について、自分の経験談をお話しします
  12. 12. 自分が経験した3つのケース • CASE 1 : 実店舗での iBeacon 利用アプリ • CASE 2 : 新規ウェアラブルデバイス用アプリ • CASE 3 : 次世代車椅子と連携するアプリ
  13. 13. CASE 1 iBeacon x 実店舗
  14. 14. 火鍋チェーン「小肥羊」アプリ
  15. 15. 火鍋チェーン「小肥羊」アプリ • iBeaconの機能を使用
  16. 16. 火鍋チェーン「小肥羊」アプリ • iBeaconの機能を使用 • 入店を検知
  17. 17. 火鍋チェーン「小肥羊」アプリ • iBeaconの機能を使用 • 入店を検知 • 退店後にクーポン付与
  18. 18. iBeaconアプリ/サービス開発での iOSエンジニアのカバー範囲 iOSアプリ ハードBLE
  19. 19. iBeaconアプリ/サービス開発での iOSエンジニアのカバー範囲 iOSアプリ ハードBLE
  20. 20. iBeaconアプリ/サービス開発での iOSエンジニアのカバー範囲 • BLEやハード側の知識がなくてもOK iOSアプリ ハードBLE
  21. 21. iOS側実装に必要な知識・スキル
  22. 22. iOS側実装に必要な知識・スキル • Core Location の iBeacon まわりを理解していればよい
  23. 23. iOS側実装に必要な知識・スキル • Core Location の iBeacon まわりを理解していればよい ‣ 関連API
  24. 24. iOS側実装に必要な知識・スキル • Core Location の iBeacon まわりを理解していればよい ‣ 関連API ‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、 みたいな話)
  25. 25. iOS側実装に必要な知識・スキル • Core Location の iBeacon まわりを理解していればよい ‣ 関連API ‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、 みたいな話) ‣ チート/セキュリティリスクとその対策方法
  26. 26. iOS側実装に必要な知識・スキル • Core Location の iBeacon まわりを理解していればよい ‣ 関連API ‣ iBeaconの仕様(UUID、major、minor をアドバタイズしている、 みたいな話) ‣ チート/セキュリティリスクとその対策方法 • Core Bluetooth 及び BLE の知識は不要
  27. 27. とはいえ
  28. 28. Core Bluetooth や BLE の知識はあった方が断然良い
  29. 29. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様
  30. 30. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、
  31. 31. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる
  32. 32. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる ‣ 「何が得意で、何が苦手なのか」をより明確に理解できる
  33. 33. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる ‣ 「何が得意で、何が苦手なのか」をより明確に理解できる → より的確なサービス設計が可能になる
  34. 34. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる ‣ 「何が得意で、何が苦手なのか」をより明確に理解できる → より的確なサービス設計が可能になる ‣ デバッグ、現場検証時にも勘が働く
  35. 35. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる ‣ 「何が得意で、何が苦手なのか」をより明確に理解できる → より的確なサービス設計が可能になる ‣ デバッグ、現場検証時にも勘が働く • Core Bluetooth側からの動作確認
  36. 36. Core Bluetooth や BLE の知識はあった方が断然良い • iBeacon は BLE の縮退仕様 • Core Bluetooth / BLE の知識があると、 ‣ iBeacon の仕様をより正確に理解できる ‣ 「何が得意で、何が苦手なのか」をより明確に理解できる → より的確なサービス設計が可能になる ‣ デバッグ、現場検証時にも勘が働く • Core Bluetooth側からの動作確認 • BLE電波の特性(WiFi電波との干渉、人体の吸収による影響等)
  37. 37. CASE 2 新規ウェアラブルデバイス
  38. 38. konashiを使用してプロトタイピング iOSアプリ ハードBLE センサ値 制御情報
  39. 39. konashiを使用してプロトタイピング • デバイス側がまだないので、konashiで代用 iOSアプリ ハードBLE センサ値 制御情報
  40. 40. konashiを使用してプロトタイピング • デバイス側がまだないので、konashiで代用 • センサを konashi に接続し、iOS側でセンサ値を処理して制御情報 を生成する iOSアプリ ハードBLE センサ値 制御情報
  41. 41. konashiを使用してプロトタイピング • デバイス側がまだないので、konashiで代用 • センサを konashi に接続し、iOS側でセンサ値を処理して制御情報 を生成する • (現在、ハード屋さんがデバイスを開発中) iOSアプリ ハードBLE センサ値 制御情報
  42. 42. プロトタイピング段階での iOSエンジニアのカバー範囲 iOSアプリ ハードBLE
  43. 43. プロトタイピング段階での iOSエンジニアのカバー範囲 • konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない iOSアプリ ハードBLE
  44. 44. プロトタイピング段階での iOSエンジニアのカバー範囲 • konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない • が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須 iOSアプリ ハードBLE
  45. 45. プロトタイピング段階での iOSエンジニアのカバー範囲 • konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない • が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須 ‣ そもそもBLEでいくのかどうか iOSアプリ ハードBLE
  46. 46. プロトタイピング段階での iOSエンジニアのカバー範囲 • konashi SDKを使用すれば、CoreBluetoothは直接たたく必要はない • が、仕様検討をする際に、CoreBluetooth / BLE についての理解が必須 ‣ そもそもBLEでいくのかどうか ‣ どういう情報をどの程度の通信間隔でやりとりするか, etc… iOSアプリ ハードBLE
  47. 47. CASE 3 次世代車椅子
  48. 48. WHILLと連携するiOSアプリ
  49. 49. WHILLと連携するiOSアプリ • WHILLの情報を表示する
  50. 50. WHILLと連携するiOSアプリ • WHILLの情報を表示する • 速度、バッテリー残量等
  51. 51. WHILLと連携するiOSアプリ • WHILLの情報を表示する • 速度、バッテリー残量等 • WHILLを操作する
  52. 52. WHILLと連携するiOSアプリ • WHILLの情報を表示する • 速度、バッテリー残量等 • WHILLを操作する • WHILLの設定を行う
  53. 53. iOSエンジニアのカバー範囲 iOSアプリ ハードBLE
  54. 54. iOSエンジニアのカバー範囲 • BLEモジュールのファームのプロトタイプ実装までカ バー iOSアプリ ハードBLE
  55. 55. iOSエンジニアのカバー範囲 • BLEモジュールのファームのプロトタイプ実装までカ バー • 本番ファームまではやらない(はず。現在進行中なので未定) iOSアプリ ハードBLE
  56. 56. BLE112 Development Kit BLE112 ディスプレイ USB
  57. 57. BLE112 Development Kit • BLEモジュールの開発・検証に必要な諸々がボードにビルトイン BLE112 ディスプレイ USB
  58. 58. BLE112 Development Kit • BLEモジュールの開発・検証に必要な諸々がボードにビルトイン • 買ってすぐに BLE モジュールのファームウェア開発を始められる BLE112 ディスプレイ USB
  59. 59. BGScript • BASICライク、イベントドリブンなスクリプト言語
  60. 60. GATT記述ファイル • GATTベースプロファイルをXMLで記述する
  61. 61. まとめ ハードまわりのスキル/知識のないiOSエンジニアでも、 ハードウェア開発のプロジェクトに楽しく関われます ‣ Core Bluetooth / BLE まわりの知識大事 ‣ BLEモジュールのファームまわりもできると る
  62. 62. ご清聴ありがとうございました! • Twitter • Facebook • GitHub • LinkedIn • Blog : 『Over&Out その後』 • Book : 『iOSアプリ開発 達人のレシピ100』 • gihyo.jp : 『iOSアプリと連携させて使えるデバイスたち』 • Facebook Page : 『iOS開発に役立つTips』
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×