Форум сайта python.su
0
Использую sl4a, android 4.4, python for android 3.3.2
Задача состоит в отправке некоторых команд с планшета на железку с блютус. Железка планшетом видится и сопряжение устанавливается.
Написал такой код:
import sl4a import time droid = sl4a.Android() droid.toggleBluetoothState(True) adr = '01:18:DA:00:E2:6B' droid.bluetoothConnect(adr) while True: ans = droid.bluetoothReadLine().result droid.dialogCreateAlert('+', ans) droid.dialogSetPositiveButtonText('OK') droid.dialogShow() droid.dialogGetResponse() result = droid.dialogGetInput().result droid.bluetoothWrite(result) time.sleep(0.5)
Отредактировано astridsnus (Дек. 9, 2013 09:37:41)
Офлайн
9
Попробуй try: droid.bluetoothConnect(adr) использовать.
Офлайн
0
К сожалению не помогает.
Офлайн
0
Изменил код вот так:
import sl4a
import time
droid = sl4a.Android()
uuid = '00001101-0000-1000-8000-00805F9B34FB'
droid.toggleBluetoothState(True)
adr = '6B:E2:00:DA:18:01'
droid.bluetoothConnect(uuid,adr)
time.sleep(1)
i = 0
while i < 3:
ans = droid.bluetoothRead(1024).result
droid.dialogCreateAlert("+", ans)
droid.dialogSetPositiveButtonText('OK')
droid.dialogShow()
droid.dialogGetResponse()
result = droid.dialogGetInput().result
rr = result + '/r'
droid.bluetoothWrite(rr)
time.sleep(1)
i += 1
Офлайн
0
Неужели никто не знает? Пробовал ввести проверку
if droid.bluetoothReadReady().result:
перед чтением.
Проверка эта возвращает false.
Офлайн
9
У меня закралась мысль, что у вас пермишены не выставлены для роботы с Голубым Зубом.
<manifest ... > <uses-permission android:name="android.permission.BLUETOOTH" /> ... </manifest>
Офлайн
0
такого не может быть, т.к. если я запускаю на железке только вывод данных (он просто фигачит статистику в ком порт, затем на блютус), я эту статистику планшетом принимаю. кроме того и синхронизация между планшетом и железкой устанавливается.
проблема в том, что почему-то не читается буфер, в который приходит ответ от железки.
Офлайн
9
Я дико извиняюсь, но пермишены раздаются каждой программе на Ведроиде. То есть, если вы читаете одной програмой, то это не означает что ваша программа будет работать с БлюПупом.
Офлайн
0
так это одна и та же программа. я просто могу закомментировать в коде строчки записи, поставить только чтение и бросать на планшет данные с железки (заранее попрошу ее кидать на свой блютус постоянно статистику) .
более того, я уверен, что команды с планшета уходят - смотрел осциллографом на приеме на железке.
Офлайн