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
31
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
33
TensorFlow no Android
douglasdrumond
0
24
Firebase or Realm?
douglasdrumond
0
80
Rio Dev Day – Introdução ao Android
douglasdrumond
0
99
Google I/O
douglasdrumond
0
62
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
41
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
28
Primeiros Passos com Google Fit
douglasdrumond
0
190
RxJava
douglasdrumond
5
570
Other Decks in Technology
See All in Technology
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
300
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.5k
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
300
A2Aのクライアントを自作する
rynsuke
1
160
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
210
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
130
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
240
Definition of Done
kawaguti
PRO
6
470
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
9
2.3k
20250623 Findy Lunch LT Brown
3150
0
800
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1.1k
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.9k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Rails Girls Zürich Keynote
gr2m
94
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Producing Creativity
orderedlist
PRO
346
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
Statistics for Hackers
jakevdp
799
220k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Visualization
eitanlees
146
16k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
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