我编写了一些 Python 脚本,用于扫描设备。如果它们与“名称”匹配,我就会连接到它们并做一些蓝色的事情。该脚本是建立在bluepy
module.
我认为我不喜欢的是,我需要运行设备扫描sudo
(like sudo python3 getDev.py
)。有什么想法如何使用户能够在没有 root 权限的情况下进行扫描吗?
我想我需要将本地用户添加到组等中。欢迎任何想法
在linux上蓝牙协议栈需要特殊的权限才能与之交互。
这些权限是通过称为功能的属性来实现的,请参阅人7能力 http://man7.org/linux/man-pages/man7/capabilities.7.html了解详情。
分配能力的工具是程序setcap
.
对于 bluepy,它是二进制文件bluepy-helper
与蓝牙协议栈交互,因此找到 bluepy 包的安装位置并运行:
sudo setcap 'cap_net_raw,cap_net_admin+eip' ${PY_SITE_PACKAGES_DIR}/bluepy/bluepy-helper
也可以看看here https://github.com/IanHarvey/bluepy/issues/313
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)