Course module 10 is an introduction to Bluetooth with emphasis on the BLE protocol.
BLE has the characteristics that make it ideal for use in IoT communication:
BLE makes the tradeoff of shorter range to reduce power, but still has reasonable range:
There are two key profiles associated with BLE, the Generic Access Profile (GAP) and the Generic Attribute Profile (GATT).
GAP defines communication modes such as discovery and connection and device roles of peripheral and central.
GATT defines data characteristics such as identifiers, services, and descriptors and device roles of client and server.
Here is an illustration of the protocol stack for a user application:
Lab7 Exerecise - Bluetooth Smart Heart Rate Sensor App
The lab exercise is to create BLE app on an Android device to serve as a client for a heart rate monitor device. We did not get a device as part of the roadtest, so I'm skipping this lab. A later lab uses the STM32F401RE and the BLE shield to emulate the heart rate sensor.