bluepy库安装及使用遇到的问题

1. bluepy库安装

源码:GitHub - IanHarvey/bluepy: Python interface to Bluetooth LE on Linux

文档:bluepy - a Bluetooth LE interface for Python — bluepy 0.9.11 documentation

安装时报了libglib相关的错误信息,所以先安装libglib。

sudo apt-get install python3-pip libglib2.0-dev

再安装bluepy

sudo pip3 install bluepy

2. linux上确定BLE(蓝牙低功耗模式)是否可用

查看蓝牙服务状态

sudo systemctl status bluetooth

扫描附近的蓝牙服务

bluetoothctl scan on

检查 Linux 中 BLE 的可用性

hciconfig hci0 lestates

如果运行结果为Read LE supported states on hci0 returned status 1那么Congratulations!BLE不存在,并且这不是可以通过调整软件来修复的。需要购买蓝牙低功耗适配器并将其插入您的机器。

如果看到的是状态列表,那么这显然意味着 BLE 已经可以使用了。

3. hcitool dev没有蓝牙设备

echo "blacklist ath3k" | sudo tee /etc/modprobe.d/ath3k.conf
echo "blacklist btusb" | sudo tee -a /etc/modprobe.d/ath3k.conf

然后再重启等待30s后,

sudo modprobe ath3k
sudo modprobe btusb

对于我当时的情况是适用的(上面几行命令出自于这里hcitool dev无设备  

4. 运行代码报错

Error while scanning for devices: Failed to execute management command 'le on' (code: 20, error: Permission Denied)

1. sudo执行

2. 设置bluepy-helper

查找bluepy-helper在的路径,得到的结果则为<PATH>

find /usr/local/lib -name bluepy-helper

再执行以下命令。

 sudo setcap cap_net_raw+e  <PATH>/bluepy-helper
 sudo setcap cap_net_admin+eip  <PATH>/bluepy-helper

为了debug方便,可以sudo vi <PATH>/btle.py,将Debugging修改为True,这样会显示更多log信息。(sudo是因为库文件一般都是readonly)

5  更多问题

或许可以在Issues · IanHarvey/bluepy · GitHub找到答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值