Python 3.x 如何在python中检查蓝牙设备的ping
我已经连接了一个蓝牙控制器来控制漫游者。 我可以在终端上使用Python 3.x 如何在python中检查蓝牙设备的ping,python-3.x,ubuntu,bluetooth,root,pybluez,Python 3.x,Ubuntu,Bluetooth,Root,Pybluez,我已经连接了一个蓝牙控制器来控制漫游者。 我可以在终端上使用sudo l2ping 84:30:95:06:C6:6Cping控制器。 基本上,我希望在ping不可用时执行某些代码。i、 例如,当控制器断开时。 我试过这个: import bluetooth while True: if bluetooth.lookup_name('84:30:95:06:C6:6C'): print("do nothing") else:
sudo l2ping 84:30:95:06:C6:6C
ping控制器。
基本上,我希望在ping不可用时执行某些代码。i、 例如,当控制器断开时。
我试过这个:
import bluetooth
while True:
if bluetooth.lookup_name('84:30:95:06:C6:6C'):
print("do nothing")
else:
print("do something")
但这有一点延迟,当控制器断开时,大约需要2-3秒才能给我输出。
在python中是否还有其他方法可以做到这一点?因此我们可以使用它来了解蓝牙设备的状态。这里有一个对我有用的小片段。没有延迟来获得输出,这绝对是好的
import subprocess as sp
dev_addr = '84:30:95:06:C6:6C'
stdoutdata = sp.getoutput("hcitool con")
while True:
if dev_addr in stdoutdata.split():
print("do nothing")
if dev_addr not in stdoutdata.split():
print("do something")
因此,我们可以使用来了解蓝牙设备的状态。这里有一个对我有用的小片段。没有延迟来获得输出,这绝对是好的
import subprocess as sp
dev_addr = '84:30:95:06:C6:6C'
stdoutdata = sp.getoutput("hcitool con")
while True:
if dev_addr in stdoutdata.split():
print("do nothing")
if dev_addr not in stdoutdata.split():
print("do something")
hcitool
是2017年回归的八种工具之一,因此在某一时刻将消失。hcitool
是2017年回归的八种工具之一,因此在某一时刻将消失。