| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from ubluepy import Scanner, constants
- def bytes_to_str(bytes):
- string = ""
- for b in bytes:
- string += chr(b)
- return string
- def get_device_names(scan_entries):
- dev_names = []
- for e in scan_entries:
- scan = e.getScanData()
- if scan:
- for s in scan:
- if s[0] == constants.ad_types.AD_TYPE_COMPLETE_LOCAL_NAME:
- dev_names.append((e, bytes_to_str(s[2])))
- return dev_names
- def find_device_by_name(name):
- s = Scanner()
- scan_res = s.scan(100)
-
- device_names = get_device_names(scan_res)
- for dev in device_names:
- if name == dev[1]:
- return dev[0]
- # >>> res = find_device_by_name("micr")
- # >>> if res:
- # ... print("address:", res.addr())
- # ... print("address type:", res.addr_type())
- # ... print("rssi:", res.rssi())
- # ...
- # ...
- # ...
- # address: c2:73:61:89:24:45
- # address type: 1
- # rssi: -26
|