Eri*_*c T 3 python android bluetooth sl4a
寻找一些让我入门的建议.
在我的左手中,我有一个运行ICS的SGS2.我已经启动并运行了SL4A并安装了Python 2.6.2
在我的右手中,我有一个通用的中国蓝牙RFID阅读器.它工作,它读取标签(它有一个显示器),它与手机配对.
我希望他们玩得很好 - 我想编写一些能够继续观看设备并在传输时捕获代码的脚本.
我不是Python专家,但我已经使用它一段时间在Web服务器上构建简单的I/O作业,所以我可以找到自己的方法.
不同寻常的是,我遇到了实际问题 - 我找不到任何"开始使用蓝牙和SL4A"资源来克服建立持久连接和监控输出的第一步.
有小费吗?
看来你需要的是蓝牙外观.以下是一些与蓝牙相关的命令,可能对您有所帮助:
bluetoothAccept
bluetoothActiveConnections
bluetoothConnect
bluetoothDiscoveryCancel
bluetoothDiscoveryStart
bluetoothGetConnectedDeviceName
bluetoothGetLocalAddress
bluetoothGetLocalName
bluetoothGetRemoteDeviceName
bluetoothGetScanMode
bluetoothIsDiscovering
bluetoothMakeDiscoverable
bluetoothRead
bluetoothReadBinary
bluetoothReadLine
bluetoothReadReady
bluetoothSetLocalName
bluetoothStop
bluetoothWrite
bluetoothWriteBinary
checkBluetoothState
toggleBluetoothState
Run Code Online (Sandbox Code Playgroud)
要调用这些命令中的任何一个,你会做类似的事情
import android
droid = android.Android()
#call your commands with droid.bluetoothcommand
droid.bluetoothDiscoveryStart()
#or
droid.toggleBluetoothState(True)
Run Code Online (Sandbox Code Playgroud)
以下是一些蓝牙功能的示例,它包含在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()
Run Code Online (Sandbox Code Playgroud)
最后,有关蓝牙命令的完整列表,请查看http://code.google.com/p/android-scripting/wiki/ApiReference并向下滚动至蓝牙外观.祝你好运!
| 归档时间: |
|
| 查看次数: |
10829 次 |
| 最近记录: |