【Bleak】四、扫描(指定设备名字)

目录:

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

1. 前言

本文我们将源码里面的例子 scanner_byname.py 来做介绍,里面的内容是通过指定设备名字来对低功耗蓝牙设备扫描。
【Bleak】四、扫描(指定设备名字)_第1张图片

2. 手机模拟设备广播

首先我们在手机上模拟一个名为"da bai"的心率带设备,然后运行例子看看能不能扫描到,方法请看nRF Connect。
在这里插入图片描述

3. 源码解析

可以看到例子中在一个协程里运行了 Bleak 的 BleakScanner 接口, 通过find_device_by_filter来指定设备名字。
注意:运行例子的时候需要填一个参数,该参数为你的设备名字。

"""
Bleak Scanner
-------------
Updated on 2020-08-12 by hbldh 
"""
import asyncio
import sys

from bleak import BleakScanner

async def main(wanted_name):
    device = await BleakScanner.find_device_by_filter(
        lambda d, ad: d.name and d.name.lower() == wanted_name.lower()
    )
    print(device)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print(f"Usage: {sys.argv[0]} name")
        sys.exit(1)
        
    asyncio.run(main(sys.argv[1]))

4. 运行结果

可以搜索到刚刚模拟的"da bai"设备,可以看到设备地址和设备名字 。

PS E:\Bleak\bleak-develop\examples> python .\scanner_byname.py "da bai"

73:9F:52:36:34:40: da bai

5. 写在最后

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

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