SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
CoreBluetoothでつくる
Bluetooth Low Energy デバイス

              伊勢  シン / 伊藤  伸裕
              ITごったに勉強会#1@沖縄
                    2013/02/02 (Sat)
⾃自⼰己紹介
•  伊勢  シン / 伊藤  伸裕
  –  @iseebi / id:iseebi
•  スマートフォンアプリ作ってます。
  –  iPhone / Android
  –  最近うっかり
     iOS Developer Program
     失効させるところだった


•  今⽇日もスマートフォンのはなしです。
突然ですが!!!
今年は
PF間近接通信が
   来る!
     と思う
2013年年  スマホ⽅方⾯面で          (個⼈人的に)   アツそうなもの
•  HTML5⽅方⾯面
  –  依然注⽬目度度変わらず

•  新しいモバイルOS
  –  Firefox OS、Ubuntu Phone
    •  Nexus S や Galaxy Nexus などの
       これらOSを”焼ける”端末の価値が急上昇の予感


•  機器連携・近接通信
  –  プラットフォームを超えた通信
  –  組み込み機器の⾃自作
いままでの近接通信状況
•  iOS
  –  ⾃自由に開放されたAPIがない
  –  GameKit をつかったらできる。
     •  独⾃自プロファイルなので、iOS同⼠士でしか通信できず


•  Android
  –  Bluetooth いけます
  –  機種によってはFelicaいけます


•  なんか2011年年の夏に1機種だけでたアレ
  –  全くダメ
この1年年くらいで状況かわってきた
•  iOS
  –  iOS 5 から  CoreBluetooth で⾃自由に使えるようになった。
     iOS 6 でさらに⾃自由度度が上がった
  –  そのかわり、Bluetooth LEだけしか対応しない。
•  Android
  –  NFC最速対応
  –  Bluetooth LE対応している機種もちらほら。
     ⾮非公式SDKで、何機種かはいけそう?
•  なんか⽇日本で出る気配のないアレ
  –  NFCつかえる (AndroidとのURLやりとり確認済み)
  –  旧来のBluetoothがいけるようになった
新しい規格
•  Bluetooth Low Energy (BLE) = Bluetooth 4.0
  –  これまでのBluetoothよりも省省電⼒力力な設計
     •  その代わり互換性はないので、ほとんどはデュアルスタックで
        実装される
  –  GATT(General Attribute Profile) ベースの通信
     •  機器は複数の Service を提供し、
        サービスは複数の Characteristic を提供する
     •  Indicate, Notify など、通知機能もあり。


•  Near Field Communication (NFC)
  –  おサイフケータイみたいな、「タッチして通信」
  –  急速に広がってる
何がうれしいの?
•  いままでできなかったこんなことができるように!
 –  iPhone / Android の間でアドレス交換
   •  Android側の対応がまだ難あり
 –  iPadで動くアプリのコントローラとして、
    Andorid と iPhone両⽅方使える
 –  バックグラウンド実⾏行行が使えるので、夢が広がる
   •  Macでも、新しいやつはCoreBluetooth使えるので、
      Macからパルス送り続けて、通信続けさせるとか。
      (要検証)
まとめるとこうなる
 これまで⼀一切切あかんかった
    iOSが対応!




                             Bluetooth 2.0

                                             Bluetooth LE

                                                            NFC




※各OSの開発者マニュアルなどの情報を元に作者調べ。
 2012/02/02(Sat) 現在
iOSでBLE通信したい
•  iOS 5 から⼊入った
   CoreBluetooth.framework を使う
  –  iPhone 4S 以上で使⽤用可能

•  バックグラウンド実⾏行行可能!
  –  機器からアプリを起こすことができる
     (数秒だけ。でもTask Completionも使える)

•  NO GUIDE
  –  まともなドキュメントやサンプルがほぼない。
  –  WWDC’12のセッションビデオが最⼤大の情報源
    •  Advanced Core Bluetooth
BLE通信できた所で機器がない
•  iOS 5 の段階で⽤用意されたのは
   「機器に対してアクセスする」ものしかなかった
 –  iOS 5のタイミングでは、そんな機器はなかった。
•  最近になって、ようやくいろいろできるようになって
   きた
 –  Arduino BLEシールド
 –  konashi
   •  http://konashi.ux-xu.com/
   •  知って4分で注⽂文しました
 –  思い通りにやるには電⼦子⼯工作の知識識が必要
iOS 6 で、iOSデバイスをBLE機器に!
•  iOS 6で、CBPeripheralManager が追加!
   iOS  デバイス上にBLEデバイスを定義可能に
  –  NO REFERENCE




    •  リファレンスがないので、
       ヘッダファイルのコメントをみながら、⼿手探り。
CBPeripheralManager基本的な⼿手順
•  CBPeripheralManagerDelegate を実装する
  –  必須なのは1つだけ
•  CBPeriperalManager を作る
•  CBMutableCharacteristic を作る
•  CBMutableService を作って、
   characteristics に配列列で突っ込む
•  CBPeriperalManager に  
   CBMutableServiceをaddServiceで追加する
•  startServiceする
Demo   したい…
その他ポイント 1/2
•  CBUUIDは、独⾃自にサービスを定義する場合は、
   ターミナルでuuidgenで⽣生成する
 –  Bluetooth SIGに認証とったら
    4桁UUID(0xXXXX)が使えるらしい
その他ポイント 2/2
•  iOSデバイスが⾜足りなければ、Macの設定を
   変更更してシミュレータで試すことも可能。
 –  USBのBLE対応アダプタが必須
 –  TN2295参照
 –  https://developer.apple.com/library/ios/
    #technotes/tn2295/_index.html
•  BLExplr はBLE開発必携ツール
 –  https://itunes.apple.com/jp/app/blexplr/
    id524018027?mt=8
まとめ
•  iOS 6 + CoreBluetoothで
   CBPeripheralManagerを実装すれば
   BLE機器を簡単に作れます。
  –  いろいろ夢がひろがる!
  –  組み込みのBLE機器のモックとしてもどうぞ


•  ただしリファレンスがないので、ヘッダをがんばって読む。
  –  そんなに仕組みは複雑じゃないです。まだがんばれる。


•  あなたのアプリに、新たな選択肢を!

Weitere ähnliche Inhalte

Was ist angesagt?

Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありました
Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありましたWio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありました
Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありましたTakeshi Murakami
 
とある小型の青歯規格(ブルートゥース)
とある小型の青歯規格(ブルートゥース)とある小型の青歯規格(ブルートゥース)
とある小型の青歯規格(ブルートゥース)iPride Co., Ltd.
 
Esp8266でラジコン基板
Esp8266でラジコン基板Esp8266でラジコン基板
Esp8266でラジコン基板Bizan Nishimura
 
mbedでIoTデバイス
mbedでIoTデバイスmbedでIoTデバイス
mbedでIoTデバイスJunichi Katsu
 
IoT 時代における省電力長距離無線通信(LPWA)の選び方と LoRaWAN や Sigfox の活用方法
IoT 時代における省電力長距離無線通信(LPWA)の選び方とLoRaWAN や Sigfox の活用方法IoT 時代における省電力長距離無線通信(LPWA)の選び方とLoRaWAN や Sigfox の活用方法
IoT 時代における省電力長距離無線通信(LPWA)の選び方と LoRaWAN や Sigfox の活用方法SORACOM,INC
 
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めようコードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めようShin-ya Koga
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例についてMasanori Itoh
 
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9SORACOM,INC
 
ハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみたハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみたNaotaka Saito
 
HosCon2017 マルチリージョンの仮想化インフラができるまで
HosCon2017 マルチリージョンの仮想化インフラができるまでHosCon2017 マルチリージョンの仮想化インフラができるまで
HosCon2017 マルチリージョンの仮想化インフラができるまでHirokazu Shimabara
 
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10SORACOM,INC
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobeYamauchi isamu
 
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみたBLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみたBizan Nishimura
 
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM,INC
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラムMinoru Nakamura
 
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜SORACOM,INC
 

Was ist angesagt? (20)

Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありました
Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありましたWio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありました
Wio LTE(Seeed社)が簡単だということでやってみたけれどもいろいろありました
 
Beaconのお話
Beaconのお話Beaconのお話
Beaconのお話
 
とある小型の青歯規格(ブルートゥース)
とある小型の青歯規格(ブルートゥース)とある小型の青歯規格(ブルートゥース)
とある小型の青歯規格(ブルートゥース)
 
Esp8266でラジコン基板
Esp8266でラジコン基板Esp8266でラジコン基板
Esp8266でラジコン基板
 
mbedでIoTデバイス
mbedでIoTデバイスmbedでIoTデバイス
mbedでIoTデバイス
 
IoT 時代における省電力長距離無線通信(LPWA)の選び方と LoRaWAN や Sigfox の活用方法
IoT 時代における省電力長距離無線通信(LPWA)の選び方とLoRaWAN や Sigfox の活用方法IoT 時代における省電力長距離無線通信(LPWA)の選び方とLoRaWAN や Sigfox の活用方法
IoT 時代における省電力長距離無線通信(LPWA)の選び方と LoRaWAN や Sigfox の活用方法
 
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めようコードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
 
IIJmio meeting #3 スピードテストについて考える
IIJmio meeting #3 スピードテストについて考えるIIJmio meeting #3 スピードテストについて考える
IIJmio meeting #3 スピードテストについて考える
 
プログラマ目線から見たRDMAのメリットと その応用例について
プログラマ目線から見たRDMAのメリットとその応用例についてプログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットと その応用例について
 
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9
SORACOM Napter で Node-RED ウキウキリモート開発 | Node-RED UG 勉強会 Vol.9
 
IIJmio meeting #2 IIJmioとIPv6の話
IIJmio meeting #2 IIJmioとIPv6の話IIJmio meeting #2 IIJmioとIPv6の話
IIJmio meeting #2 IIJmioとIPv6の話
 
ハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみたハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみた
 
HosCon2017 マルチリージョンの仮想化インフラができるまで
HosCon2017 マルチリージョンの仮想化インフラができるまでHosCon2017 マルチリージョンの仮想化インフラができるまで
HosCon2017 マルチリージョンの仮想化インフラができるまで
 
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10
Napter で簡単リモート操作のデモ | SORACOM UG 九州 #10
 
201104016 osc2011 kobe
201104016 osc2011 kobe201104016 osc2011 kobe
201104016 osc2011 kobe
 
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみたBLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみた
 
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオンSORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
SORACOM UG 東海 #1 | これだけ知っていれば LoRaWAN & SORACOM Air for LoRaWAN ハンズオン
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
 
I talk3
I talk3I talk3
I talk3
 
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
 

Ähnlich wie CoreBluetoothでつくるBluetooth Low Energyデバイス

組み込みーモバイルークラウドをオープンな形でつなぐ
組み込みーモバイルークラウドをオープンな形でつなぐ組み込みーモバイルークラウドをオープンな形でつなぐ
組み込みーモバイルークラウドをオープンな形でつなぐKenichi Yoshida
 
Swiftビギナーズ勉強会_第26回_発表資料
Swiftビギナーズ勉強会_第26回_発表資料Swiftビギナーズ勉強会_第26回_発表資料
Swiftビギナーズ勉強会_第26回_発表資料FromF
 
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~Taisuke Oe
 
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50NorioIkedo
 
Node-REDについて
Node-REDについてNode-REDについて
Node-REDについてAtsushi Kojo
 
FlashAirを用いたiot家電−jsboardshibuya
FlashAirを用いたiot家電−jsboardshibuyaFlashAirを用いたiot家電−jsboardshibuya
FlashAirを用いたiot家電−jsboardshibuyaTakuya Noaki
 
USB over RDP over SSH
USB over RDP over SSHUSB over RDP over SSH
USB over RDP over SSHkoedoyoshida
 
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っているやはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っているyouten (ようてん)
 
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevXcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevTomohiro Kumagai
 
The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30Yukio Andoh
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical ComputingTakahiro KUREBAYASHI
 
Technology for Interaction and IoT.
Technology for Interaction and IoT.Technology for Interaction and IoT.
Technology for Interaction and IoT.c-mitsuba
 
konashi Make-a-thon "What's konashi"
konashi Make-a-thon "What's konashi"konashi Make-a-thon "What's konashi"
konashi Make-a-thon "What's konashi"Reo Matsumura
 
未踏2次 iPhoneソフトウェアモデム開発プロジェクト
未踏2次 iPhoneソフトウェアモデム開発プロジェクト未踏2次 iPhoneソフトウェアモデム開発プロジェクト
未踏2次 iPhoneソフトウェアモデム開発プロジェクトakihiro uehara
 
Fukuoka NFC Hack 3
Fukuoka NFC Hack 3Fukuoka NFC Hack 3
Fukuoka NFC Hack 3treby
 
NFC使ってみたよ -Firefox OS 勉強会7th-
NFC使ってみたよ -Firefox OS 勉強会7th-NFC使ってみたよ -Firefox OS 勉強会7th-
NFC使ってみたよ -Firefox OS 勉強会7th-meco300
 

Ähnlich wie CoreBluetoothでつくるBluetooth Low Energyデバイス (20)

組み込みーモバイルークラウドをオープンな形でつなぐ
組み込みーモバイルークラウドをオープンな形でつなぐ組み込みーモバイルークラウドをオープンな形でつなぐ
組み込みーモバイルークラウドをオープンな形でつなぐ
 
Swiftビギナーズ勉強会_第26回_発表資料
Swiftビギナーズ勉強会_第26回_発表資料Swiftビギナーズ勉強会_第26回_発表資料
Swiftビギナーズ勉強会_第26回_発表資料
 
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~
BONXを支える技術:Bluetooth編 ~Bluetoothを120%使い倒す方法~
 
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50
Bluetoothデュアルモジュールを使ってみた話 @IoTLT vol.50
 
【Web es sense】MultipeerConnectivityについて
【Web es sense】MultipeerConnectivityについて【Web es sense】MultipeerConnectivityについて
【Web es sense】MultipeerConnectivityについて
 
Node-REDについて
Node-REDについてNode-REDについて
Node-REDについて
 
FlashAirを用いたiot家電−jsboardshibuya
FlashAirを用いたiot家電−jsboardshibuyaFlashAirを用いたiot家電−jsboardshibuya
FlashAirを用いたiot家電−jsboardshibuya
 
USB over RDP over SSH
USB over RDP over SSHUSB over RDP over SSH
USB over RDP over SSH
 
Hw meetup 20150304
Hw meetup 20150304Hw meetup 20150304
Hw meetup 20150304
 
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っているやはりお前らのAndroidのBLEが不安定だという認識は間違っている
やはりお前らのAndroidのBLEが不安定だという認識は間違っている
 
Xcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdevXcode 再入門「Xcode の検索機能」 #さいたまdev
Xcode 再入門「Xcode の検索機能」 #さいたまdev
 
The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
 
Technology for Interaction and IoT.
Technology for Interaction and IoT.Technology for Interaction and IoT.
Technology for Interaction and IoT.
 
konashi Make-a-thon "What's konashi"
konashi Make-a-thon "What's konashi"konashi Make-a-thon "What's konashi"
konashi Make-a-thon "What's konashi"
 
未踏2次 iPhoneソフトウェアモデム開発プロジェクト
未踏2次 iPhoneソフトウェアモデム開発プロジェクト未踏2次 iPhoneソフトウェアモデム開発プロジェクト
未踏2次 iPhoneソフトウェアモデム開発プロジェクト
 
Fukuoka NFC Hack 3
Fukuoka NFC Hack 3Fukuoka NFC Hack 3
Fukuoka NFC Hack 3
 
NFC使ってみたよ -Firefox OS 勉強会7th-
NFC使ってみたよ -Firefox OS 勉強会7th-NFC使ってみたよ -Firefox OS 勉強会7th-
NFC使ってみたよ -Firefox OS 勉強会7th-
 
ifLink[改善版].pdf
ifLink[改善版].pdfifLink[改善版].pdf
ifLink[改善版].pdf
 
IoT ChatOps #IoTLT
IoT ChatOps #IoTLTIoT ChatOps #IoTLT
IoT ChatOps #IoTLT
 

Mehr von Shin Ise

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossShin Ise
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5Shin Ise
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4Shin Ise
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3Shin Ise
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2Shin Ise
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10Shin Ise
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみるShin Ise
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1Shin Ise
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼうShin Ise
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」Shin Ise
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかたShin Ise
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2Shin Ise
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼうShin Ise
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive ExtensionsShin Ise
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone ToolkitShin Ise
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントShin Ise
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7Shin Ise
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発Shin Ise
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーShin Ise
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るShin Ise
 

Mehr von Shin Ise (20)

Cross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCrossCross platform development with Xamarin 2.0 + MvvmCross
Cross platform development with Xamarin 2.0 + MvvmCross
 
いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5いまどきのiOSプログラミング with Xcode5
いまどきのiOSプログラミング with Xcode5
 
すまべんLite@関西#4
すまべんLite@関西#4すまべんLite@関西#4
すまべんLite@関西#4
 
すまべんLite@関西#3
すまべんLite@関西#3すまべんLite@関西#3
すまべんLite@関西#3
 
すまべんLite@関西#2
すまべんLite@関西#2すまべんLite@関西#2
すまべんLite@関西#2
 
すごいHaskell読書会#10
すごいHaskell読書会#10すごいHaskell読書会#10
すごいHaskell読書会#10
 
音声APIを使ってみる
音声APIを使ってみる音声APIを使ってみる
音声APIを使ってみる
 
すまべんLite@関西#1
すまべんLite@関西#1すまべんLite@関西#1
すまべんLite@関西#1
 
Xamarin2.0であそぼう
Xamarin2.0であそぼうXamarin2.0であそぼう
Xamarin2.0であそぼう
 
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
 
GridViewのつかいかた
GridViewのつかいかたGridViewのつかいかた
GridViewのつかいかた
 
iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2iOSのVoiceOver対応開発 Rev2
iOSのVoiceOver対応開発 Rev2
 
MediaLibrary で あそぼう
MediaLibrary で あそぼうMediaLibrary で あそぼう
MediaLibrary で あそぼう
 
実践 Reactive Extensions
実践 Reactive Extensions実践 Reactive Extensions
実践 Reactive Extensions
 
本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit本当は怖いSilverlight for Windows Phone Toolkit
本当は怖いSilverlight for Windows Phone Toolkit
 
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイントSocketプログラム Silverlight for Windows Phoneへの移植のポイント
Socketプログラム Silverlight for Windows Phoneへの移植のポイント
 
Macで使うWindows Phone 7
Macで使うWindows Phone 7Macで使うWindows Phone 7
Macで使うWindows Phone 7
 
iOSのVoiceOver対応開発
iOSのVoiceOver対応開発iOSのVoiceOver対応開発
iOSのVoiceOver対応開発
 
Galaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバーGalaxy tab で持ち歩くモバイルサーバー
Galaxy tab で持ち歩くモバイルサーバー
 
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作るハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
ハブインテグレーションでWindows Phone 7の世界に溶け込むアプリを作る
 

Kürzlich hochgeladen

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Kürzlich hochgeladen (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

CoreBluetoothでつくるBluetooth Low Energyデバイス

  • 1. CoreBluetoothでつくる Bluetooth Low Energy デバイス 伊勢  シン / 伊藤  伸裕 ITごったに勉強会#1@沖縄 2013/02/02 (Sat)
  • 2. ⾃自⼰己紹介 •  伊勢  シン / 伊藤  伸裕 –  @iseebi / id:iseebi •  スマートフォンアプリ作ってます。 –  iPhone / Android –  最近うっかり iOS Developer Program 失効させるところだった •  今⽇日もスマートフォンのはなしです。
  • 4. 今年は PF間近接通信が 来る! と思う
  • 5. 2013年年  スマホ⽅方⾯面で (個⼈人的に) アツそうなもの •  HTML5⽅方⾯面 –  依然注⽬目度度変わらず •  新しいモバイルOS –  Firefox OS、Ubuntu Phone •  Nexus S や Galaxy Nexus などの これらOSを”焼ける”端末の価値が急上昇の予感 •  機器連携・近接通信 –  プラットフォームを超えた通信 –  組み込み機器の⾃自作
  • 6. いままでの近接通信状況 •  iOS –  ⾃自由に開放されたAPIがない –  GameKit をつかったらできる。 •  独⾃自プロファイルなので、iOS同⼠士でしか通信できず •  Android –  Bluetooth いけます –  機種によってはFelicaいけます •  なんか2011年年の夏に1機種だけでたアレ –  全くダメ
  • 7. この1年年くらいで状況かわってきた •  iOS –  iOS 5 から  CoreBluetooth で⾃自由に使えるようになった。 iOS 6 でさらに⾃自由度度が上がった –  そのかわり、Bluetooth LEだけしか対応しない。 •  Android –  NFC最速対応 –  Bluetooth LE対応している機種もちらほら。 ⾮非公式SDKで、何機種かはいけそう? •  なんか⽇日本で出る気配のないアレ –  NFCつかえる (AndroidとのURLやりとり確認済み) –  旧来のBluetoothがいけるようになった
  • 8. 新しい規格 •  Bluetooth Low Energy (BLE) = Bluetooth 4.0 –  これまでのBluetoothよりも省省電⼒力力な設計 •  その代わり互換性はないので、ほとんどはデュアルスタックで 実装される –  GATT(General Attribute Profile) ベースの通信 •  機器は複数の Service を提供し、 サービスは複数の Characteristic を提供する •  Indicate, Notify など、通知機能もあり。 •  Near Field Communication (NFC) –  おサイフケータイみたいな、「タッチして通信」 –  急速に広がってる
  • 9. 何がうれしいの? •  いままでできなかったこんなことができるように! –  iPhone / Android の間でアドレス交換 •  Android側の対応がまだ難あり –  iPadで動くアプリのコントローラとして、 Andorid と iPhone両⽅方使える –  バックグラウンド実⾏行行が使えるので、夢が広がる •  Macでも、新しいやつはCoreBluetooth使えるので、 Macからパルス送り続けて、通信続けさせるとか。 (要検証)
  • 10. まとめるとこうなる これまで⼀一切切あかんかった iOSが対応! Bluetooth 2.0 Bluetooth LE NFC ※各OSの開発者マニュアルなどの情報を元に作者調べ。  2012/02/02(Sat) 現在
  • 11. iOSでBLE通信したい •  iOS 5 から⼊入った CoreBluetooth.framework を使う –  iPhone 4S 以上で使⽤用可能 •  バックグラウンド実⾏行行可能! –  機器からアプリを起こすことができる (数秒だけ。でもTask Completionも使える) •  NO GUIDE –  まともなドキュメントやサンプルがほぼない。 –  WWDC’12のセッションビデオが最⼤大の情報源 •  Advanced Core Bluetooth
  • 12. BLE通信できた所で機器がない •  iOS 5 の段階で⽤用意されたのは 「機器に対してアクセスする」ものしかなかった –  iOS 5のタイミングでは、そんな機器はなかった。 •  最近になって、ようやくいろいろできるようになって きた –  Arduino BLEシールド –  konashi •  http://konashi.ux-xu.com/ •  知って4分で注⽂文しました –  思い通りにやるには電⼦子⼯工作の知識識が必要
  • 13. iOS 6 で、iOSデバイスをBLE機器に! •  iOS 6で、CBPeripheralManager が追加! iOS  デバイス上にBLEデバイスを定義可能に –  NO REFERENCE •  リファレンスがないので、 ヘッダファイルのコメントをみながら、⼿手探り。
  • 14. CBPeripheralManager基本的な⼿手順 •  CBPeripheralManagerDelegate を実装する –  必須なのは1つだけ •  CBPeriperalManager を作る •  CBMutableCharacteristic を作る •  CBMutableService を作って、 characteristics に配列列で突っ込む •  CBPeriperalManager に   CBMutableServiceをaddServiceで追加する •  startServiceする
  • 15. Demo したい…
  • 16. その他ポイント 1/2 •  CBUUIDは、独⾃自にサービスを定義する場合は、 ターミナルでuuidgenで⽣生成する –  Bluetooth SIGに認証とったら 4桁UUID(0xXXXX)が使えるらしい
  • 17. その他ポイント 2/2 •  iOSデバイスが⾜足りなければ、Macの設定を 変更更してシミュレータで試すことも可能。 –  USBのBLE対応アダプタが必須 –  TN2295参照 –  https://developer.apple.com/library/ios/ #technotes/tn2295/_index.html •  BLExplr はBLE開発必携ツール –  https://itunes.apple.com/jp/app/blexplr/ id524018027?mt=8
  • 18. まとめ •  iOS 6 + CoreBluetoothで CBPeripheralManagerを実装すれば BLE機器を簡単に作れます。 –  いろいろ夢がひろがる! –  組み込みのBLE機器のモックとしてもどうぞ •  ただしリファレンスがないので、ヘッダをがんばって読む。 –  そんなに仕組みは複雑じゃないです。まだがんばれる。 •  あなたのアプリに、新たな選択肢を!