首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种编程方法来查看被阻塞的蓝牙设备?

是否有一种编程方法来查看被阻塞的蓝牙设备?
EN

Stack Overflow用户
提问于 2021-12-15 16:29:07
回答 2查看 249关注 0票数 0

一个设备可以像这样被阻塞:bluetoothctl block FC:69:47:7C:9D:A3

是否有可编程的方法来列出已经被阻塞的设备?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-15 21:49:06

与BlueZ蓝牙协议栈接口的记录方法是使用D-Bus。如果语言有D总线绑定,D总线API允许大多数语言与它进行接口。

下面是一个使用Python和吡咯烷酮库的示例:

代码语言:javascript
复制
import pydbus

dev_iface = 'org.bluez.Device1'
bus = pydbus.SystemBus()
mngr = bus.get('org.bluez', '/')

mngd_objs = mngr.GetManagedObjects()

for path, info in mngd_objs.items():
    blocked = info.get(dev_iface, {}).get('Blocked')
    if blocked is not None:
        address = info.get(dev_iface, {}).get('Address')
        print(f'[{address}] is {"Blocked" if blocked else "Not Blocked"}')

BlueZ设备API记录在:

https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/device-api.txt

票数 0
EN

Stack Overflow用户

发布于 2021-12-15 19:08:37

是的,检查info文件:

代码语言:javascript
复制
grep Blocked /var/lib/bluetooth/*/FC:69:47:7C:9D:A3/info

它将返回:

代码语言:javascript
复制
Blocked=true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70367107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档