SlideShare a Scribd company logo
Web Bluetooth
Get Connected
Uri Shaked
@UriShaked
CodeMotion TLV
Mar 2017
@UriShaked
Meet The Speaker
• Google Developer Expert
@UriShaked
Meet The Speaker
• Google Developer Expert
• I love Robotics and Electronics
@UriShaked
Meet The Speaker
• Google Developer Expert
• I love Robotics and Electronics
• I dance Salsa and play the Peruvian pan flute
@UriShaked
Meet The Speaker
• Google Developer Expert
• I love Robotics and Electronics
• I dance Salsa and play the Peruvian pan flute
• I work for BlackBerry
@UriShaked
Agenda
• Bluetooth Basics
• Web Bluetooth
• Live Demos
@UriShaked
Bluetooth 101
Bluetooth
Classic Low Energy
@UriShaked
Bluetooth Low Energy (Smart)
• Low Energy Profile
• Low bandwidth, small packets (max 20 bytes payload)
• Low Latency (< 10ms)
• Simple pairing, connection-less mode
@UriShaked
Low Energy
@UriShaked
BLE is Efficient
A small CR2032 Battery can last for a year!
@UriShaked
BLE === GATT
Remember:
GATT == Bluetooth Low Energy
@UriShaked
Bluetooth Services
BLE Devices expose one or more Services, e.g.:
● Battery Level
● Heart Rate
● Environmental Sensing (Temperature, Humidity, etc.)
@UriShaked
Characteristics
● Variables exposed for each of the services
● You can read/write them
● Also observe them
● E.g. A light-bulb service can have an
"On/Off" characteristic and a "Brightness"
characteristic
@UriShaked
Example
Device Services Characteristics
Battery Level: 90%
Heart Rate
Measurement: 80BPM
Heart Rate Max: 200 BPM
@UriShaked
Web Bluetooth
• Control BLE devices directly from the web
• HTTPS only
• Security-First, User interaction + approval required
• ES6 Promise-based API
@UriShaked
Browser Support
• Android 6, Chrome OS, Mac OSX and Linux
• Windows 10 support is in the works
• iOS currently supported through custom app
• Follow the Implementation Status
@UriShaked
The Web Bluetooth API
• Available through navigator.bluetooth
• Can only be invoked through user interaction (e.g. button
click)
• We need to specify filters - specific services / device
names we are interested in
@UriShaked
How to use the API?
1. Scan for a relevant Device
2. Connect to it
3. Get the Service you are interested in
4. Get the Characteristic you are interested in
5. Read / Write / Subscribe to the Characteristic
@UriShaked
Step 1 - Find a matching Device
navigator.bluetooth.requestDevice(
{ filters: [{ services: ["battery_service"] }]
})
● Asks the user to choose a device from a list
● Returns a promise for the selected Device object
@UriShaked
Step 2 - Connect to the Device
device.gatt.connect()
● Returns a promise for the GATT Server object, which you
can query for Services
@UriShaked
Step 3 - Get the Service
server.getPrimaryService("battery_service")
● Returns a promise for the Service object
@UriShaked
Step 4 - Get the Charasteristic
service.getCharacteristic("battery_level")
● Returns a promise for the Characteristic object
@UriShaked
Step 5 - Read
characteristic.readValue()
● Returns a promise for DataView, which gives access to
individual bytes
@UriShaked
Step 5 - Write
const data = new Uint8Array([0x55, 0x70])
characteristic.writeValue(data)
● Returns a promise which will be resolved after the value
has been written
@UriShaked
Demo Time !
Controlling a consumer product through Web Bluetooth
Magic Blue Bluetooth 4.0 Bulb
@UriShaked
Time to Dance
3D-Printed BLE Controlled Robot
Redbear BLE Nano Minion
@UriShaked
Learn More...
medium.com/@urish
@UriShaked
iOS Users - The Physical Web
@UriShaked
iOS Users - Step 2
@UriShaked
Android Users - Physical Web
• Enable Bluetooth
• Enable Location
@UriShaked
Learn More...
medium.com/@urish
See you next time!
@UriShaked
Thank you !

More Related Content

PDF
Mobile Security: A Glimpse from the Trenches
Yair Amit
 
PDF
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Codemotion Tel Aviv
 
PDF
Intro to AWS IoT - Pop-up Loft London
Boaz Ziniman
 
PPTX
Azure IoT Hub
Shahriar Hossain
 
PPTX
Building IoT solutions using Windows 10 IoT Core & Azure
Mostafa
 
PPTX
Azure iot
書廷 林
 
PPTX
Internet of things (IoT) with Azure
Vinoth Rajagopalan
 
PPTX
Demystifying Internet of Things with Azure IoT Suite
WinWire Technologies Inc
 
Mobile Security: A Glimpse from the Trenches
Yair Amit
 
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Codemotion Tel Aviv
 
Intro to AWS IoT - Pop-up Loft London
Boaz Ziniman
 
Azure IoT Hub
Shahriar Hossain
 
Building IoT solutions using Windows 10 IoT Core & Azure
Mostafa
 
Azure iot
書廷 林
 
Internet of things (IoT) with Azure
Vinoth Rajagopalan
 
Demystifying Internet of Things with Azure IoT Suite
WinWire Technologies Inc
 

What's hot (17)

PPTX
Connecting IoT devices to Azure
Guy Barrette
 
PDF
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Codemotion Tel Aviv
 
PPTX
Windows for Raspberry Pi 2 Makers (and more!)
Guy Barrette
 
PPTX
Azure IoT End-to-End
Martin Abbott
 
PDF
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Andri Yadi
 
PPTX
IoT Smart Home
Sergey Seletsky
 
PPTX
Introduction to Azure IoT Suite
Daniel Toomey
 
PPTX
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
Codit
 
PPTX
Architecting IoT solutions with Microsoft Azure
Alon Fliess
 
PPT
IoT: Connecting Devices and Manufacturing Equipment to the Cloud
Michelle Devereux White
 
PPTX
Internet of Things and Azure - DevTeach 2016
Guy Barrette
 
PPTX
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Robbrecht van Amerongen
 
PPTX
Azure Internet of Things
Alon Fliess
 
PPTX
IoT security compliance checklist
GoWitek Consulting Pvt.Ltd
 
PPTX
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Solair
 
PDF
Azure IoT services - overview, SenZations 2015
SenZations Summer School
 
PPTX
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Vinoth Rajagopalan
 
Connecting IoT devices to Azure
Guy Barrette
 
Build end-to-end solutions with BlueMix, Avi Vizel & Ziv Dai, IBM
Codemotion Tel Aviv
 
Windows for Raspberry Pi 2 Makers (and more!)
Guy Barrette
 
Azure IoT End-to-End
Martin Abbott
 
Global Azure Bootcamp 2016 - Real-world Internet of Things Backend with Azure...
Andri Yadi
 
IoT Smart Home
Sergey Seletsky
 
Introduction to Azure IoT Suite
Daniel Toomey
 
Azure IoT suite - A look behind the curtain (Sam Vanhoutte @AZUG Event)
Codit
 
Architecting IoT solutions with Microsoft Azure
Alon Fliess
 
IoT: Connecting Devices and Manufacturing Equipment to the Cloud
Michelle Devereux White
 
Internet of Things and Azure - DevTeach 2016
Guy Barrette
 
Internet of Things propositie - Enterprise IOT - AMIS - Conclusion
Robbrecht van Amerongen
 
Azure Internet of Things
Alon Fliess
 
IoT security compliance checklist
GoWitek Consulting Pvt.Ltd
 
Creating end-to-end IoT applications with Eclipse Kura & Solair IoT Platform
Solair
 
Azure IoT services - overview, SenZations 2015
SenZations Summer School
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Vinoth Rajagopalan
 
Ad

Similar to Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry (20)

PDF
JAM805 - Beyond the Device
Dr. Ranbijay Kumar
 
PPTX
Bluetooth Accessing Android for mca .pptx
TheRockyFF
 
PDF
Let's Get Physical
Joel Lord
 
PPTX
Bw13 session2 app_dev_presenter_final
Blair Poloskey
 
PDF
Let's Get Physical
Joel Lord
 
PDF
FIWARE Tech Summit - FIWARE IoT Agents
FIWARE
 
PDF
Bluetooth LE - Building Block of the Internet of Things (Droidcon DE 2016)
Steven Mohr
 
PPTX
How to use Bluetooth® Smart to control your embedded device with a mobile device
Anaren, Inc.
 
PPTX
Can a browser become an IoT Gateway?
Sooraj Sanker
 
PDF
HyWAI Web Bluetooth API
Jonathan Jeon
 
PDF
OpenSocial and Mixi platform
Pham Thinh
 
PDF
Best Practices for Design Hardware APIs
Matt Haines
 
PPTX
1427264023243345TGFGBBGHGJKU6Y767GGGBGGH
arcse1
 
PPTX
Bluetooth low energy final version
Frederick Bousson
 
PPT
IOT UNIT 1B.ppt
madhavanmohan1
 
PPTX
chapter-1_iot.pptx
RAHULRAJ438202
 
PPTX
Starwest 2017 IoT testing
Amir Rozenberg
 
PDF
FIWARE Global Summit - Connecting Sensors to FIWARE with IDAS: An Overview
FIWARE
 
PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CloudIDSummit
 
JAM805 - Beyond the Device
Dr. Ranbijay Kumar
 
Bluetooth Accessing Android for mca .pptx
TheRockyFF
 
Let's Get Physical
Joel Lord
 
Bw13 session2 app_dev_presenter_final
Blair Poloskey
 
Let's Get Physical
Joel Lord
 
FIWARE Tech Summit - FIWARE IoT Agents
FIWARE
 
Bluetooth LE - Building Block of the Internet of Things (Droidcon DE 2016)
Steven Mohr
 
How to use Bluetooth® Smart to control your embedded device with a mobile device
Anaren, Inc.
 
Can a browser become an IoT Gateway?
Sooraj Sanker
 
HyWAI Web Bluetooth API
Jonathan Jeon
 
OpenSocial and Mixi platform
Pham Thinh
 
Best Practices for Design Hardware APIs
Matt Haines
 
1427264023243345TGFGBBGHGJKU6Y767GGGBGGH
arcse1
 
Bluetooth low energy final version
Frederick Bousson
 
IOT UNIT 1B.ppt
madhavanmohan1
 
chapter-1_iot.pptx
RAHULRAJ438202
 
Starwest 2017 IoT testing
Amir Rozenberg
 
FIWARE Global Summit - Connecting Sensors to FIWARE with IDAS: An Overview
FIWARE
 
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
CloudIDSummit
 
Ad

More from Codemotion Tel Aviv (20)

PDF
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Codemotion Tel Aviv
 
PDF
Angular is one fire(base)! - Shmuela Jacobs
Codemotion Tel Aviv
 
PDF
Demystifying docker networking black magic - Lorenzo Fontana, Kiratech
Codemotion Tel Aviv
 
PDF
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Codemotion Tel Aviv
 
PDF
Facts about multithreading that'll keep you up at night - Guy Bar on, Vonage
Codemotion Tel Aviv
 
PDF
Master the Art of the AST (and Take Control of Your JS!) - Yonatan Mevorach, ...
Codemotion Tel Aviv
 
PDF
Unleash the power of angular Reactive Forms - Nir Kaufman, 500Tech
Codemotion Tel Aviv
 
PDF
Actors and Microservices - Can two walk together? - Rotem Hermon, Gigya
Codemotion Tel Aviv
 
PDF
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
Codemotion Tel Aviv
 
PDF
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
Codemotion Tel Aviv
 
PDF
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Codemotion Tel Aviv
 
PDF
Containerised ASP.NET Core apps with Kubernetes
Codemotion Tel Aviv
 
PDF
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Codemotion Tel Aviv
 
PDF
The Art of Decomposing Monoliths - Kfir Bloch, Wix
Codemotion Tel Aviv
 
PDF
SOA Lessons Learnt (or Microservices done Better) - Sean Farmar, Particular S...
Codemotion Tel Aviv
 
PDF
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Ben...
Codemotion Tel Aviv
 
PDF
Web based virtual reality - Tanay Pant, Mozilla
Codemotion Tel Aviv
 
PDF
Material Design Demytified - Ran Nachmany, Google
Codemotion Tel Aviv
 
PDF
All the reasons for choosing react js that you didn't know about - Avi Marcus...
Codemotion Tel Aviv
 
PDF
Mobile Security Attacks: A Glimpse from the Trenches - Yair Amit, Skycure
Codemotion Tel Aviv
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Codemotion Tel Aviv
 
Angular is one fire(base)! - Shmuela Jacobs
Codemotion Tel Aviv
 
Demystifying docker networking black magic - Lorenzo Fontana, Kiratech
Codemotion Tel Aviv
 
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Codemotion Tel Aviv
 
Facts about multithreading that'll keep you up at night - Guy Bar on, Vonage
Codemotion Tel Aviv
 
Master the Art of the AST (and Take Control of Your JS!) - Yonatan Mevorach, ...
Codemotion Tel Aviv
 
Unleash the power of angular Reactive Forms - Nir Kaufman, 500Tech
Codemotion Tel Aviv
 
Actors and Microservices - Can two walk together? - Rotem Hermon, Gigya
Codemotion Tel Aviv
 
How to Leverage Machine Learning (R, Hadoop, Spark, H2O) for Real Time Proces...
Codemotion Tel Aviv
 
My Minecraft Smart Home: Prototyping the internet of uncanny things - Sascha ...
Codemotion Tel Aviv
 
Distributed Systems explained (with NodeJS) - Bruno Bossola, JUG Torino
Codemotion Tel Aviv
 
Containerised ASP.NET Core apps with Kubernetes
Codemotion Tel Aviv
 
Fullstack DDD with ASP.NET Core and Anguar 2 - Ronald Harmsen, NForza
Codemotion Tel Aviv
 
The Art of Decomposing Monoliths - Kfir Bloch, Wix
Codemotion Tel Aviv
 
SOA Lessons Learnt (or Microservices done Better) - Sean Farmar, Particular S...
Codemotion Tel Aviv
 
S3, Cassandra or Outer Space? Dumping Time Series Data using Spark - Demi Ben...
Codemotion Tel Aviv
 
Web based virtual reality - Tanay Pant, Mozilla
Codemotion Tel Aviv
 
Material Design Demytified - Ran Nachmany, Google
Codemotion Tel Aviv
 
All the reasons for choosing react js that you didn't know about - Avi Marcus...
Codemotion Tel Aviv
 
Mobile Security Attacks: A Glimpse from the Trenches - Yair Amit, Skycure
Codemotion Tel Aviv
 

Recently uploaded (20)

PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Doc9.....................................
SofiaCollazos
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 

Getting Physical with Web Bluetooth - Uri Shaked, BlackBerry