Use BLE L2CAP CoC on Windows - windows

I am trying to use Windows PC as a Central and connect it to BLE L2CAP CoC opened by Android smartphone using BluetoothAdapter#listenUsingL2capChannel(). From what I found after looking through MSDN documentation dedicated to the use of Bluetooth on Windows, I assumed I had to implement kernel-mode driver similar to Bluetooth Echo L2CAP Client Profile Driver. But it looks like BRBs for opening l2cap channel are not designed to support LE Credit Based Flow Control Mode (which I assume is the mode the channel opened by Android is configured in). And that leads to the conclusion that one can not use the transmission directly over BLE L2CAP channel on Windows.
What I expect in the answer is a confirmation or a contradiction to my conclusion and sharing the experience of setting up an interaction between Android and Windows using BLE. Is using the GATT the only option for this?

Related

Windows 10 Connect to Bluetooth Classic Device without Pairing

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

Miracast on Windows 10

Is there any method add the Miracast protocol support to a Windows 10 portable device?
My portable (EliteBook 8560w) unit is Bluetooth and WiFi enabled, running Windows 10 Enterprise.
We have a few projectors that understand Miracast plus a dongle that brings the protocol to any standard HDMI TV.
miracast is supported on windows10, the name is widi。
you can win+K to open the miracast feature.
some low version of win10 is not support widi.
you can update you win10 function.
some low wifi driver is not support widi
you can update you wifi driver
Miracast protocol is implemented on windows 10 (software). That message says your hardware do not support Wifi-p2p which is the link between source and sink miracast uses. After that pairing miracast is simply a rtsp stream protocol.
Check this issue https://github.com/albfan/miraclecast/issues/103 to understand internals of miracast protocol

BLE on Windows 8.1+

Have anyone managed to interface with BLE peripherals on Windows? Is there any library/API that can be used? Qt has now support for BLE in several platforms except Windows (http://doc.qt.io/qt-5/qtbluetooth-index.html) and unfortunately I'm not aware of an alternative for it.
You can find the API released by Microsoft for BLE in this link:
https://msdn.microsoft.com/en-us/library/windows/hardware/hh450825(v=vs.85).aspx
Be aware that the main drawback of using BLE for Windows 8.1 is that you have to establish a connection with your peripheral device manually in Bluetooth Options for Windows 8.1. You cannot implement a scanning functionality in your application.

Maintaining a Windows Bluetooth Connection

I'm manufacturing a device that connects to my computer using Bluetooth and then a desktop Java app uses the Bluetooth connection to send serial data to the device which is then displayed.
When I try to connect my device to windows 7 it successfully finds and pairs with it creating a Bluetooth link on a COM port. This link can then be used by a serial prompt (used for testing) or my Java application. It works initially however soon after windows drops the connection and the only way to reconnect is to delete the device within devices and printers and then reconnect.
This seems to be a known problem with windows bluetooth so I decieded to use a third party Bluetooth application. I downloaded and tried Toshiba's Bluetooth Stack and it was able to add a Bluetooth device and keep a stable connection which works great however this only works for Toshiba computers without getting a cracked version.
This device is commercial and can't be sold with cracked versions of software. Has anybody experienced the same problems or not in other operating systems and has any solutions of advice as that would be a tremendous help.
This is not a good idea/method to use the COM ports generated by Windows, it's not working fine and not reliable in any scenario ; you should use Bluetooth Sockets instead.
Using Toshiba or Widcomm or BleuSoleil won't help: under Win7, all dongles are now trying to use the Microsoft Stack, not their own implementation.

iBeacon BLE Bluetooth 4.0 Windows 7

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.

Resources