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
38
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BLE
Bluetooth Low Energy AKA Bluetooth Smart
7Masters Wearables
Douglas Kayama
October 25, 2017
More Decks by Douglas Kayama
See All by Douglas Kayama
TensorFlow no Android – v2
douglasdrumond
0
53
TensorFlow no Android
douglasdrumond
0
40
Firebase or Realm?
douglasdrumond
0
86
Rio Dev Day – Introdução ao Android
douglasdrumond
0
110
Google I/O
douglasdrumond
0
73
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
52
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
38
Primeiros Passos com Google Fit
douglasdrumond
0
210
RxJava
douglasdrumond
5
580
Other Decks in Technology
See All in Technology
GoCon2026 - Open Source, Open World
sanposhiho
2
540
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.8k
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
230
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
120
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
210
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
120
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
630
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
170
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
410
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
220
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
210
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
12
39k
So, you think you're a good person
axbom
PRO
2
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
Producing Creativity
orderedlist
PRO
348
41k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
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