2006-04-11 22:31:57

by deva seetharam

[permalink] [raw]
Subject: [Bluez-users] bluetooth remote control

hello all,
i am building bluetooth based handheld remote control devices.

background information
===============
the remote control devices are based on LMX9820 (National Semiconductor's single-chip bluetooth modules). when buttons are pressed, these devices send messages to an application running on a debian linux box. bluetooth connectivity is added to this linux box using D-Link DBT-120 bluetooth dongle.

attempted architectures
==============
i tried to implement this system using the following architectures:

1. RFCOMM server
the linux box runs a bluetooth socket server on a particular channel. the remote control device connects to the server over the specific channel and sends messages.

problems encountered: multiple remotes can't connect to the same server.

i see that the accept method (unlike tcp implementation) returns the server port upon accepting an incoming connection. for instance, if the server is listening on port 16, when any remote connects to the server, the server port 16 is used to establish end-to-end connection with the client. now, another device cannot connect to the same server until the first remote disconnects. this problem stops us from using multiple remotes with a single linux server.


2. Serial port
set up one or more bluetooth serial ports and the remote control devices can send messages to anyone of them by randomly selecting one of those channels.

so i setup a port as listed by rfcomm show:
rfcomm0: 00:0D:88:C0:61:55 channel 16 clean

> sdptool add --channel=16 sp
Serial Port service registered

> rfcomm listen 0 16
Waiting for connection on channel 16

i tried to connect to rfcomm0 from a *different* linux machine.

problems encountered: can't connect...

>rfcomm connect 00:0D:88:C0:61:55 16
Can't connect RFCOMM socket: Host is down

(although, when i do a l2ping, the second machine gets replies from the first).

Questions
======
1. what would be the best architecture for implementing bluetooth remote control?
2. is it possible to configure the accept function to return connection specific ports?
3. what do i need to get the bluetooth serial port working?

pls. let me know.

thanks in advance,
dave






---------------------------------
Love cheap thrills? Enjoy PC-to-Phone calls to 30+ countries for just 2?/min with Yahoo! Messenger with Voice.


2006-04-12 17:06:09

by Albert Huang

[permalink] [raw]
Subject: Re: [Bluez-users] bluetooth remote control

Take a look at Xbtrc

http://wwwhome.cs.utwente.nl/~dijkhw/index.php?p=Katlijk/Xbtrc


problems encountered: multiple remotes can't connect to the same server.
>
> i see that the accept method (unlike tcp implementation) returns the
> server port upon accepting an incoming connection. for instance, if the
> server is listening on port 16, when any remote connects to the server, the
> server port 16 is used to establish end-to-end connection with the client.
> now, another device cannot connect to the same server until the first remote
> disconnects. this problem stops us from using multiple remotes with a single
> linux server.
>

There is no such restriction in hardware or bluetooth software stack.
Multiple clients can be simultaneously connected to the same RFCOMM channel
on a server. Use hcidump -X -V to find out where the connection fails.
Make sure that the server is always the master and that the clients are
always the slaves. This probably requires a role switch after each connect.


> >rfcomm connect 00:0D:88:C0:61:55 16
> Can't connect RFCOMM socket: Host is down
>

This syntax is incorrect. See the rfcomm documentation.

-albert


Attachments:
(No filename) (1.13 kB)
(No filename) (1.67 kB)
Download all attachments

2006-04-12 15:54:15

by deva seetharam

[permalink] [raw]
Subject: Re: [Bluez-users] bluetooth remote control

thank you for the pointer. you can find the video at the following site:
http://www.windowsfordevices.com/news/NS5107313610.html



Sowmya Gattupalli <[email protected]> wrote: Hi
well... there is this video by Anil Dhawan which actually implemented in windows CE os I guess... probably u can look into the video to know more... He used COM ports get it working.. just look at his video... may be it rings a bell... (just give Anil Dhawan + Bluetooth in Google)

On 4/12/06, deva seetharam <[email protected] > wrote:hello all,
i am building bluetooth based handheld remote control devices.

background information
===============
the remote control devices are based on LMX9820 (National Semiconductor's single-chip bluetooth modules). when buttons are pressed, these devices send messages to an application running on a debian linux box. bluetooth connectivity is added to this linux box using D-Link DBT-120 bluetooth dongle.

attempted architectures
==============
i tried to implement this system using the following architectures:

1. RFCOMM server
the linux box runs a bluetooth socket server on a particular channel. the remote control device connects to the server over the specific channel and sends messages.

problems encountered: multiple remotes can't connect to the same server.

i see that the accept method (unlike tcp implementation) returns the server port upon accepting an incoming connection. for instance, if the server is listening on port 16, when any remote connects to the server, the server port 16 is used to establish end-to-end connection with the client. now, another device cannot connect to the same server until the first remote disconnects. this problem stops us from using multiple remotes with a single linux server.


2. Serial port
set up one or more bluetooth serial ports and the remote control devices can send messages to anyone of them by randomly selecting one of those channels.

so i setup a port as listed by rfcomm show:
rfcomm0: 00:0D:88:C0:61:55 channel 16 clean

> sdptool add --channel=16 sp
Serial Port service registered

> rfcomm listen 0 16
Waiting for connection on channel 16

i tried to connect to rfcomm0 from a *different* linux machine.

problems encountered: can't connect...

>rfcomm connect 00:0D:88:C0:61:55 16
Can't connect RFCOMM socket: Host is down

(although, when i do a l2ping, the second machine gets replies from the first).

Questions
======
1. what would be the best architecture for implementing bluetooth remote control?
2. is it possible to configure the accept function to return connection specific ports?
3. what do i need to get the bluetooth serial port working?

pls. let me know.

thanks in advance,
dave







---------------------------------
Love cheap thrills? Enjoy PC-to-Phone calls to 30+ countries for just 2?/min with Yahoo! Messenger with Voice.






---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1&cent;/min.

2006-04-12 02:25:07

by Sowmya Gattupalli

[permalink] [raw]
Subject: Re: [Bluez-users] bluetooth remote control

Hi
well... there is this video by Anil Dhawan which actually implemented in
windows CE os I guess... probably u can look into the video to know more...
He used COM ports get it working.. just look at his video... may be it rings
a bell... (just give Anil Dhawan + Bluetooth in Google)

On 4/12/06, deva seetharam <[email protected]> wrote:
>
> hello all,
> i am building bluetooth based handheld remote control devices.
>
> background information
> ===============
> the remote control devices are based on LMX9820 (National Semiconductor's
> single-chip bluetooth modules). when buttons are pressed, these devices
> send messages to an application running on a debian linux box. bluetooth
> connectivity is added to this linux box using D-Link DBT-120 bluetooth
> dongle.
>
> attempted architectures
> ==============
> i tried to implement this system using the following architectures:
>
> 1. RFCOMM server
> the linux box runs a bluetooth socket server on a particular channel. the
> remote control device connects to the server over the specific channel and
> sends messages.
>
> problems encountered: multiple remotes can't connect to the same server.
>
> i see that the accept method (unlike tcp implementation) returns the
> server port upon accepting an incoming connection. for instance, if the
> server is listening on port 16, when any remote connects to the server, the
> server port 16 is used to establish end-to-end connection with the client.
> now, another device cannot connect to the same server until the first remote
> disconnects. this problem stops us from using multiple remotes with a single
> linux server.
>
>
> 2. Serial port
> set up one or more bluetooth serial ports and the remote control devices
> can send messages to anyone of them by randomly selecting one of those
> channels.
>
> so i setup a port as listed by rfcomm show:
> rfcomm0: 00:0D:88:C0:61:55 channel 16 clean
>
> > sdptool add --channel=16 sp
> Serial Port service registered
>
> > rfcomm listen 0 16
> Waiting for connection on channel 16
>
> i tried to connect to rfcomm0 from a *different* linux machine.
>
> problems encountered: can't connect...
>
> >rfcomm connect 00:0D:88:C0:61:55 16
> Can't connect RFCOMM socket: Host is down
>
> (although, when i do a l2ping, the second machine gets replies from the
> first).
>
> Questions
> ======
> 1. what would be the best architecture for implementing bluetooth remote
> control?
> 2. is it possible to configure the accept function to return connection
> specific ports?
> 3. what do i need to get the bluetooth serial port working?
>
> pls. let me know.
>
> thanks in advance,
> dave
>
>
>
>
> ------------------------------
> Love cheap thrills? Enjoy PC-to-Phone calls to 30+ countries<http://us.rd.yahoo.com/mail_us/taglines/postman9/*http://us.rd.yahoo.com/evt=39666/*http://beta.messenger.yahoo.com/>for just 2?/min with Yahoo! Messenger with Voice.
>
>


Attachments:
(No filename) (2.85 kB)
(No filename) (3.42 kB)
Download all attachments