I am looking for a Bluetooth stack for Windows XP that supports HFP. Here is what I have found so far:
Wildcomm - HFP not supported or no one has be able to enable it.
Microsoft - support for HFP in their embedded platforms.
Toshiba - supports HFP, but their Bluetooth stack seems to be only for their products.
Has anyone had any luck using HFP with any Bluetooth stack on Windows XP? In addition to the audio connection, I also need the hands-free signals to answer and hang-up a call.
Not that it helps you much, but some information anyway... The Microsoft Bluetooth stack on Windows XP does not support SCO, see http://www.techtalkz.com/microsoft-device-drivers/297889-how-can-i-get-sco-data-based-micrisoft-bluetoot-stack.html
Vista added support for it, and Windows 7 adds in-the-box support for HFP (and HSP, A2DP and AVRCP). See section "slide 15" at http://www.alanjmcf.me.uk/comms/bluetooth/Bluetooth%20in%20Windows%207.html
So seems unlikely that a third-party one can add HFP support to XP+MSFT. :-(
Related
I have done some research on core bluetooth framework. Successfully setup discovery of peripheral of other iPhone, connect, discovered services and characteristics and write some values. All went well. Surprisingly come to know there is apple MIFI program (need to research on it).
In excitement I ordered iPhoneSE, HC-05 bluetooth module, Arduino Builder's Kit R2 with original Arduino UNO. It took some days/wasted in shipment and decent amount and now it's not working.
I write proper set up/initialization for peripheral and central classes, adopted delegates and I think it's all correct. However I am not able to connect to HC-05 bluetooth module.
Observations:
On a Android device i turned on bluetooth in device settings, HC-05
was able to be discovered, enter 0000/1234 (password as per
documentation). And yes i was able to connect it. It means HC-05 is
not malfunctioning.
On a iPhoneSE iOS v11.0, Setting -> turn on bluetooth. But HC-05 is
not discoverable.
I simply want to be successfully discover and connect to HC-05 module using BLE technology. Then with delegate methods look up services/characteristics and then try to on/off led.
I can provide more info and background if needed.
I need some help and direction so that I can purchase the correct bluetooth module which connect to iPhone, and I am sure I can do it.
Thanks.
To answer above question-
HC-05 will not connect iPhone. Because HC_05 is not bluetooth low energy.
I have used AT-09 from amazon.
I have written complete article how I achieved it here, and challanges I faced with solution.
The HC-05 isn't compatible with iOS.
This is because Apple uses MFi Licensing Program and HC-05 is not licensed.
To get things working go for a module supporting minimal BT Version V4.0 BLE. Even better, BT Version: V4.2 BLE & V5.0 (better range and larger packet-size), if iOS (v11.0) supports it.
I am not going to recommend a specific model, that's what Google is for.
Apple devices under the MFi licensing scheme only support limited profiles.
HC-05 is based on Bluetooth 2.0. What will work for Apple mobile devices (iPhone, iPad) will be those modules that utilise Bluetooth 4.0 or Bluetooth Low Energy (BLE).
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).
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.
I write an native application for an iOS devices(iPhone and iPad) and want to print to Receipt Printer Epson TM-T88. I can not find any information on how to write a driver for Receipt Printer on iOS devices. Pleas can some one help me out or point out where even to start, thank you all.
Epson provides SDKs for iOS, which should be sufficient in connecting to their printers.
http://pos.epson.com/mobilesdks/index.htm
I don't believe the T88 is supported unless you have the Ethernet module to give the printer a TCP/IP connection as I believe that is the only way to print through iOS.
The target printer needs to be "AirPrint" capable. Currently, only a handful of HP printers are capable. I recommend you looking into solutions similar to Printopia.
I need to do this too but this is all I can find on StackOveflow:
Printing to Epson TM-T88V receipt printer from iOS/iPad using CUPS or other framework
Why can I not receive a response from a TCP/IP capable printer?
printing from ipad to receipt printer(Epson TM-T88v) thr wifi
The 3rd post mentions signing up with Epson Expert to gain access to technical docs etc. The TM-T88 Technical Reference Guide states:
With ESC/POS commands, you can
directly control all the TM printer functions, but detailed knowledge of printer specifications or
combination of commands is required, compared to using a driver.
To use ESC/POS commands, you need to agree to a nondisclosure contract first and obtain the
ESC/POS Application Programming Guide. Ask your dealer for details.
It also says this about the TM-T88V Mac Printer Driver:
Mac printer driver allows you to control the TM-T88V using Common
UNIX Printing System (CUPS) on Mac OS X.
This MacWorld forum post contains a lot of information about IOS printing via CUPS:
http://hints.macworld.com/article.php?story=20101027080807322
What is the best way to realize wireless communication between an embedded system (based on an AVR controller) and the iPhone? I think there are only two options: either WiFi or BlueTooth. The range is not really a problem, since both devices should stay in the same room.
I have no idea, if there are any useful WiFi boards that can be connected to an AVR based microcontroller system (or any small microcontroller), any hints would be highly welcome.
I guess the better solution would be BlueTooth, but there is also the problem: which BlueTooth board is best suited for attachment to an AVR system, and is it possible to use the iPhone BlueTooth stack for (serial) communication over BlueTooth with the AVR device.
I hope that somebody already realized such a system and can give some helpful tips...
You can get modules for both WiFi and Bluetooth that will connect to an embedded system through a UART interface, however a WiFi module will have far more processing power than your AVR microcontroller, often with spare capacity and I/O to execute additional user code, so connecting one to an AVR maybe somewhat redundant in many cases.
Bluetooth modules are simpler, less expensive, and the data-rate is better matched to the AVR's capabilities. For example these Parani modules. I have used them between an embedded system and a Laptop PC's Bluetooth, so given appropriate communications software, there is no technical reason why it could not be used with an iPhone I think. However this may be the flaw, on the PC the device was recognised as a virtual serial port, I don't know whether iPhone supports 'legacy' communications in quite the same way.
For comparison, a WiFi solution
From what I know, BlueTooth is very limited on the iPhone: There is only very few BlueTooth-Profiles implemented, and - even if they can be extended with a jailbroken iPhone - I doubt this is easy to use from the application layer.
On the other side, transferring via WiFi requires a lot of processing power and memory since much more things have to be implemented before you can even start transferring data: 802.11, cdma/ca, arp, tcp. That's a big task.
Is it an option to build a hardware extension to the iPhone ? You might be able to get the serial connection and power out of the dock connector. Then even ZigBee could be very helpful.
Here's an article you might find helpful. I would lean toward a WiFi solution just because of the added flexibility available.
http://www.embedded.com/design/networking/215801088
-t
Some of the other people at the office have done AVR <- Bluetooth -> Symbian and AVR <- Bluetooth -> PC solutions without trouble. There is lots of info, reference designs and source available. I have no idea of how hard it would be to use Bluetooth on Iphone.
The exact module is probability also not important as long as it got some type of serial interface (I2C,SPI) to interface to the AVR and some source code show how to use the module.
Is it an 8-bit or 32-bit AVR? For the AVR32 processors there's support
for WiFi in the Atmel 1.5.0 Software Framework using SD-card-mounted
WiFi modules from HD Wireless (http://www.hd-wireless.se), including
an IP stack (lwIP). Be aware that you need Ad-Hoc (IBSS) support to
connect directly to the iPhone.
There is WiSnap kit. It can connect directly to a standard RS232 interface or through the TTL UART interface to embedded processors. We are planning to use it in our project. It also has Ad-Hoc support.
There are some usage examples and an iPhone application for connection setup.
http://serialio.com/products/mobile/wifi/WiSnapKit1.php
What are you trying to communicate between your AVR and the Iphone? The Iphone is made for the web along with everything apple (which AVR's are decidedly not). So what works well is an embedded device that exposes a web-interface. Like the Transmission bittorrent client on Linux. Also nowadays many low-power small form-factor linux platforms exist that will allow you to do this.
For instance Gumstix has an ARM based platform that runs linux and includes WiFi (Overo Fire).