bleくびかりぞく
DESCRIPTION
もっと!もっとクソアプリを!そしてどうでもいいサービスを!TRANSCRIPT
![Page 1: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/1.jpg)
BLEくびかりぞく2014/03/21 @youten_redo
![Page 2: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/2.jpg)
本資料は
Android Bazaar and Conference 2014 SpringでLTした時の資料を若干再編したものです。
当日は正直、Andorid×BLEの知名度そのものがですね…うふふ
![Page 3: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/3.jpg)
言いたいこと
BLEはみんなのおもちゃ
![Page 4: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/4.jpg)
Try it.やろう
![Page 5: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/5.jpg)
BLEくびかりぞく
![Page 6: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/6.jpg)
テキスト
BLEBluetooth Low Energy
![Page 7: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/7.jpg)
Bluetooth Low Energy
省電力な動きのできる、ちょっと変わった弟
そんなに兄とは似てない
![Page 8: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/8.jpg)
P
CentralとPeripheral
CC
Ad
Ad
Ad
![Page 9: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/9.jpg)
Peripheralに周辺機器という意味があるけど別にスマホがCentralでなくてもいい。
HTTP Serverがインターネット上のサーバマシンでなくてもいいのと、一緒。
role(役割)とかtypically(一般的に)みたいな表現に注意。
![Page 10: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/10.jpg)
Profileはあるけど心拍数計のHeart Rate Profileとか、無くしものを探すFind Me Profileとかの定義はあるけど、別にオレオレProfileを作っても構わない
Bluetooth SIGさんが典型的なユースケースについて、「こう電波ふいて」「こうデータ渡し合って」「こういう意味をもたせると」相互に仲良くやりとりできるよね、と提案してくれている
![Page 11: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/11.jpg)
–Bruce Lee
“Don’t Think. Feel!”
![Page 12: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/12.jpg)
–Bluetooth Low Energy
“Don’t guess, Try it!”
![Page 13: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/13.jpg)
BLEでマサカリ投げよう
![Page 14: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/14.jpg)
マサカリ鉞
![Page 15: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/15.jpg)
モヒカン様元祖
![Page 16: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/16.jpg)
マサカリと言えば?
![Page 17: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/17.jpg)
金太郎マサカリかついだ始祖
![Page 18: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/18.jpg)
ネメシスマサカリシスター
![Page 19: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/19.jpg)
くびかりぞくきりえれいこのバーサーカーが好きでした
![Page 20: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/20.jpg)
BLEくびかりぞく
![Page 21: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/21.jpg)
¥557@Amazon
![Page 22: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/22.jpg)
振るう
![Page 23: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/23.jpg)
飛ぶ
![Page 24: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/24.jpg)
首が飛ぶハードつくるのめんどい
![Page 25: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/25.jpg)
代わりのものを飛ばそう
![Page 26: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/26.jpg)
MacはBLEが扱える
C PCentral, Peripheralどっちもいける※
![Page 27: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/27.jpg)
首が飛ぶ代わりにkeynoteのページが飛ぶことにした
![Page 28: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/28.jpg)
マサカリには加速度センサがついたTI社のCC2541 SensorTagを使うことにした
![Page 29: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/29.jpg)
振るう
![Page 30: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/30.jpg)
飛ぶ
ページがセンサ変化量が
![Page 31: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/31.jpg)
よし、これならいける
![Page 32: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/32.jpg)
めでたしめでたし
![Page 33: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/33.jpg)
ところで今日って何の日でしたっけ?
![Page 34: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/34.jpg)
…あっ!
![Page 35: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/35.jpg)
飛ぶ
ページがセンサ変化量が
![Page 36: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/36.jpg)
CentralになれるNexus 5を使うことにした
![Page 37: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/37.jpg)
飛ぶ
ページが振るう
![Page 38: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/38.jpg)
Masakari Slash Profile(MSP)
Masakari Slash Profile
Immediate Alert Service
Alert Level Char. - Write without Response
M
M
C P振るう 飛ぶ
0x01
![Page 39: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/39.jpg)
コンテキストは自由
C P0x01
0xFF
何を投げ合っても構わない
12345
“あいうえお”
![Page 40: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/40.jpg)
デモ
![Page 41: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/41.jpg)
えい
![Page 42: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/42.jpg)
やぁ
![Page 43: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/43.jpg)
とぉ
![Page 44: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/44.jpg)
結構
![Page 45: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/45.jpg)
腕疲れるんですよ、これ
![Page 46: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/46.jpg)
間がもたないので
![Page 47: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/47.jpg)
ここからは与太話にでも
![Page 48: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/48.jpg)
Android 4.3とか4.4とか
![Page 49: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/49.jpg)
4.3なのに動かないとか言われたりしますが
![Page 50: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/50.jpg)
誤)Android 4.3が悪い 正)Nexus 5が比較的まとも
![Page 51: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/51.jpg)
ただしAndroid SDKのサンプルコード、お前はダメだ
![Page 52: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/52.jpg)
現行Android 4.3軍団のBLEが不安定なのは下の層が原因
![Page 53: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/53.jpg)
1. 単純にドライバがこなれてない
![Page 54: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/54.jpg)
2. WiFiと同周波数2.4GHz帯で排他制御がセクシー
![Page 55: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/55.jpg)
しかしFramework層もイケてるとは言いがたい
![Page 56: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/56.jpg)
使えないのにPeripheralっぽいクラスがある
![Page 57: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/57.jpg)
128bit UUID指定scanができないIssue (59490)がある
![Page 58: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/58.jpg)
CameraとかHoloとかNFCとかMiracastとかの歴史
![Page 59: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/59.jpg)
いつものAndroid
![Page 60: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/60.jpg)
まぁ2年待ちましょう
![Page 61: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/61.jpg)
独自実装済みメーカもいくつかあるし、安定に収束するのはもう少し早いかも
![Page 62: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/62.jpg)
何を準備しておくべき?どのくらい期待しておくべき?
![Page 63: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/63.jpg)
困ったらiOSに頼ればいい、iOS5から2年分、先輩だ
![Page 64: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/64.jpg)
Mac, OS XもCentralにもPeripheralにもなれる
![Page 65: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/65.jpg)
みんなMac持ってるなら、使えばいい
![Page 66: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/66.jpg)
◯Beacon?
![Page 67: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/67.jpg)
Androidにとっては本質的にはどうでもいい
![Page 68: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/68.jpg)
WiFiでも、Bluetoothでも、音波でも、やろうと思えばできる
![Page 69: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/69.jpg)
iOS的には大事な大事なバックグラウンドトリガ
![Page 70: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/70.jpg)
iOS7.1ではタスクリストからのスワイプキルにすら耐える
![Page 71: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/71.jpg)
Androidはタスクリストからスワイプキルしたら自動復活しない
![Page 72: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/72.jpg)
将来変わることもあるんじゃないかな
![Page 73: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/73.jpg)
話をBLEに戻して
![Page 74: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/74.jpg)
じゃあBLEは何がAndroidにとって嬉しいのか?
![Page 75: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/75.jpg)
iOSとAndroidで通信ができる!やったね!
![Page 76: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/76.jpg)
iOS向けのハードがAndroidでも使えるかも!やったね!
![Page 77: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/77.jpg)
WiFi配下で直IPとか、WebSocketで十分ならそれでもちろんOK
![Page 78: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/78.jpg)
そうじゃないケースにおいて、嬉しい選択肢の増加
![Page 79: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/79.jpg)
みんなAndroidもiOSもやろうぜ!
![Page 80: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/80.jpg)
ご清聴ありがとうございました
![Page 81: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/81.jpg)
え、まだ7分経ってないの?
![Page 82: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/82.jpg)
もうネタ切れです
![Page 83: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/83.jpg)
そういえばさっきどうでもいいと言った○Beaconですが
![Page 84: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/84.jpg)
そんなこと言いながら個人的には大好きです
![Page 85: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/85.jpg)
![Page 86: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/86.jpg)
どうか開発者がよくわからない、妄想に振り回されずに
![Page 87: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/87.jpg)
サービスの本質に注力できますように
![Page 88: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/88.jpg)
ただ、それだけを祈って
![Page 89: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/89.jpg)
マサカリを投げるのです
![Page 90: BLEくびかりぞく](https://reader036.vdocuments.site/reader036/viewer/2022081800/556a49f2d8b42a4a1e8b501d/html5/thumbnails/90.jpg)
※結局投げる