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

本文介绍了如何通过Python库Bleak实现Windows上针对低功耗蓝牙设备的扫描,特别是在已知设备名称的情况下。示例代码展示了如何创建一个协程,利用BleakScanner的find_device_by_filter方法来查找名为'dabai'的心率带设备。运行代码后,成功找到了设备并打印了其地址和名称。
摘要由CSDN通过智能技术生成

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 上通过指定设备名字对低功耗蓝牙的扫描。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强人电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值