Bluetooth Application Programming?
Comatose51 asks: "I've been desperately trying to create an application that uses Bluetooth over the last month. I've been frustrated by the lack of good books and lack of hardware compatible with readily available Bluetooth APIs. While Microsoft added Bluetooth support into Windows XP since SP1, most hardware vendors do not use the Microsoft Bluetooth Stack. Instead, they use other proprietary stacks that costs money to obtain the SDKs and APIs for. I had to buy the Microsoft Bluetooth Mouse to get their Bluetooth Stack and a compliant adapter, which is still many times cheaper than what some companies charge for their APIs and SDKs. Java is the other (potentially better, easier) option but I haven't found any hardware vendors that state that they're Java (JSR-82) compliant. Is there really no easy way of developing Bluetooth applications for Windows? It is sad because Bluetooth holds so much promise. Thanks in advance." Might Bluetooth's problems stem from the fact that there is no consistent development platform for the technology?
My other main problem with it is that it is missing a certain level of standards, which is the set of standards that would define the services a device offers. It does have a mechanism for indicating the type of device to which you are connected, but it seems only enough to pick an icon, not to decide what to actually say.
Apparently the whole idea of bluetooth profiles is lost on you? This is exactly what their for. Devices support different profiles, such as, the virtual serial port profile, audio gateway, headset, file transfer, network access, PIM item transfer, etc. Descovering what a device does is as easy as asking it what profiles it supports.
What it needs is a set of protocols, preferably XML-based, since XML is 31337, that can transfer files, send/receive photos, take pictures, record audio, dial/talk on phone calls, etcetera. These would be organized into a menu on the device, like "Files", "Pictures", "Voice Recorder", "Phone", etcetera, so devices that do some or all of these would simply show a choice (tabs, maybe) for what feature to use.
Bluetooth *already does this*, just replace XML with OBEX and it does everything you just said. It makes me wonder where you got your experience, if any, with using bluetooth devices.
-- iCEBaLM
<sarcasm>
...which is why the market is now overflowing with WiFi-enabled mobile phones, WiFi headsets, WiFi-enabled GPS receivers etc. etc.
</sarcasm>
Bluetooth and WiFi are complementary technologies. Bluetooth headsets make perfect sense whereas a WiFi headset would have its battery life measured in minutes. Likewise, using Bluetooth for wireless networking is something you do only when you have no other alternative.
I usually carry the following devices with me:
- Ericsson R520m GSM mobile phone with Bluetooth
- Sony-Ericsson HBH-30 Bluetooth headset
- Fujitsu-Siemens Pocket Loox 600 Pocket PC with Bluetooth
- Fortuna GPSmart BT GPS receiver with Bluetooth
Yes, I can get a WiFi-enabled PDA. Show me where to get WiFi versions of the other devices.My opinion? See above.