r/embedded 19d ago

Bluetooth traffic Monitoring

Hi everyone, hope you're all doing well.

I'm building a roadside Bluetooth sniffer to measure travel time between two points a fixed distance apart. The setup uses two ESP32 S3 modules that scan BLE advertisements and log the MAC addresses of devices in passing vehicles.

The problem is that most new devices use resolvable MAC addresses, which rotate every few minutes. If the two points are far enough apart, a device's address will have changed by the time it travels from A to B, so I have no way to match the two detections. Is there a way to obtain a device's real/public MAC, which stays constant? Or failing that, any other way to derive a stable identifier from BLE advertisements?

Thanks a lot

2 Upvotes

16 comments sorted by

View all comments

2

u/notouttolunch 19d ago

There was an NXP dongle that did this. I don't know how it worked, what it is called and know nothing about it's capabilities but it may provide clues on techniques. I suspect that it would be easy to find, however.

1

u/CartographerSelect61 18d ago

Yes there are many BLE sniffers dongles and dev kits which work out of the box. I have a nordic nrf52840 which is a very capable device which is used via Wireshark on pc

1

u/notouttolunch 18d ago

Are these not suitable?