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
33
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
35
TensorFlow no Android
douglasdrumond
0
28
Firebase or Realm?
douglasdrumond
0
82
Rio Dev Day – Introdução ao Android
douglasdrumond
0
99
Google I/O
douglasdrumond
0
63
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
42
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
30
Primeiros Passos com Google Fit
douglasdrumond
0
200
RxJava
douglasdrumond
5
580
Other Decks in Technology
See All in Technology
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
290
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
190
Digitization部 紹介資料
sansan33
PRO
1
6.8k
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
5.5k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
290
What happened to RubyGems and what can we learn?
mikemcquaid
0
240
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
3
520
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
860
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
420
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
320
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.6k
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
62
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Skip the Path - Find Your Career Trail
mkilby
0
52
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
Typedesign – Prime Four
hannesfritz
42
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
290
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
WENDY [Excerpt]
tessaabrams
9
36k
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