Search code examples
iosbluetoothbluetooth-lowenergyhardwarecbperipheral

How and when a BLE peripheral name is set for the first time


Changing peripheral name on hardware:

  • When and how is it possible to change a BLE peripheral name?
  • Is this something that needs to be written in the firmware? And if so how?

I am looking at some iOS client code and using the CBPeripheral to detect a BLE peripheral using the CoreBluetooth library. I can see an advertisement of my iPad where the name field has the mutable name "mm24 iPad" (which I can change from iTunes).

I suspect that each BLE peripheral can be configured at production time with a default name and then modified subsequently using a BLE API. Is this correcT?


Solution

  • As you understood about name is correct . The name of the peripheral is Read-only property and you cannot change it. The name of the peripheral is written firmware.

    If you have the control of peripheral code , you can create one writable/readable characteristic on which you can send the new name for the peripheral. And from next time you will get that new name .

    If you dont have control on peripheral code then use one writable/readable characteristic to read and write the name of the peripheral . This is obviously not the real name of the device but for the end user it is like a real name of the device .