我正在尝试编写一个脚本,它将连接一个设备(radiomodem),它与我的Nexus 7(Android 4.4)有蓝牙 任务是通过蓝牙发送命令,然后从radiomodem获得答案。 发送命令后,我没有得到设备的答案(或者我得到它,但无法读取蓝牙缓冲区),我的脚本在读取时停止。它不会给我任何错误,只是停止。 我试图将命令从Nexus发送到PC,我在PC上的虚拟COM中看到过它们。 我试图从PC发送到Nexus,从radiomodem发送到Nexus长线并读取它们。它也很好。 但写作阅读不起作用。我做错了什么?
这是我的代码:
import sl4a
import time
droid = sl4a.Android()
uuid = '00001101-0000-1000-8000-00805F9B34FB'
adr = '6B:E2:00:DA:18:01'
droid.toggleBluetoothState(True) # connection is always successful
droid.bluetoothConnect(uuid,adr)
time.sleep(2)
i = 0
while i < 3:
res = droid.dialogGetInput().result
res = res + '\r'
droid.bluetoothWrite(res)
time.sleep(0.6) # here I've tried different timeouts
ans = droid.bluetoothRead(4096).result
if ans is None:
print('no answer')
else:
w = str(ans)
droid.dialogCreateAlert("+", w)
droid.dialogSetPositiveButtonText('OK')
i += 1
答案 0 :(得分:0)
半年前我用PY4A做了一个小应用程序,我从连接到星系S2的蓝牙心率监测器时遇到了麻烦。为了解决连接问题,我改用了pybluez。使用蓝牙设备从那里工作。请参阅帮助我的工作示例。
http://cuu508.wordpress.com/2011/02/21/hxm-t-display-heart-rate-from-zephyrs-hxm/
我希望这会有所帮助。
问候。