Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bluetooth Low Energy (BLE) protocols other than GATT [closed]

Are there any other methods or protocols other than GATT which can be used under BLE (single mode chips) which are better suited to higher-throughput tasks?

From what I understand the answer to my question is no, but I would like some validation and clarification.


I would like to implement services which involve more than simply manipulating (short) characteristics via BLE. Such services might include file transfer, audio streaming, and basically services which are standard in previous versions of bluetooth.

A convenient solution would be to use the File Transfer Profile (over GOEP) or similar for file transfer. For audio, A2DP seems suitable. However, these do not seem to be possible using BLE.

After reading the core spec v4 from bluetooth.org (specifically Vol. 3), it seems like the only applicable protocol which I can use and adapt (via profiles) for such purposes is GATT, which seems very awkward to use.

Also, according to Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology, it seems like the effective throughput is low:

Whereas the physical layer data rate is 1 Mbps, the maximum application layer throughput is equal to 236.7 kbps.

However (when measuring real-world performance using TI CC254x via GATT):

... In the described conditions, the maximum application layer throughput we have measured is 58.48 kbps. This low result can be explained by the following two facts: (i) whereas, in theory, up to eleven such notifications can be transmitted within a connection event of 7.5 ms, only four notifications are allowed per connection event, as aforementioned; and (ii) we have observed that less than four notifications are actually transmitted in most connection events during the experiment (however, the same phenomenon occurs less frequently for connection intervals greater than 7.5 ms). These observations show that high throughput has not been a primary goal in the design of the BLE implementation used in the evaluation.

I realize the above text is specific to the implementation on the TI chip, but such limitations could also apply to other implementations above GATT as well.

like image 895
scooz Avatar asked Nov 13 '12 12:11

scooz


1 Answers

If you are writing your own profiles, then you can do whatever you want by opening an L2CAP channel and sending data in any format, without implementing GATT. L2CAP would let you get the max throughput, and be suitable for streaming data as opposed to reading characteristics.

like image 86
TJD Avatar answered Oct 05 '22 13:10

TJD