Использование SL4A (Python) и Bluetooth

Ищете некоторые указатели, чтобы начать меня.

В левой руке у меня работает SGS2 с ICS. У меня есть SL4A и работает и установил Python 2.6.2

В моей правой руке у меня есть общий китайский RFID-считыватель. Он работает, он читает теги (у него есть дисплей), и он сопряжен с телефоном.

Я бы хотел, чтобы они играли красиво – я хочу, чтобы скрипт что-то, что будет следить за устройством и захватить коды по мере их передачи.

Я не эксперт Python, но я использовал его в течение некоторого времени для создания простых операций ввода-вывода на веб-серверах, чтобы я мог найти свой путь.

Необычно, хотя у меня возникают настоящие проблемы с этим: я не могу найти никаких «начинаний с ресурсами Bluetooth и SL4A», чтобы преодолеть этот первый шаг по созданию постоянного соединения и мониторинга.

Какие-нибудь советы?

кажется, что вам нужен фасад bluetooth. Вот некоторые команды, относящиеся к bluetooth, которые могут быть полезны для вас:

bluetoothAccept bluetoothActiveConnections bluetoothConnect bluetoothDiscoveryCancel bluetoothDiscoveryStart bluetoothGetConnectedDeviceName bluetoothGetLocalAddress bluetoothGetLocalName bluetoothGetRemoteDeviceName bluetoothGetScanMode bluetoothIsDiscovering bluetoothMakeDiscoverable bluetoothRead bluetoothReadBinary bluetoothReadLine bluetoothReadReady bluetoothSetLocalName bluetoothStop bluetoothWrite bluetoothWriteBinary checkBluetoothState toggleBluetoothState 

Чтобы вызвать любую из этих команд, вы сделали бы что-то вроде

 import android droid = android.Android() #call your commands with droid.bluetoothcommand droid.bluetoothDiscoveryStart() #or droid.toggleBluetoothState(True) 

Вот пример некоторых функций bluetooth, он включен в SL4A, но я добавил комментарии для ясности:

 import android #for bluetooth functions import time #for waiting #get everything setup droid = android.Android() #turn on bluetooth droid.toggleBluetoothState(True) #ask user droid.dialogCreateAlert('Be a server?') droid.dialogSetPositiveButtonText('Yes') droid.dialogSetNegativeButtonText('No') droid.dialogShow() #get user response to question result = droid.dialogGetResponse() #if the result is 'Yes' ('positive') then is_server is set to True is_server = result.result['which'] == 'positive' if is_server: #so if is_server is true make the device discoverable and accept the next connection droid.bluetoothMakeDiscoverable() droid.bluetoothAccept() else: #attempts to connect to a device over bluetooth, the logic being that if the phone #is not receiving a connection then the user is attempting to connect to something droid.bluetoothConnect() if is_server: result = droid.getInput('Chat', 'Enter a message').result #Gets a message to send #via bluetooth if result is None: droid.exit() #exit if nothing is in the message droid.bluetoothWrite(result + '\n') #otherwise write the message while True: #receives a message message = droid.bluetoothReadLine().result droid.dialogCreateAlert('Chat Received', message) droid.dialogSetPositiveButtonText('Ok') droid.dialogShow() droid.dialogGetResponse() result = droid.getInput('Chat', 'Enter a message').result if result is None: break droid.bluetoothWrite(result + '\n') droid.exit() 

Наконец, для получения полного списка команд Bluetooth, зайдите http://code.google.com/p/android-scripting/wiki/ApiReference и прокрутите вниз до фасада bluetooth. Удачи!