簡體   English   中英

Android-連接到藍牙模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM