Hi everyone,
I am working on building a broadcaster that requires a constant Bluetooth address throughout its lifespan.
As I see it, there are two possible ways to meet this requirement: using a public address or a static random address. I've encountered some issues with both approaches, which I'll detail below:
1. Public Address:
- I used the function `bt_ctlr_set_public_addr()` along with the option `BT_LE_ADV_NCONN_IDENTITY` to set a public address. It worked, and the public address was displayed.
- However, if I flash the program into another board, the exact same MAC address appears. I thought that a public address was programmed into the device by the manufacturer, and that there should be unique. Could you help clarify this for me?
2. Static Random Address:
- I tried another approach using a static random address by calling `bt_id_create(NULL, NULL);` after `bt_enable`. This saves it in the flash for later use, and it worked fine.
- The addresses are different between boards and remain the same after rebooting the board.
- However, I expected that if I erased and reprogrammed the flash, a new static random address would be generated. This was not the case. Even after erasing the board, the static address remained unchanged. Is this normal behavior?
I would appreciate any insights or assistance you can provide on these matters. Thank you!