1. 前言

本文我们将源码里面的例子 scanner_byname.py 来做介绍,里面的内容是通过指定设备名字来对低功耗蓝牙设备扫描。
在这里插入图片描述

2. 手机模拟设备广播

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

3. 源码解析

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

"""
Bleak Scanner
-------------
Updated on 2020-08-12 by hbldh <henrik.blidh@nedomkull.com>
"""
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 上通过指定设备名字对低功耗蓝牙的扫描。


版权声明:本文为weixin_43352285原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43352285/article/details/124655544