I have to create an application to send videos (10/20 MB) from Raspberry to an Android device through bluetooth. I tried implementing my own profile with the serial port profile uuid (because I could not make Android connect to another UUID), but it takes too much time even for small files. What kind of profile should I use to speed up the transfer? I'm using the Bluez dbus api. Thanks
Asked
Active
Viewed 177 times
0
-
Did you already tried PutFile method from obexd daemon? See the details here: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/obex-api.txt#n280 I have never tried using obex so far, may be this should help. I am totally not sure about transfer speed! – Parthiban Jul 31 '18 at 08:13
-
@ParthibanN Not yet. I want try with others uuids before implementing it. I found 00001105-0000-1000-8000-00805F9B34FB and on Wireshark I can see that the protocol used for transfer is OBEX, instead of SSP, but it takes about 20/30 seconds for 2 MB. In another project I used QT to create the service with an rfcomm socket and the time for the transfer is about 10 seconds. The problem is that I don't think it's possible to add this in my current project because I created a custom bluez agent to handle the incoming connections, but I can try it. – Cristiano Jul 31 '18 at 11:20
-
Sure, try using obexd functionality as it is already well tested open source. But regarding the speed of transfer, using obexd/custom profiles should not affect the speed. The transfer rate should be depending on underlying Linux Kernel Bluetooth stack/HCI controller itself. – Parthiban Jul 31 '18 at 11:23
-
OK thanks, I'll try it hoping the transfer speed increases. In the meanwhile I will continue to look for another uuid the allows to Android device to comunicate using the rfcomm protocol, maybe could be a solution – Cristiano Jul 31 '18 at 11:36