Created
June 16, 2025 14:49
-
-
Save EncodeTheCode/6245af2b2f47724bb9db0d91c7aac79c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import warnings | |
warnings.filterwarnings("ignore") | |
import asyncio | |
from bleak import BleakScanner | |
def format_bytes(b): | |
return ' '.join(f'{byte:02X}' for byte in b) | |
async def main(): | |
print("🔍 Scanning for Bluetooth LE devices (5 seconds)...") | |
devices = await BleakScanner.discover(timeout=5.0) | |
if not devices: | |
print("❌ No BLE devices found.") | |
return | |
for i, d in enumerate(devices, 1): | |
print(f"\n🔹 Device #{i}") | |
print(f" Name : {d.name or '[No Name]'}") | |
print(f" Address : {d.address}") | |
print(f" RSSI : {d.rssi} dBm") | |
# Advertisement data | |
ad = d.metadata.get("advertisement_data") | |
if ad: | |
# Advertised services | |
if ad.service_uuids: | |
print(" Services :") | |
for uuid in ad.service_uuids: | |
print(f" - {uuid}") | |
# Manufacturer data | |
if ad.manufacturer_data: | |
print(" Manufacturer Data:") | |
for key, value in ad.manufacturer_data.items(): | |
print(f" - ID {key}: {format_bytes(value)}") | |
# Service data | |
if ad.service_data: | |
print(" Service Data:") | |
for uuid, data in ad.service_data.items(): | |
print(f" - {uuid}: {format_bytes(data)}") | |
else: | |
print(" No advertisement data available.") | |
asyncio.run(main()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment