Some notes from bluetoothLE

Central device - client

Peripheral devices - servers → (services, characteristics) → to central device

Features:

  1. data exchanged asynchronously → low energy: only cost energy when post or read

(It makes me start to think about why my AirPods seem never lose packages from my iPhone if it's async. It seems always to be sync with my iPhone, not pick up from where the last connections stop.)

  1. data is not deleted when it is read, only when it's updated.

Those features remind me of the features of MQTT.

Try Lightblue and p5.ble

I used Lightblue to scan peripheral devices and tried to get the uuid of my AirPods.

I found there are one 'universal' uuid for my AirPods. And several strings below that with different properties. I wonder if I should pick different id depends on the properties I want to the connection to have.

I clicked into the bar with the properties of read, and try to get my AirPods connected talk with the html page. And I tried both the UUID and the string below "cloud connected".

And several ids I have tried give me the same error of invalid UUID alias. I wonder if it's because that I missed the concept of UUID used here and the results scanned from Lightblue.