I'll describe my setup :
I have made an android application that simulates Eddystone beacon. I was able to detect the Eddystone beacon on my phone using Beacon Toy app from PlayStore. But the thing is , from the last time I checked , the MAC ID displayed has changed. I can identify its the same beacon because of the namespace and instance id being the same but under different MacID. Could someone suggest what is happening here ? I was under the impression that MacID stays constant.
Yes, Android transmitters randomize their bluetooth MAC address. This is nothing specific to Eddystone, but to Android beacon transmitters of all types, and more precisely to Android BLE advertising.
To prove this, I ran some tests on my Nexus 5X. Using the Locate Beacon app to transmit a beacon in the iBeacon format (the same results apply to Eddystone and other formats too) I can see that the MAC address transmitted changes each time I stop and start advertising.
My Nexus 5X reveals its Bluetooth MAC address in Settings -> About Phone -> Status -> Bluetooth Address. It is 64:bc:0c:xx:xx:xx
(Note: I have blanked out the last three device-specific bytes of the MAC, revealing only the first three bytes which is the Company OUI assigned to LG Electronics, the manufacturer of the Nexus 5X.)
For this test, I start a bluetooth LE scan on a Linux device configured with BlueZ. The scan outputs the MAC address of each new BLE device it finds. BlueZ does not scramble this MAC address.
Next, I repeatedly start and stop the transmitter on the Nexus 5X. Each time I do a new MAC address shows up in the scan results. In the output below, I hit the return key a couple of times to make blank lines after each detection to show when I turn the transmitter off and back on.
$ sudo hcitool lescan
LE Scan ...
5C:62:56:18:DA:A5 (unknown)
5C:62:56:18:DA:A5 (unknown)
6A:E8:D1:90:CA:26 (unknown)
6A:E8:D1:90:CA:26 (unknown)
70:A8:86:F7:E9:68 (unknown)
70:A8:86:F7:E9:68 (unknown)
66:F6:B4:24:89:44 (unknown)
66:F6:B4:24:89:44 (unknown)
As you can see, each time the transmitter is started, it send out a new randomized MAC address that has nothing to do with the physical MAC address reported by Settings.
来源:https://stackoverflow.com/questions/42136261/does-mac-id-broadcasted-in-eddystone-beacon-change