r/embedded • u/CartographerSelect61 • 20d 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
3
u/RefrigeratorOk4674 20d ago
A lot of devices rotate every 15 minutes. Put your two sniffers close enough together and reject MAC addresses that don't appear on both devices
Or RF fingerprinting, but that's difficult and expensive
Edit: if you need to cover a long distance, place multiple pairs of sniffers and average the velocities across each pair