Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BLE
Search
Douglas Kayama
October 25, 2017
Technology
0
23
BLE
Bluetooth Low Energy AKA Bluetooth Smart
7Masters Wearables
Douglas Kayama
October 25, 2017
Tweet
Share
More Decks by Douglas Kayama
See All by Douglas Kayama
TensorFlow no Android – v2
douglasdrumond
0
28
TensorFlow no Android
douglasdrumond
0
17
Firebase or Realm?
douglasdrumond
0
74
Rio Dev Day – Introdução ao Android
douglasdrumond
0
92
Google I/O
douglasdrumond
0
56
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
36
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
24
Primeiros Passos com Google Fit
douglasdrumond
0
180
RxJava
douglasdrumond
5
540
Other Decks in Technology
See All in Technology
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
2
760
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
生成AIサービスPanorama AIご説明資料
sdt
0
300
Kubeflow Pipelines v2 で変わる機械学習パイプライン開発
asei
4
330
やっていきテスト
k6s4i53rx
0
160
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
オブジェクト指向CSSが叶えたかったことと、CSSのいま / The aims of Object-oriented CSS and the current state of CSS usage
shinkufencer
11
3.2k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
11
3k
TypeScript Quiz (Encraft #12 Frontend Quiz Night)
uhyo
2
140
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
140
AMLD 2024 - Build Your Own GPT
donlelef
1
260
データマネジメントを支える武器としてのメタデータ管理
10xinc
1
160
Featured
See All Featured
Building Your Own Lightsaber
phodgson
97
5.6k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Building Applications with DynamoDB
mza
88
5.6k
Become a Pro
speakerdeck
PRO
8
4.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
The Illustrated Children's Guide to Kubernetes
chrisshort
28
46k
Fireside Chat
paigeccino
19
2.6k
The Cult of Friendly URLs
andyhume
72
5.6k
Practical Orchestrator
shlominoach
180
9.7k
How GitHub (no longer) Works
holman
301
140k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Transcript
AKA Bluetooth Smart Douglas Drumond @douglasdrumond BLE
@douglasdrumond Bluetooth Stack 2
@douglasdrumond Bluetooth Stack Android 2.0: BlueZ 2
@douglasdrumond Bluetooth Stack Android 2.0: BlueZ Android 4.2: BlueDroid 2
@douglasdrumond Bluetooth Stack Android 2.0: BlueZ Android 4.2: BlueDroid Android
4.3: Adiciona suporte a BLE 2
@douglasdrumond Bluetooth Stack Android 2.0: BlueZ Android 4.2: BlueDroid Android
4.3: Adiciona suporte a BLE Android 5.0: BLE fica MUITO mais legal 2
@douglasdrumond Básico de BLE 3 Central Peripheral Observer Broadcaster
@douglasdrumond Básico de BLE 4 Central Peripheral Observer Broadcaster
@douglasdrumond Básico de BLE 5 Central Peripheral Observer Broadcaster Beacons
@douglasdrumond Básico de BLE 6 Central Peripheral Observer Broadcaster
@douglasdrumond Básico de BLE 7 Android Jujuba Android Pirulito Central
Peripheral Observer Broadcaster
@douglasdrumond Arquitetura 8 GATT Profile Service Service Characteristic Characteristic Characteristic
Characteristic Characteristic Characteristic Characteristic Characteristic
@douglasdrumond Exemplo 9 Heart rate service … Outros Heart rate
measurement Body sensor location GATT Server GATT Client
@douglasdrumond Service • UUID • 16-bit (assigned) • Ex: medidor
de pressão sanguínea: 0x1810 10
@douglasdrumond Tudo é UUID 0000<>-0000-1000-8000-00805F9B34FB Ex: medidor de pressão: 0x1810
00001810-0000-1000-8000-00805F9B34FB 11
@douglasdrumond Antes do Lollipop Filtro: somente Service UUID Somente active
scan Single device advertisement Parse manual do scan 12
@douglasdrumond A partir do Lollipop Filtro: qualquer campo Batch dos
resultados Recebe todos os advertisements ScanRecord + AdvertiseData + Builders 13
@douglasdrumond Lollipop 14 Peripheral mode Advertising GATT Server
Some caveats
@douglasdrumond Limites Notificações concorrentes: •Android 4.3: 4 •Android 4.4: 7
•Android 5–8: 15 16 Conexões Concorrentes: •Android 4.3: 4 •Android 4.4–8: 7
@douglasdrumond Limites Preciso enviar int[], só suporta byte[] Solução: •marshalling/unmarshalling
manualmente 17
@douglasdrumond Limites Um dispositivo parear com dois devices ao mesmo
tempo ✗ 18
Grazie mille! @douglasdrumond