views:

2437

answers:

4

I am in the process of writing a Bluetooth scanner that locates and identifies mobile devices in the local vicinity. Is this something that I can accomplish using C#, or do I need to drop down into the C/C++ APIs? My application is targeting Windows XP and Vista. Pointers are appreciated.

Thanks!

+3  A: 

The only managed BlueTooth APIs I could find reference to are here.

Erik Forbes
+4  A: 

There is also Peter Foot's 32feet.net

http://inthehand.com/content/32feet.aspx

I've played around with this back when it was v1.5 and it worked well.

Kyle
I've been using the 32feet.net library on a windows mobile app and it works really well
tjjjohnson
+7  A: 

One problem with Bluetooth on the PC is that there are several BT stacks in use and you can never quite know which one is available on a given machine. The most common ones are Widcomm (now Broadcom) and Microsoft (appeared in XP, maybe one of the service packs). However, some BT hardware vendors package BlueSoleil and some use Toshiba. Most dongles will work with the MS stack so the .NET libs I've seen tend to use that.

Each of the stacks has a totally different way of doing the discovery part where you browse for nearby devices and inquire their services.

If I had to pick one approach today I'd probably do the discovery in C++ and add an interface for .NET.

The 32feet.net stuff worked pretty well when I tried it but didn't support the Widcomm stack.

Andrew Queisser
+3  A: 

Mike Petrichenko has a nice BT framework. It works with BlueSoleil, Widcomm, Toshiba and Microsoft.

It is now called the Wireless Communications Library and works with Bluetooth 802.11 and Infrared. Mike named the company Soft Service Company and sells non-commercial and commercial licenses with and without source code in prices ranging between $100 and $2050.

Guge