【Bleak】二、扫描(附近全部设备)

目录:

  • 1. 前言
  • 2. 手机模拟设备广播
  • 3. 源码解析
  • 4. 运行结果
  • 5. 写在最后

1. 前言

本文我们将源码里面的例子 discover.py 来做介绍,里面的内容是扫描周围的低功耗蓝牙设备。
【Bleak】二、扫描(附近全部设备)_第1张图片

例子命名其实和作用是没有对齐的,"discover"一般意思是发现服务,但里面的内容其实是充当一个扫描者。

2. 手机模拟设备广播

首先我们在手机上模拟一个名为"da bai"的心率带设备,然后运行例子看看能不能扫描到,方法请看nRF Connect。
【Bleak】二、扫描(附近全部设备)_第2张图片

3. 源码解析

可以看到例子中在一个协程里运行了 Bleak 的 discover 接口。

"""
Scan/Discovery
--------------
Example showing how to scan for BLE devices.
Updated on 2019-03-25 by hbldh 
"""
import asyncio
from bleak import discover

async def main():
    devices = await discover(timeout=5.0)
    for d in devices:
        print(d)

if __name__ == "__main__":
    asyncio.run(main())

4. 运行结果

可以搜索到刚刚模拟的"da bai"设备,地址可以显示出来 4A:2B:79:ED:78:24 。

34:29:EF:21:98:29: U-AC9828
44:1B:B0:98:7B:A2: Xiaomi Inc. (b'\x19\x11\x10\x17A"46e3\x15&\x08\x08W\x01\x03\x04\x83\x0b')
25:1E:84:14:DC:C9: Microsoft (b'\x01\t \x02\x01c\x83m\xf3\xbd\xc5\x13\n\xe5/<\xa9\x03Q\x1fE\xfc\x07Q\xe9\x0f\xc6')
7D:02:1C:F1:91:C0: Unknown
4A:2B:79:ED:78:24: da bai

5. 写在最后

不积跬步无以至千里,不积小流无以成江海。今天我们学会了 Windows 上对低功耗蓝牙的扫描。

你可能感兴趣的:(Bleak,测试工具,python,iot,经验分享)