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

Post on 28-May-2015

9.141 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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』

top related