在安卓上安裝Python:
請參考:
https://github.com/kuri65536/python-for-android/blob/master/README.md
下載程序文件需要訪問 https://github-cloud.s3.amazonaws.com ,一般需要翻牆
下載如下文件:
下載程序文件需要訪問 https://github-cloud.s3.amazonaws.com ,一般需要翻牆
下載如下文件:
sl4a-r6.1.1-arm-debug.apk,
PythonForAndroid-debug.apk,
python_r26.zip,
python_extras_r26.zip,
python_scripts_r26.zip
PythonForAndroid-debug.apk,
python_r26.zip,
python_extras_r26.zip,
python_scripts_r26.zip
我已經將程序上傳到百度網盤:
SL4A: http://pan.baidu.com/s/1dDWNt0P
Py4A: http://pan.baidu.com/s/1kUombmn
Python: http://pan.baidu.com/s/1i4stQYD
Script: http://pan.baidu.com/s/1pJVMYqZ
Extras: http://pan.baidu.com/s/1skbO7cp
SL4A: http://pan.baidu.com/s/1dDWNt0P
Py4A: http://pan.baidu.com/s/1kUombmn
Python: http://pan.baidu.com/s/1i4stQYD
Script: http://pan.baidu.com/s/1pJVMYqZ
Extras: http://pan.baidu.com/s/1skbO7cp
運行SL4A以及Py4A的apk安裝他們
隨后運行Py4A( Python for Android)
可以點擊Install自動下載Python運行環境,這一步會需要一定時間,並且需要翻牆
也可以點擊Local Install安裝手動下載的數據文件。
隨后運行Py4A( Python for Android)
可以點擊Install自動下載Python運行環境,這一步會需要一定時間,並且需要翻牆
也可以點擊Local Install安裝手動下載的數據文件。
如果選擇本地安裝需要將手動下載的zip包(python, extras, scripts)放在/內部存儲/com.googlecode.pythonforandroid(如果有sd卡則是/sdcard/com.googlecode.pythonforandroid)下
安裝完成后即可使用SL4A添加python腳本
Python腳本
打開SL4A界面,點擊菜單選擇添加一個Python2.7的腳本
起名為喜歡的名字,如blueserial_monitor.py
向腳本中寫入如下內容:
起名為喜歡的名字,如blueserial_monitor.py
向腳本中寫入如下內容:
1 import android 2 import time 3 4 droid = android.Android() 5 droid.toggleBluetoothState(True) 6 cnRst = droid.bluetoothConnect( 7 "00001101-0000-1000-8000-00805F9B34FB") 8 9 print(cnRst) 10 11 if cnRst.result: 12 while True: 13 message = droid.bluetoothReadLine().result 14 print(message) 15 16 droid.exit()
解釋:
anroid庫的具體用法請參閱SL4A的文檔 http://www.mithril.com.au/android/doc/BluetoothFacade.html
與藍牙串口連接的主要操作在於加粗部分:droid. bluetoothConnect( "00001101-0000-1000-8000-00805F9B34FB")
做為參數的字符串是用於bluetoothConnect的 uuid,它是藍牙串口服務ID,因為SL4A沒有提供類似createRfcommSocketToServiceRecord的API,所以我們需要使用該uuid來打開藍牙串口服務
anroid庫的具體用法請參閱SL4A的文檔 http://www.mithril.com.au/android/doc/BluetoothFacade.html
與藍牙串口連接的主要操作在於加粗部分:droid. bluetoothConnect( "00001101-0000-1000-8000-00805F9B34FB")
做為參數的字符串是用於bluetoothConnect的 uuid,它是藍牙串口服務ID,因為SL4A沒有提供類似createRfcommSocketToServiceRecord的API,所以我們需要使用該uuid來打開藍牙串口服務
當bluetoothConnect執行完成,cnRst會得到成功的返回值,這時候就可以使用bluetoothReadLine等函數讀寫該串口了