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

9,928
-1

Published on

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

No Downloads
Views
Total Views
9,928
On Slideshare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
30
Comments
0
Likes
22
Embeds 0
No embeds

No notes for slide

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.

×