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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Douglas Kayama
October 25, 2017
Technology
35
0
Share
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
42
TensorFlow no Android
douglasdrumond
0
31
Firebase or Realm?
douglasdrumond
0
83
Rio Dev Day – Introdução ao Android
douglasdrumond
0
100
Google I/O
douglasdrumond
0
66
Criando apps com alto nível de qualidade (versão longa)
douglasdrumond
0
43
Criando apps com alto nível de qualidade (versão curta)
douglasdrumond
0
32
Primeiros Passos com Google Fit
douglasdrumond
0
200
RxJava
douglasdrumond
5
580
Other Decks in Technology
See All in Technology
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
3k
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.7k
React 19×Rustツール 進化の「ズレ」を設計で埋める
remrem0090
1
110
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
390
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.3k
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.3k
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
130
AIの揺らぎに“コシ”を与える階層化品質設計
ickx
0
270
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
190
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
180
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
2
890
古今東西SRE
okaru
2
180
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
120
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
360
How to train your dragon (web standard)
notwaldorf
97
6.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
How GitHub (no longer) Works
holman
316
150k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Test your architecture with Archunit
thirion
1
2.2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
The Curse of the Amulet
leimatthew05
1
12k
Scaling GitHub
holman
464
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