How can I know what bluetooth stacks are installed in my cellphone and how to they works? - bluetooth

I want to send almost 4k size data to any cellphone by using bluetooth.
Firstly to do this, I need to find what stacks are in my phone and what stacks are acting when I send a data.
I really struggle to find the way; however, it is really hard.
If you know how to find it, please give me some information!!

See http://32feet.NET if you are talking about Windows Mobile. It is a managed library for Bluetooth, OBEX, and IrDA. We support both the Microsoft stack, but also have support for Widcomm. And now also Bluesoleil and Stonestreet One Bluetopia.
You can either send and receive the data as an OBEX message, or over a simple bluetooth connection. See a copy of the user's guide at http://www.alanjmcf.me.uk/comms/bluetooth/32feet.NET%20—%20User’s%20Guide.html

Goto "https://www.bluetooth.org/tpg/listings.cfm" type the name of your mobile. This will give you information on the Bluetooth stack inside and the profiles supported.

Related

ESP32 Bluetooth Pairing To Phone

I am trying to make it so that my ESP32 board can detect my phone when I approach it based on RSSI. However, the ESP32 cannot see the phone unless the phone is in discovery mode, which is not super useful. To solve this, I was hoping to pair my phone with the ESP32 so that the phone would always be looking for the ESP32, and connect when it is found without any human intervention.
I decided to try the Arduino integration, but as I was working through all of the examples I couldn't find any with this functionality, so I'm kind of lost. If this is not possible or easy with Arduino, I am willing to switch, but I was unable to find anything about pairing in the normal phone interface for ESP-IDF either.
So, basically, using an ESP32, how do I pair to a phone?
The easiest way is to make the esp a gatt server and advertise a specific service. The phone will look for that specific service and connects if found.
You could make an app for your phone, like for ios its pretty easy. But keep in mind for mobile devices a continuous search for devices could be power unfriendly if misused.
If you use esp-idf instead of arduino, some examples are included. (You could use the vscode integrated esp-idd) Check learnesp32.com for an easy step into the basics, coming from Arduino.

bluetooth extended inquiry response

I'm trying to use the bluetooth extended inquiry response to package a brief message, but I can't seem to find any API that allows access to this information (I'm language agnostic, I just need to find a way to get this to work!) nor any examples where this data is even being utilized. From what I have found, I BELIEVE that most stacks now send EIR data when they respond to an inquiry response? Although even that isn't really documented other than "this "supports" EIR. Is there anyone that can point me in the right direction?
FYI, I have access to machines running Ubuntu, Win 7, and probably a couple of other OS's if need be.
On Linux you can use the BlueZ utilities hciconfig and hcitool.
For hciconfig, check out the options inqmode (extended is mode 2) and inqdata. With hcitool, you can put a device in inquiry using inq.

Is it possible to make a computer behave as a bluetooth HID device?

Is it possible to make a computer behave as a bluetooth HID device? That is, given a local machine with a standard USB keyboard plugged into it, other devices could discover this machine and use it as a bluetooth keyboard.
I'd like to create a linux or OS X application (or use an existing one, though I've found none) which can behave as described above, but I'm not sure where to start, or if it's even possible.
So:
Is what I'm describing possible?
Are there any existing applications that do what I describe?
If no application already exists (I'm assuming not), are there bluetooth libraries or bindings that will help? (I'm pretty comfortable using most of today's popular languages, so I'd prefer a library most directly suited to the task, so long as it's available in linux or OS X.)
Failing any of the above, the bluetooth spec looks pretty dense. Are there specific guides or other starting points applicable to the problem at hand that I can read?
I realize that such an application would most likely need to steal the normal keyboard input, possibly providing some KVM-like hotkey for switching between providing input to the host operating system and sending the input over bluetooth to the connected device, but I'm considering that problem to be outside the scope of this question.
It is definitely possible on Linux. Some time ago I found this project:
http://nohands.sourceforge.net/index.html
They emulate a full-blown headset with audio and keyboard controls on the Linux bluetooth stack. If they can emulate something like that, you would probably be able to emulate something simpler like a keyboard.
It is possible, however I don't think I'll be able explain it very well and I don't know the entire answer. A BT HID device works as a server and waits for connections to come to it. In linux, using the bluez stack, first you would have to advertise the HID service for other devices to see. I think you do that using the sdp.h and sdp-lib.h header files(the second header maybe called something else, I'm on a windows computer and can't check). So you would have to add the HID service record to you computer for other devices to see it. You would have to create a program that first adds this service to the record, then waits for other devices to connect, then handle the pairing process, Bluez might handle this for you, or you might have to do some things to it, I'm not quite sure. You should also read the Bluetooth HID Spec found at the http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx site. This document contains the details of the SDP record relevant to HID. Also the book Bluetooth essentials for programmers is pretty good to introduce you into bluetooth programming
I would like to have given a more concise answer, with more detail, but that's all I know ATM. I am also trying do something similar, but spare time is so hard to find ;) I'm also not on my Linux box and can't check all the details. If your are still interested, let me know and i'll try to expand my answer.
I don't know if this is helpful, nor if it is still alive and working, but perhaps you could try this link.
Another one that might or might not be helpful in some way is remuco, but I don't know if they are using a Bluetooth HID profile.
It is indeed entirely possible with Linux and Bluez. See: https://github.com/lkundrak/virtkbd/blob/master/btkbdd.pod
Try Across, unfortuantly for me my phone was lacking support.

Is there a way to enumerate the video devices on a Java ME phone?

I recently downloaded a barcode reading application for my phone, an LG KU990i (AKA the Viewty) However, there's a problem that renders the application nearly useless: the Viewty has 2 cameras -- the main one, and a secondary camera located on the face of the unit -- and it is the secondary camera that is unfortunately set as the phone's default video capture device. As you can't point the secondary at anything and see what it's pointing at at the same time, it makes it a bit difficult to snap a barcode!
According to the JSR-135 spec, it is possible to specify a video capture device other than the default... if you know the device name. This does not appear to be documented anywhere on LG's Web site, nor does the JSR-135 spec describe any way of enumerating the devices on a phone... or is there? Failing that, are there any naming conventions for video devices commonly in use that LG might be using?
I've logged a ticket with LG, but as it's an old device, I don't imagine them breaking their backs in getting back to me... I should also point out that this is purely for my own curiosity so no-one here should feel obliged to break their backs either!
As far as I know there is no way to get list of all available catpure:// urls.
All urls I know:
capture://image,
capture://video
capture://devcam0
capture://devcam1
Source:
http://www.forum.nokia.com/info/sw.nokia.com/id/bc00e4ce-7df3-4527-962c-d39843a808d0/MIDP_Mobile_Media_API_Support_In_Nokia_Devices_v1_0_en.pdf.html
LG responded to my support ticket. Apparently, it's not possible to access the primary camera on the Viewty from Java, making it pretty much useless for barcode scanning. Answer reproduced here for search engines.
You support ticket has been answered. Please visit the LG Mobile Developer Network and login to check the answer at [My Page > My Tickets].
KU990i default video capture device is the secondary camera
Answer :
Hi,
KU990i have to Two camera module
differently.
Main camera using Joran chipset and
sub(front camera) using Qualcomm
chipset.
Joran chip doesn’t supported JSR135.
Therefore, we couldn’t supported to
the JSR135 using for main camera.
(it is H/W limitation)
It was inform to operator already and
we remember operator was confirm it.
So that, we only supported sub camera
for JSR135.
BR,

BlueZ, do not require authentication

I'm working with BlueZ 3.x. I have a linux embedded device and I need to send and receive files using the bluetooth technology, with Obex. (Note: BlueZ 4.x doesn't even compile on our specific platform.)
I don't need PIN authentication, I even don't want it. It must remain as simple as possible for the end user.
I tried to set security none in hcid.conf but it doesn't seem to work.
So my question is:
Is it possible to send &/ receive files using Obex on bluetooth?
How to do it?
Does bluetooth devices (e.g. mobile phone) requires authentication?
You can use the OBEX protocoll for that, but you will also need the FTP or OPP profile (And GOEP, SPP & GAP since they depend on them)
The documentation can be found on BT SIG bluetooth.org, but you will have to be a member. I think some of the documentation is available to non members as well, go there and have a look.
Yes (if we are only talking about mobile phones)

Resources