PyBluez未找到跟踪标签设备

时间:2019-04-14 23:04:56

标签: python bluetooth raspberry-pi pybluez raspberry-pi-zero

bluetoothctl看到了ITAG设备,但是python和pybluez不在Raspberry Pi Zero W上

这是我通过bluetoothctl得到的:

pi@rpitouch:~ $ sudo bluetoothctl
[NEW] Controller B8:27:EB:6A:C0:8F rpitouch [default]
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:6A:C0:8F Discovering: yes
[NEW] Device AC:37:43:F6:91:BF HTC BS BFED75
[NEW] Device AC:37:43:F6:13:98 HTC BS 9885EC
[CHG] Device AC:37:43:F6:91:BF RSSI: -66
[CHG] Device AC:37:43:F6:91:BF TxPower: 4
[NEW] Device FC:58:FA:A3:3A:76 ITAG
[CHG] Device AC:37:43:F6:13:98 RSSI: -61

ITAG设备是一种廉价的小巧的平铺式中文“查找钥匙”型蓝牙设备,这就是我要寻找的东西。这两个HTC可能是我们的HTV Vive灯塔。

使用Python 2并跳过所有步骤来安装pybluez和gattlib以及所有这些,使用随附的代码,我得到:

pi@rpitouch:~ $ sudo python blue.py
found 1 bluetooth devices
 F8:34:41:8B:D0:25 - DESKTOP-NUBAQ2D
found 0 btle devices

DESKTOP-NUBAQ2D是具有内置蓝牙的台式计算机,可通过BT与HTC Vive灯塔进行通话。

我还尝试了BeaconService选项,结果也为零。

如果bluetoothctl和pybluez查找不同的设备,它们似乎正在扫描不同的内容。就像bluetoothctl在寻找设备而pybluez在寻找主机?

一些建议是将service.discover(2)更改为一个更大的数字,表示扫描时间为2秒,但无论是2还是20都会立即停止...因此,也许Discover(20)不是工作正常吗?

是否有我可以尝试使用的冗长模式或其他选项,或者有时我不见了(也许是需要为RPi Zero进行调整的配置..例如它没有指向正确的设备?)

我在编程方面经验丰富,但是在python和linux生态系统的这个角落相当绿色,因此,对于要检查的文件或内容的具体描述是值得赞赏的……或者至少我可以用谷歌搜索这些细节。

谢谢!

# https://github.com/pybluez/pybluez
import bluetooth

nearby_devices = bluetooth.discover_devices(lookup_names=True)
print("found %d bluetooth devices" % len(nearby_devices))

for addr, name in nearby_devices:
    print(" %s - %s" % (addr, name))

#bluetooth low energy scan
from bluetooth.ble import DiscoveryService

service = DiscoveryService()
print("Starting scan")
devices = service.discover(20)

print("found %d btle devices" % len(devices))

for address, name in devices.items():
    print("name: {}, address: {}".format(name, address))

0 个答案:

没有答案