Bluetooth Application development using Microsoft XP SP2 - windows-xp

I am looking for vendor independent way of accessing Bluetooth profiles like A2DP, AVRCP , MAP, HFP on XP either using SP2 or winsock.
I am in process of finalizing way to create application for Bluetooth.
I would need to use following profiles apart from service discovery : HFP, A2DP , AVRCP ,MAP.
Till date my study is :
Microsoft XP SP2 provides a basic stack.
I have figured out following ways to do it after going through MSDN:
Winsock.
Winsock support for Bluetooth as a network protocol suite includes the Bluetooth Personal Area Network (PAN) and Dial up Networking (DUN) profiles. Bluetooth support in Windows also includes Bluetooth Human Interface Device (HID) profiles for connecting to keyboards, pointing devices, and other input devices which are unrelated to network protocols. However I don't know how to access profiles of my interest using Winsock.
Microsoft XP SP2 which provides basic stack. It says that profile drivers need to be installed from other vendors. However then these vendors will provide their interface. This will make my application vendor dependent.I am not sure if there is some standard way for communicating with profiles. A From where can we buy profile drivers to build a vendor independent application for accessing profiles as well
So I am trying to figure out that is their some way by which i can make a vendor independent Bluetooth application on Windows XP? How can we access profiles independent of vendor we choose for profile driver installation.

Bth_FAQ.docx (http://msdn.microsoft.com/en-us/windows/hardware/gg487349.aspx)
What is new in Windows Vista?
[...]
• Synchronous connection-oriented (SCO) link support. This support is necessary for the headset and hands-free profiles.
• Kernel-mode device driver interface (DDI) support for Logical Link Control and Adaptation Protocol (L2CAP), Service Discovery Protocol (SDP), and SCO.
[...]
So, in XP there's no API for L2CAP, and apparently there is no SCO support at all. So most of the profiles you list there can't be implemented. :-( MAP is ok as it uses GOEP (i.e. RFCOMM) afaik.
Other stacks may have support: either support for the profiles in-box, and/or an API. Widcomm/Broadcom has API support for L2CAP and apparently Audio too, don't know abut build-in profile support. BlueSoleil doesn't have a L2CAP API but does have built-in support for various of the audio profiles. I don't know much about Toshiba.

As you wrote the supported in-box profiles in Windows XP are: SPP (Serial Port Profile), DUN (Dial-Up Networking), HID and HRCP (Hard-Copy Replacement Profile). The response to your question lays in Microsoft statement: profiles vendors can be added, so what you can do is write your own profiles. The specification of those profiles are public on Bluetooth SIG website, and interoperability should be guaranteed this way between devices.

Related

How to know which functions available in a driver?

A device driver is a component that Windows uses to interact with a hardware device, such as a modem or network adapter. Rather than access the device directly, Windows loads device drivers and calls functions in the drivers to carry out actions on the device but how windows know which functions are available and how to call them?
As far as the first part of your question, on a modern system that supports ACPI (also see OSDev Wiki's page) Windows (or any other OS worth its salt) uses that to detect devices via the tables that are loaded by the BIOS (e.g. the DSDT).

End-to-End communication between two networks

I studied your article (CoAP) in https://www.rfc-editor.org/rfc/rfc7228.
we are developing Home automation Solution with IoT enabled devices.
I have following doubts to provide the seamlessly solution for Home Automation.
1. I have some appliance with Wi-Fi enabled controllers
2. These controllers are connected to One Standard Router (ex:- CISCO,TP-Link, D-Link). All appliance connected to one router through Wi-Fi.
3. These appliance controlled through local handheld devices by using our proprietary protocol with in the Home network.
Now, we want to give a one feature like operate these appliance by using Handheld device from Remotely.
Internet is enabled to this Router & also register one domain name.
But our problem is how to send commands or data from remote devices through Internet to home appliances.
Note:-
1.I don’t want to develop or place controller between IoT devices &
Remote handheld devices.
2. Request is initiated by remote handheld device only.
I hope, any body can guide to me for better solution.
Thanks in advance
Even if it's not a programming question I would like to make some references that can help you with decisions:
AllSeenAlliance AllJoyn Framework SmartHome Working Group. I think, it will guid you how to develop better solution.
HomeOS by Microsoft Research

Select a WiFi network

I'm not sure if this is at all possible or not.
A client of our company would like to have the following:
The client is a large retailer and has many shops.
Each shop has a dedicated WLan
When a customer enters a shop and the App is running it should recognize the network and connect to it.
The customer can then use certain web services which are only available on this dedicated WLan.
The App is written in Monotouch on iOS.
This sounds like what CaptiveNetwork offers. The bindings for this are available in recent versions of MonoTouch (5.2+).
UPDATE: I updated the answer to MonoTouch WIFI SSID to show how to use CaptiveNetwork (a single call) from MonoTouch (but it's a bit different, subset, from what you're looking to do with the API).

iPhone/iPad: Transfer Files To/From Device?

Locked. Comments on this question have been disabled, but it is still accepting new answers and other interactions. Learn more.
Does Apple offer an API or Kit so that I can start my program on the Desktop and transfer files to/from the device (using the desktop program)? The device will have a similar program/sandbox available. I'm trying to avoid requiring the user to run iTunes, DiskAid, or similar program.
I found an earlier answer [1], but it stated to use cocoahttdserver. Shooting from the hip, a http server feels 'wrong' (in the Windows world, I have the Ce Rapi gear [2] to do the same).
Note that I only need to transfer to a single sandbox on the device - not an arbitrary sandbox. If needed, I have both Mac and iPhone developer accounts (for signing, sharing, and other sandbox nicities).
Jeff
[1] iPhone : Transfer of files from Mac/Pc to app
[2] http://msdn.microsoft.com/en-us/library/ms860198.aspx
Sorry, but your options are wireless network transfer or iTunes. Of the wireless network transfers systems, if you need to be able to transfer over the local network HTTP+Bonjour is the best route.
Advertise your service on your desktop computer using a custom service type and use searchForServicesOfType:inDomain: on iOS to match only those services.

How can I integrate CalDAV and CardDAV

I am trying to allow people (from a URL) to connect to a calender/contacts from their iPhone, Blackbury or Android phone - what is the best way to do this?
I've had a bit of a read and it seems that CalDAV and CardDAV are the best way to integrate calenders/contacts, but how exactly can I do this? The internet seems to lack a standard way of how you can integrate this into a number of devices.
Which mobile devices support them? And is it possible to just provide a URL and then the calender/contacts just automatically sync!?
All of this assumes you have some sort of Groupware server setup somewhere which acts as the repository for this information.
For opensource you might want to look at a product called Sogo. Apple also do a caldav/carddav server written in python. They expect you to buy a mac server but you can download the code and run it from a pc or linux box. There's a heap of paid-for groupware.
You might want to check out the "opensource" client software written by the same kids who develop Sogo caled funambol. This claims to be x-mobile (all the ones youve mentioned anyway).
The idea behind all the *DAV protocols is that yes everything is done by Uri (this was actually specced by Tim Berners Lee in his draft for the web).
I've just been through this very same process and found only emerging standards, of which *DAV are the de facto ones IMO. HTC use MS active sync on my HD2 to sync my Gmail. Go figure!
Bedework is CalDAV/CardDAV server that allows you to hook your iPhone/iCal calendar and events.
I have used it and it gives you an url to sign in with in you phone calendar. The Bedework is a server you could install on you machine (it is provided with documentation; this is a good point to start with).
Android natively does not support Bedework. In order for Android to support the CalDAV you have to install an application that supports CalDAV, but I do not know if they work with Bedewrok or not.
In the case of android you could try using the CalendarProvider and the ContactProvider. You could refer to this : http://developer.android.com/guide/topics/providers/calendar-provider.html