I am creating a mobile application that can detect iBeacons and I am confused which windows devices support that. I already checked that it's possible in Windows 10 but somewhere I read that it's also possible for Windows 8.1.
Unfortunately, it is not possible to detect beacons with Windows Phone 8.x because the OS has no built-in beacon support and does not allow apps to access raw Bluetooth LE scan results.
You can read more info about this here: https://stackoverflow.com/a/30603394/1461050
Related
According to Microsoft's latest docs:
Do I have to pair Bluetooth devices before using them? You don't have
to for Bluetooth RFCOMM (classic) devices. Starting with Windows 10
release 1607, you can simply query for nearby devices and connect to
them. The updated RFCOMM Chat Sample shows this functionality.
However, when I try to connect to my devices using this chat sample, I get a notification that asks me to "set up the device", like I was going through a normal pairing process.
Am I missing something?
The snippet of code that I changed from the sample:
var rfcommServices = await bluetoothDevice.GetRfcommServicesAsync(BluetoothCacheMode.Uncached);
Taken from msdn resources:
Windows 10 Mobile is currently limited to connections with only paired
devices. In Windows 10, you can programmatically pair/unpair. See
scenarios 8 and 9:
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/DeviceEnumerationAndPairing
Here’s is the related MSDN documentation on pairing and the relevant
device selectors for enumeration.
https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.enumeration.deviceinformationpairing.aspx
https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.bluetooth.bluetoothdevice.aspx
But I also know that you can use direct bluetooth connections on lower level and this way windows won't suggest you pairing. For example, that's how things work with 32feet.net library, discussed in this answer (I worked with it and it was fine, however it is currently unsupported so please beware of it).
First thing to test is the bluetooth protocol used to be RFCOMM in both client and server. Link
Check that both client and server hardware support the RFCOMM
Check the bluetooth versions in both client and server link
based on wikipedia bluetooth has many protocols.
Second is to check windows version
I accessed the Chrome BLE API page (5/7/2016). there seem to be conflicting information messages (see image below). Does this work on Chrome OS only, or OS X and Windows also?
EDIT/UPDATE:
I tried the demo application (demo BLE API) on Windows 10. It was able to see paired devices, but not unpaired devices. I got an error message: Battery device not supported on this platform. I'm not sure if this is because of the test vector I used (LightBlue), or another issue.
System:
Windows 10 64 bit
Surface Pro 3
The chrome.bluetoothLowEnergy API works only for paired devices on Windows as it still uses (at that time) Windows 8 APIs to retrieve paired devices only: https://chromium.googlesource.com/chromium/src/+/08c9d69b0c0d625d2ce38e3d8402f36e1226f0fc/device/bluetooth/bluetooth_low_energy_win.h#117
For info, the Web Bluetooth team plans to support Windows 10 as much as feasible: https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md#chrome
Reading through your given documentation wherein you referenced the use of navigator.bluetooth, Interact with BLE devices on the Web also states that:
Web Bluetooth API is at the time of writing partially implemented in Chrome OS and Chrome Dev for Android behind an experimental flag.
Hence, you got undefined as a return value.
Functionalities were provided by Bluetooth Low Energy (BLE) through key/value pairs provided by the Generic Attribute Profile (GATT).
How can I create an iBeacon on a windows 7 PC with Smart Bluetooth 4.0 integrated with the Wi-Fi, I.e not a separate dongle. I'd rather not look at other OS's as the device also has to run an Adobe air application at the same time.
Thanks
Mike
Sorry, but you cannot natively make a Bluetooth LE-equipped Windows 7/8/8.1 computer broadcast as an iBeacon. The operating system is limited in its BLE support to allowing third party apps to work with a limited number of BLE profiles. More details are available here in this question about Windows phone, but the info also applies to the desktop Windows OS:
iBeacon support for Windows Phone devices. Support is expected to be added in Windows 10 in late 2015.
Until then, your options are limited to a Linux VM or to a hardware dongle with native iBeacon support.
As David pointed out, there is no API available for working with iBeacons until Windows 10.
If you don't need any other Bluetooth connectivity, you can replace the Bluetooth driver with a libusb driver and use your own Bluetooth stack which adds support for iBeacon. You can check out open-source libraries like BlueZ and btstack and make the HCI layer work. On top of that you can implement/port the BLE advertisement and discovery HCI commands and you have all you need for working with iBeacons.
I am looking to implement the use of a Bluetooth 4.0 Smart Ready device (Polar H6/H7 Heart Rate Sensors) in my application. I am forced to target Windows 7 OS. However, I'm only seeing Windows 8 support for Smart Ready devices. I will not be able to upgrade clients to windows 8 in order to use these devices.
The first problem I found is that Windows 7 does not even see the device in order to pair with it. This might be the dongle I'm using. I have tried 2 different ones. The first is a CSR V4.0 (I'm not sure the actual model number). The second is StarTech USBBT1EDR4. Both seem to be using a CSR chipsets. Maybe I should try a different chipset based dongle? Such as Broadcom or TI?
I do see and can pair with the device with my Windows 8.1 Surface Pro.
Is there no way to get Bluetooth Smart implementation for Windows 7 OS platform?
I've recently faced the same problems! I need to run an application in o older version of windows (win xp) and I cannot find any support to that with my dongle (one based in broadcom bcm20702).
What I've found is that windows prior to windows 8, has no bluetooth low energy support, so you would not be able to use the windows bluetoth stack, and broadcom doesn't have a sdk for BLE (I've contacted them, and they said it).
So I've looked for other alternatives and BlueGiga bluetooth 4.0 dongle has a C SDK that you can use to develop your applications in Windows XP and 7. In that page (after register) you can find all the documentation you need.
I've also found a C# Wrapper and a Java Wrapper to its API.
Hope it can help.
[EDIT] : just received my dongle, tried it with win XP and it worked. Guess this is a solution for you also!
Strange thing is, I installed windows 10 and I could use bluetooth smart from my Logitech MX master mouse, but I had to go back to windows 7 because of display drivers and now it does not support it anymore. Windows 7 does not support smart bluetooth. It's just a driver I would presume, but Logitech does not provide it.
I find it realy strange that the old bluetooth device in my laptop worked fine with bluetooth smart devices in Windows 10 but in windows 7 it can only connect to plain old bluetooth devices.
I want to know if it is possible to list Bluetooth LE devices in Windows Phone 8? The documentation comes up with a note that says that only paired devices could be listed.
Offtopic
Windows Phone really starts to freakin' me out. Every thing is hidden from the developer, like RFID, available WLAN's and so on. Sry but this had to be.
Bluetooth LE support just came to some Lumia devices recently, so there are no public APIs available yet. See here for some details.