GATT over SPP profile for bluetooth communication?

18,248

In the use case that you have mentioned BLE is probably your best bet. This is a Bluetooth 4.0 feature, while SPP is a 2.1 feature. I will try and list out the pros and cons to using BLE with a comparison with SPP.

  • BLE is low energy. It is going to require less energy compared to SPP.
  • BLE is much faster to establish the connection the SPP, so your responses will be much faster.
  • BLE is good only if you want to transfer small amounts of data, once you start transferring large amounts of data, you will find that SPP is a much better candidate.

With this being said, the way you would go about it is in the following way: You will use the BluetoothAdapter to get a reference to a BluetoothDevice, which you will then use to get BluetoothGatt using connectGatt. You will not use BluetoothSocket if you want to use BLE. Using this BluetoothGatt object you can connect to the device and read/write characteristics.

Share:
18,248
My God
Author by

My God

Sr. Software Engineer (Information Technology) Technologies - Ruby ON Rails, Java/J2EE, Android Development. Certifications - Sun Certified Java Programmer (SCJP) Experience - 7 years Far better is it to dare mighty things, to win glorious triumphs, even though checkered by failure... than to rank with those poor spirits who neither enjoy nor suffer much, because they live in a gray twilight that knows not victory nor defeat.

Updated on July 26, 2022

Comments

  • My God
    My God almost 2 years

    This is confusing me for days.

    In the beginning when I was implementing the functionality, I used GATT profile for BLE bluetooth communication.

    Then I came up with BluetoothSocket. This uses the SPP profile for bluetooth communication.

    There is mentioned:

    The most common type of Bluetooth socket is RFCOMM, which is the type supported by the Android APIs. RFCOMM is a connection-oriented, streaming transport over Bluetooth. It is also known as the Serial Port Profile (SPP).

    My requirement is -

    1) To scan and then connect my android device with the Black Box using BLE bluetooth.

    2) Then initiate communication. The bytes will be sent between both.

    Any ideas ?