René's URL Explorer Experiment


Title: L4: Introduction to BLE | Physical Computing

Open Graph Title: L4: Introduction to BLE

X Title: L4: Introduction to BLE

Description: Learn Bluetooth Low Energy on the ESP32: the peripheral/central model, GATT services and characteristics, and streaming live sensor data to your phone via BLE notifications.

X Description: Learn Bluetooth Low Energy on the ESP32: the peripheral/central model, GATT services and characteristics, and streaming live sensor data to your phone via BLE notifications.

Mail addresses
jonf@cs.uw.edu

Opengraph URL: https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html

Generator: Jekyll v4.4.1

direct link

Domain: makeabilitylab.github.io


Hey, it has json ld scripts:
 {"@context":"https://schema.org","@type":"WebPage","description":"Learn Bluetooth Low Energy on the ESP32: the peripheral/central model, GATT services and characteristics, and streaming live sensor data to your phone via BLE notifications.","headline":"L4: Introduction to BLE","image":"https://makeabilitylab.github.io/physcomp/assets/images/physcomp-og-card.jpg","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://makeabilitylab.github.io/physcomp/assets/images/physcomp-logo-800w.jpg"}},"url":"https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html"}

NoneIE=Edge
og:localeen_US
og:site_namePhysical Computing
og:imagehttps://makeabilitylab.github.io/physcomp/assets/images/physcomp-og-card.jpg
og:typewebsite
twitter:cardsummary_large_image
twitter:imagehttps://makeabilitylab.github.io/physcomp/assets/images/physcomp-og-card.jpg

Links:

Skip to main contenthttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#main-content
https://makeabilitylab.github.io/physcomp/
Homehttps://makeabilitylab.github.io/physcomp/
Intro to Electronicshttps://makeabilitylab.github.io/physcomp/electronics/
L1: Voltage, Current, and Resistancehttps://makeabilitylab.github.io/physcomp/electronics/electricity-basics.html
L2: Circuit Schematicshttps://makeabilitylab.github.io/physcomp/electronics/schematics.html
L3: Ohm's Lawhttps://makeabilitylab.github.io/physcomp/electronics/ohms-law.html
L4: Series and Parallel Resistorshttps://makeabilitylab.github.io/physcomp/electronics/series-parallel.html
L5: Using Resistorshttps://makeabilitylab.github.io/physcomp/electronics/resistors.html
L6: LEDshttps://makeabilitylab.github.io/physcomp/electronics/leds.html
L7: Breadboardshttps://makeabilitylab.github.io/physcomp/electronics/breadboards.html
L8: Variable Resistorshttps://makeabilitylab.github.io/physcomp/electronics/variable-resistors.html
Intro to Arduinohttps://makeabilitylab.github.io/physcomp/arduino/
Outputhttps://makeabilitylab.github.io/physcomp/arduino/intro-output.html
L1: Turning on an LEDhttps://makeabilitylab.github.io/physcomp/arduino/led-on.html
L2: Blinking an LEDhttps://makeabilitylab.github.io/physcomp/arduino/led-blink.html
L3: Debugging with Serialhttps://makeabilitylab.github.io/physcomp/arduino/serial-print.html
L4: Fading an LEDhttps://makeabilitylab.github.io/physcomp/arduino/led-fade.html
L5: Playing Toneshttps://makeabilitylab.github.io/physcomp/arduino/tone.html
L6: Blinking Two LEDshttps://makeabilitylab.github.io/physcomp/arduino/led-blink2.html
L7: RGB LEDshttps://makeabilitylab.github.io/physcomp/arduino/rgb-led.html
L8: Crossfading RGB LEDshttps://makeabilitylab.github.io/physcomp/arduino/rgb-led-fade.html
L9: Rate Blinking LEDshttps://makeabilitylab.github.io/physcomp/arduino/led-blink3.html
Inputhttps://makeabilitylab.github.io/physcomp/arduino/intro-input.html
L1: Using buttonshttps://makeabilitylab.github.io/physcomp/arduino/buttons.html
L2: A simple pianohttps://makeabilitylab.github.io/physcomp/arduino/piano.html
L3: Debouncinghttps://makeabilitylab.github.io/physcomp/arduino/debouncing.html
L4: Potentiometershttps://makeabilitylab.github.io/physcomp/arduino/potentiometers.html
L5: Force-Sensitive Resistorshttps://makeabilitylab.github.io/physcomp/arduino/force-sensitive-resistors.html
Arduino IDEhttps://makeabilitylab.github.io/physcomp/arduino/arduino-ide.html
Inside Arduinohttps://makeabilitylab.github.io/physcomp/arduino/inside-arduino.html
Advanced I/Ohttps://makeabilitylab.github.io/physcomp/advancedio/
Outputhttps://makeabilitylab.github.io/physcomp/advancedio/output.html
L1: OLED Displayshttps://makeabilitylab.github.io/physcomp/advancedio/oled.html
L2: Addressable LEDshttps://makeabilitylab.github.io/physcomp/advancedio/addressable-leds.html
L3: Servo Motorshttps://makeabilitylab.github.io/physcomp/advancedio/servo.html
L4: Vibromotorshttps://makeabilitylab.github.io/physcomp/advancedio/vibromotor.html
Inputhttps://makeabilitylab.github.io/physcomp/advancedio/input.html
L1: Smoothing Inputhttps://makeabilitylab.github.io/physcomp/advancedio/smoothing-input.html
Serial Communicationhttps://makeabilitylab.github.io/physcomp/communication/
L1: Intro to Serialhttps://makeabilitylab.github.io/physcomp/communication/serial-intro.html
L2: Web Serialhttps://makeabilitylab.github.io/physcomp/communication/web-serial.html
L3: p5.js Serial Inhttps://makeabilitylab.github.io/physcomp/communication/p5js-serial.html
L4: p5.js Serial I/Ohttps://makeabilitylab.github.io/physcomp/communication/p5js-serial-io.html
L5: PaintIO Examplehttps://makeabilitylab.github.io/physcomp/communication/p5js-paint-io.html
L6: ml5.js Serialhttps://makeabilitylab.github.io/physcomp/communication/ml5js-serial.html
L7: HandPose Serialhttps://makeabilitylab.github.io/physcomp/communication/handpose-serial.html
Circuit Playground Expresshttps://makeabilitylab.github.io/physcomp/cpx/
L1: Intro to the CPXhttps://makeabilitylab.github.io/physcomp/cpx/cpx.html
L2: Making with MakeCodehttps://makeabilitylab.github.io/physcomp/cpx/makecode.html
L3: Button Pianohttps://makeabilitylab.github.io/physcomp/cpx/button-piano.html
L4: Light-Level Instrumenthttps://makeabilitylab.github.io/physcomp/cpx/sensor-instrument.html
L5: Capacitive Touchhttps://makeabilitylab.github.io/physcomp/cpx/capacitive-touch.html
L6: CPX as a Keyboardhttps://makeabilitylab.github.io/physcomp/cpx/cpx-keyboard.html
L7: CPX as a Mousehttps://makeabilitylab.github.io/physcomp/cpx/cpx-mouse.html
L8: Analog Inputhttps://makeabilitylab.github.io/physcomp/cpx/analog-input.html
L9: Digital Inputhttps://makeabilitylab.github.io/physcomp/cpx/digital-input.html
ESP32https://makeabilitylab.github.io/physcomp/esp32/
Fundamentalshttps://makeabilitylab.github.io/physcomp/esp32/fundamentals.html
L1: Intro to the ESP32https://makeabilitylab.github.io/physcomp/esp32/esp32.html
L2: Blinking an LEDhttps://makeabilitylab.github.io/physcomp/esp32/led-blink.html
L3: LED Fading with PWMhttps://makeabilitylab.github.io/physcomp/esp32/led-fade.html
L4: Analog inputhttps://makeabilitylab.github.io/physcomp/esp32/analog-input.html
L5: Playing Toneshttps://makeabilitylab.github.io/physcomp/esp32/tone.html
L6: Capacitive Touchhttps://makeabilitylab.github.io/physcomp/esp32/capacitive-touch.html
Wirelesshttps://makeabilitylab.github.io/physcomp/esp32/wireless.html
L1: Internet of Thingshttps://makeabilitylab.github.io/physcomp/esp32/iot.html
L2: Bluetooth Serialhttps://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
L3: Bluetooth Web Serialhttps://makeabilitylab.github.io/physcomp/esp32/bluetooth-web-serial.html
L4: Introduction to BLEhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html
L5: Bidirectional BLEhttps://makeabilitylab.github.io/physcomp/esp32/ble-bidirectional.html
ESP32 IDE Setuphttps://makeabilitylab.github.io/physcomp/esp32/esp32-ide.html
Sensorshttps://makeabilitylab.github.io/physcomp/sensors/
Accelerometershttps://makeabilitylab.github.io/physcomp/sensors/accelerometers.html
Force-Sensitive Resistorshttps://makeabilitylab.github.io/physcomp/sensors/fsrs.html
Hall Effect Sensorshttps://makeabilitylab.github.io/physcomp/sensors/hall-effect.html
Microphoneshttps://makeabilitylab.github.io/physcomp/sensors/microphones.html
Photoresistorshttps://makeabilitylab.github.io/physcomp/sensors/photoresistors.html
Potentiometershttps://makeabilitylab.github.io/physcomp/sensors/potentiometers.html
Ultrasonic Distancehttps://makeabilitylab.github.io/physcomp/sensors/ultrasonic.html
Resourceshttps://makeabilitylab.github.io/physcomp/resources/
Inspirationshttps://makeabilitylab.github.io/physcomp/resources/inspirations.html
UW Courseshttps://makeabilitylab.github.io/physcomp/resources/uw-courses.html
Signalshttps://makeabilitylab.github.io/physcomp/signals/
Toolshttps://makeabilitylab.github.io/physcomp/signals/tools.html
L1: Jupyter Notebookhttps://makeabilitylab.github.io/physcomp/signals/jupyter-notebook.html
L2: Pythonhttps://makeabilitylab.github.io/physcomp/signals/python.html
L3: Numpyhttps://makeabilitylab.github.io/physcomp/signals/numpy.html
L4: Matplotlibhttps://makeabilitylab.github.io/physcomp/signals/matplotlib.html
Signal Processinghttps://makeabilitylab.github.io/physcomp/signals/signal-processing.html
L1: Quantization and Samplinghttps://makeabilitylab.github.io/physcomp/signals/quantization-and-sampling.html
L2: Comparing Signals (Time Domain)https://makeabilitylab.github.io/physcomp/signals/comparing-signals.html
L3: Frequency Analysishttps://makeabilitylab.github.io/physcomp/signals/frequency-analysis.html
Classificationhttps://makeabilitylab.github.io/physcomp/signals/classification.html
L1: Heuristic-Based Classificationhttps://makeabilitylab.github.io/physcomp/signals/step-tracker.html
L2: Shape-Based Classificationhttps://makeabilitylab.github.io/physcomp/signals/gesturerec-shape-based.html
L3: Feature-Based Classificationhttps://makeabilitylab.github.io/physcomp/signals/gesturerec-feature-based.html
L4: Feature Selection and Hyperparameter Tuninghttps://makeabilitylab.github.io/physcomp/signals/feature-selection-hyperparameter.html
https://makeabilitylab.cs.washington.edu
Makeability Lab https://makeabilitylab.cs.washington.edu
ESP32https://makeabilitylab.github.io/physcomp/esp32/
Wirelesshttps://makeabilitylab.github.io/physcomp/esp32/wireless.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#lesson-4-introduction-to-ble
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#table-of-contents
What is BLE?https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#what-is-ble
How BLE workshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#how-ble-works
Peripherals and centralshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#peripherals-and-centrals
The GATT data modelhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-gatt-data-model
UUIDs: identifying services and characteristicshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#uuids-identifying-services-and-characteristics
A note on BLE securityhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#a-note-on-ble-security
Choosing between WiFi, Bluetooth Classic, and BLEhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#choosing-between-wifi-bluetooth-classic-and-ble
The ESP32 BLE libraryhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-esp32-ble-library
Materialshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#materials
Part 1: Advertising and discoveryhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#part-1-advertising-and-discovery
The Arduino codehttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-arduino-code
Discovering the ESP32 from your computer (Python)https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#discovering-the-esp32-from-your-computer-python
Discovering the ESP32 from your phone (iPhone and Android)https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#discovering-the-esp32-from-your-phone-iphone-and-android
Workbench demohttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#workbench-demo
Part 2: Streaming sensor data with notificationshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#part-2-streaming-sensor-data-with-notifications
The circuithttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-circuit
The Arduino codehttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-arduino-code-1
Reading notifications from your computer (Python)https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#reading-notifications-from-your-computer-python
Reading notifications from your phone (iPhone and Android)https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#reading-notifications-from-your-phone-iphone-and-android
The 20-byte payload limithttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-20-byte-payload-limit
Workbench demohttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#workbench-demo-1
Exerciseshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#exercises
Lesson Summaryhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#lesson-summary
Resourceshttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#resources
Next Lessonhttps://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#next-lesson
last two lessonshttps://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
nRF Connecthttps://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile
bleakhttps://pypi.org/project/bleak/
Lesson 2: Bluetooth Serialhttps://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
Lesson 3: Bluetooth Web Serialhttps://makeabilitylab.github.io/physcomp/esp32/bluetooth-web-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#what-is-ble
Lessons 2 and 3https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#how-ble-works
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#peripherals-and-centrals
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-gatt-data-model
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#uuids-identifying-services-and-characteristics
Bluetooth SIGhttps://www.bluetooth.com/
Bluetooth SIG Assigned Numbershttps://www.bluetooth.com/specifications/assigned-numbers/
uuidgenerator.nethttps://www.uuidgenerator.net/
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#a-note-on-ble-security
Bluetooth SIG security overviewhttps://www.bluetooth.com/learn-about-bluetooth/key-attributes/bluetooth-security/
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#choosing-between-wifi-bluetooth-classic-and-ble
Lesson 1 (WiFi/IoT)https://makeabilitylab.github.io/physcomp/esp32/iot.html
Lessons 2–3 (Bluetooth Classic)https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-esp32-ble-library
source on GitHubhttps://github.com/espressif/arduino-esp32/tree/master/libraries/BLE
API docshttps://docs.espressif.com/projects/arduino-esp32/en/latest/api/ble.html
NimBLE-Arduinohttps://github.com/h2zero/NimBLE-Arduino
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#materials
Adafruit’s ESP32-S3 Featherhttps://www.adafruit.com/product/5477
ESP32-S3 Featherhttps://www.adafruit.com/product/5477
bleakhttps://pypi.org/project/bleak/
nRF Connecthttps://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile
iOShttps://apps.apple.com/app/nrf-connect-for-mobile/id1054362403
Androidhttps://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp
nRF Connecthttps://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile
iOShttps://apps.apple.com/app/nrf-connect-for-mobile/id1054362403
Androidhttps://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp
LightBluehttps://punchthrough.com/lightblue/
BLE Scannerhttps://play.google.com/store/apps/details?id=com.macdom.ble.blescanner
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#part-1-advertising-and-discovery
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-arduino-code
Arduino GitHub repohttps://github.com/makeabilitylab/arduino/tree/master/ESP32/Bluetooth/BLEHelloWorld
Lesson 2https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#discovering-the-esp32-from-your-computer-python
bleakhttps://pypi.org/project/bleak/
pySerialhttps://pyserial.readthedocs.io/
Lesson 2https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
Lesson 2https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#discovering-the-esp32-from-your-phone-iphone-and-android
iOShttps://apps.apple.com/app/nrf-connect-for-mobile/id1054362403
Androidhttps://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#workbench-demo
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#part-2-streaming-sensor-data-with-notifications
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-circuit
Lesson 4: Analog Inputhttps://makeabilitylab.github.io/physcomp/esp32/analog-input.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-arduino-code-1
Arduino GitHub repohttps://github.com/makeabilitylab/arduino/tree/master/ESP32/Bluetooth/BLENotifySensor
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#reading-notifications-from-your-computer-python
Lesson 2https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#reading-notifications-from-your-phone-iphone-and-android
Communication modulehttps://makeabilitylab.github.io/physcomp/communication/serial-intro.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#the-20-byte-payload-limit
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#workbench-demo-1
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#exercises
Lesson 3, Exercise 4https://makeabilitylab.github.io/physcomp/esp32/bluetooth-web-serial.html#exercises
IoT lessonhttps://makeabilitylab.github.io/physcomp/esp32/iot.html
Lesson 3https://makeabilitylab.github.io/physcomp/esp32/bluetooth-web-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#lesson-summary
Lessons 2–3https://makeabilitylab.github.io/physcomp/esp32/bluetooth-serial.html
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#resources
ESP32 BLE Arduino library source and exampleshttps://github.com/espressif/arduino-esp32/tree/master/libraries/BLE
ESP32 Arduino BLE API documentationhttps://docs.espressif.com/projects/arduino-esp32/en/latest/api/ble.html
NimBLE-Arduinohttps://github.com/h2zero/NimBLE-Arduino
nRF Connect for Mobilehttps://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile
bleakhttps://pypi.org/project/bleak/
Bluetooth SIG Assigned Numbershttps://www.bluetooth.com/specifications/assigned-numbers/
Bluetooth SIG: Security Overviewhttps://www.bluetooth.com/learn-about-bluetooth/key-attributes/bluetooth-security/
Getting Started with ESP32 BLE on Arduino IDEhttps://randomnerdtutorials.com/esp32-bluetooth-low-energy-ble-arduino-ide/
https://makeabilitylab.github.io/physcomp/esp32/ble-intro.html#next-lesson
next lessonhttps://makeabilitylab.github.io/physcomp/esp32/ble-bidirectional.html
← Previous Lesson Bluetooth Web Serial https://makeabilitylab.github.io/physcomp/esp32/bluetooth-web-serial.html
Next Lesson → Bidirectional BLE https://makeabilitylab.github.io/physcomp/esp32/ble-bidirectional.html
https://makeabilitylab.cs.washington.edu
https://dub.washington.edu
https://mhcid.washington.edu
https://cs.washington.edu
Jon E. Froehlichhttps://jonfroehlich.github.io/
Makeability Labhttps://makeabilitylab.cs.washington.edu
Just the Docshttps://just-the-docs.github.io/just-the-docs/
website GitHubhttps://github.com/makeabilitylab/physcomp/
Arduino GitHubhttps://github.com/makeabilitylab/arduino
p5js GitHubhttps://github.com/makeabilitylab/p5js
herehttps://github.com/makeabilitylab/arduino/tree/master/MakeabilityLab_Arduino_Library
GitHub Issuehttps://github.com/makeabilitylab/physcomp/issues
https://makeabilitylab.cs.washington.edu

Viewport: width=device-width, initial-scale=1


URLs of crawlers that visited me.