My BLE device uses random private addresses as a security feature which changes its MAC address periodically. I can connect to it the first time using its friendly name, but after the MAC address changes and I try to reconnect to the device using its name, MATLAB reports the following error:
Multiple devices found with device name <deviceName>. Specify one of the following addresses to connect:
followed by multiple addresses.
Reproduction steps:
>> blelist('Timeout',5)ans =6×5 table Index Name Address RSSI Advertisement _____ ____________ ____________ ____ _____________ 1 "LE-testBLE" "<address 1>" -45 [1×1 struct]>> b = ble('LE-testBLE')b = ble with properties: Name: "LE-testBLE" Address: "<address 1>" Connected: 1 Services: [6×2 table] Characteristics: [26×5 table]Show services and characteristics>> clear b>> blelist('Timeout',5)ans =8×5 table Index Name Address RSSI Advertisement ______ ________ ______________ ______ _____________ 1 "LE-JB DW Color" "<address 1>" -36 [1×1 struct] 2 "LE-testBLE" "<address 2>" -50 [1×1 struct] 3 "" "<address 3>" -52 [1×1 struct] 4 "" "<address 4>" -65 [1×1 struct] 5 "" "<address 5>" -66 [1×1 struct] 6 "" "<address 6>" -76 [1×1 struct] 7 "" "<address 7>" -77 [1×1 struct] 8 "" "<address 8>" -85 [1×1 struct] >> b = ble('LE-testBLE')Multiple devices found with device name LE-testBLE. Specify one of the following addresses to connect: <address 1>,<address 2>.
How can I reconnect to my device?
Best Answer