On Thu, May 12, 2005 at 04:02:50PM -0300, Gabriel Marques wrote:
> Hi, I've found your e-mail in a "how to" about "Brainboxes BlueTooth +
> Linux Howto".
> The tutorial is helping a lot but I still got some problems, and I was
> hoping you could help me out with any information.
> In my work (with JavaTV) I need to set up a communication channel over a
> BT device, using an open-source Java BT stack.
That's typical of the Java people, they want to rewrite the
whole OS in Java. This only lead to lot of duplicated code,
interoperability problem and madness. Please use the OS existing BT
stack, don't rewrite your own.
Let suppose your Java programe use a Java BT stack, and you
want both your Java program and a regular C/C++ program (BT
mouse/audio driver) to use BT, how do you make that work. You can't.
> JavaBluetooth relies on a serial/tty abstraction of the HCI layer (H4),
> and works fine with serial (RS232) BT dongles.
> But those are hard and expensive to find, and all I have is two USB
> dongles. One is a 3com and the other came from china.
> Well, my problem is: *How to make JavaBluetooth work with an USB dongle*
Don't. It's a waste of time.
The proper question is : how do I access in Java the existing
BT stack of Linux that is fully debugged and fully functional.
> I've installed Fedora Linux (kernel 2.6.11-1.14_FC3), and the USB dongle
> was recognized automatically, its running fine trough BlueZ.
> can you help me with some steps on putting the usb_bt>serial_bt driver
> to work?
No, what you need to do is to create a JNI enabling your Java
program to access the BlueZ APIs. The BlueZ APIs are all sockets of
various types, and most likely you only need one or two types, so this
is not as bad as it looks like. Yeah, it's a shame that writting JNI
is so messy, SUN should improve that.
If you want an example of such JNI, you can look at the
Java-IrDA API done be a collegue of mine. That's the right way to do
Actually, somebody might have already done that, so ask around...