![](/img/trans.png)
[英]Connect Bluetooth Android Client to Bluetooth Java Server
[英]Android - Connect to a Bluetooth module
我必須開發一個Android應用程序以連接到連接到板上的藍牙模塊。 我的目標是向該板發送和接收數據。
我目前能夠在手機上啟用藍牙,以與藍牙模塊配對,但是我不知道如何連接和向該模塊發送/接收數據。
大多數示例說明了如何創建服務器和客戶端以通過套接字進行通信。 對我來說這是個好方法嗎? 如此處所述: https : //developer.android.com/guide/topics/connectivity/bluetooth.html#java
就像在示例中一樣: https : //developer.android.com/guide/topics/connectivity/bluetooth.html#example_1
請注意,您可能需要知道模塊提供的服務 /配置文件類型。 通用模塊/設備通常使用串行端口配置文件(SPP)。
您可以使用createInsecureRfcommSocketToServiceRecord()
或createRfcommSocketToServiceRecord()
進行連接。
您需要哪個UUID取決於模塊提供的實際服務。 對於SPP,請參見例如如何查找串行端口藍牙設備的UUID? :
SPP的短16位UUID為
0x1101
完整的UUID是
"00001101-0000-1000-8000-00805f9b34fb"
因此,在Android上,您將使用
final UUID SPP_SERVICE_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
final BluetoothSocket socket = device.createRfcommSocketToServiceRecord( SPP_SERVICE_UUID );
socket.connect();
final InputStream is = socket.getInputStream();
final OutputStream os = socket.getOutputStream();
// Send data to output stream and/or receive data from input stream
// ...
socket.close(); // Disconnect
以下是一種方法:
創建每次都進行通信的服務類
連接到該設備。
通過廣播更新將該服務注冊到您的主要活動中。 然后掃描您的藍牙設備(在驗證權限之后)並進行連接,
請注意,連接代碼必須在您的服務類別中(與設備的所有通信均通過服務類別進行)。
此處附上由Nordic Semiconductor創建的使用BLE的示例,請單擊此處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.