Files
DREAMMAKER/implementations/Python3/DREAMMAKER.py
T
2026-04-27 00:36:18 -06:00

24 lines
1.2 KiB
Python

import asyncio
from bleak import BleakScanner, BleakError
from datetime import datetime
# bunch of random prefixes for testing
VENDOR_PREFIXES = ['00:25:DF', '00:58:28', '00:C0:D4', '84:70:03', 'C0:1C:6A', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0B', '77', '99', '0A', '0B', '0C', '0D', '0E', '0F', 'AB', 'C0']
# live
# NDOR_PREFIXES = ['00:25:DF', '00:58:28', '00:C0:D4', '84:70:03']
async def main():
print("Scanning for BLE devices...")
while True:
try:
devices = await BleakScanner.discover()
filtered_devices = [device for device in devices if any(device.address.upper().startswith(prefix) for prefix in VENDOR_PREFIXES)]
if filtered_devices:
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] # includes miliseconds
print(f"VLAT HAS BEEN SPOTTED MAC: {filtered_devices[0].address} TIME: {now}")
except BleakError as e:
print(f"Error during scanning: {e}")
await asyncio.sleep(10) # wait before next scan
filtered_devices = [device for device in devices if any(device.address.upper().startswith(prefix) for prefix in VENDOR_PREFIXES)]
if __name__ == "__main__": asyncio.run(main())