在安卓下使用python連接藍牙串口模塊(HC-06)


在安卓上安裝Python:

請參考: https://github.com/kuri65536/python-for-android/blob/master/README.md
下載程序文件需要訪問  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
 
運行SL4A以及Py4A的apk安裝他們
隨后運行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
向腳本中寫入如下內容:
 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來打開藍牙串口服務
 
當bluetoothConnect執行完成,cnRst會得到成功的返回值,這時候就可以使用bluetoothReadLine等函數讀寫該串口了
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM