[Interest] Bluetooth Low Energy on Windows: Options and feasabilty of implementing own backend

Denis Shienkov denis.shienkov at gmail.com
Tue Jan 13 12:27:51 CET 2015


> Windows is successfully installing a driver and shows the bluetooth icon
in the system tray.
> For me it looks like my Windows/Desktop does not care for bluetooth LE at
all.

Make sure that your DeviceManager has "Bluetooth *LE* enumerator" device.

2015-01-13 14:25 GMT+03:00 Denis Shienkov <denis.shienkov at gmail.com>:

> > I can choose to „Add Bluetooth devices“ in the menu of that icon but the
> scan does neither show my peripheral nor my TVBluetooth
>
> This means that your demo FW has errors in its implementation. Windows
> support BLE stack according to specification, so, maybe your FW uses wrong
> states or handshake sequence and so on.
>
> BR,
> Denis
>
> 2015-01-13 1:28 GMT+03:00 Axel Jäger <axeljaeger at googlemail.com>:
>
>> Hello Denis, Hello Alex,
>>
>> thank you for your help, here is a description of my setup:
>>
>>
>>
>> Bluetooth peripheral:
>>
>> I use a BLE112-Bluetooth-Module from bluegiga. It is programmed with a
>> demo firmware that implements a Heart Rate service. I added one line to the
>> initalisation of the firmware:  sm_set_bondable_mode which enables
>> bonding.
>>
>>
>>
>> Windows Phone
>>
>> I use a Nokia Lumia 930. After a software update yesterday evening, I can
>> see and pair to my bluegiga heart rate demo now. Also, I see a second
>> device called TVBluetooth. I cannot pair to that device.
>>
>>
>>
>> Windows 8.1 Desktop
>>
>> I use a desktop PC with a bluetooth 4.0 dongle that looks like this one:
>>
>>
>> http://i01.i.aliimg.com/wsphoto/v0/1680100575_1/Mini-font-b-Bluetooth-b-font-V4-0-USB-font-b-Bluetooth-b-font-font-b.jpg
>>
>> Windows is successfully installing a driver and shows the bluetooth icon
>> in the system tray.
>>
>> I can choose to „Add Bluetooth devices“ in the menu of that icon but the
>> scan does neither show my peripheral nor my TVBluetooth
>>
>> I also tried an example project from Microsoft that also cannot find any
>> peripheral. This is no surprise because the application tells me to first
>> pair my device.
>>
>>
>>
>> For me it looks like my Windows/Desktop does not care for bluetooth LE at
>> all.
>>
>>
>>
>> Best regards,
>>
>>
>>
>> Axel
>>
>>
>>
>> *Von:* Denis Shienkov [mailto:denis.shienkov at gmail.com]
>> *Gesendet:* Montag, 12. Januar 2015 10:14
>> *An:* Blasche Alexander
>> *Cc:* Axel Jäger; interest at qt-project.org
>>
>> *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
>> feasabilty of implementing own backend
>>
>>
>>
>> Hi all,
>>
>> > So far, I was not able to communicate with a custom BLE peripheral
>> using either Windows Phone 8.1 or Windows 8.1 on a desktop.
>>
>> Hmm, it is strange. Can you please describe your steps and your env?
>> Maybe your custom BLE peripheral chip has wrong firmware.
>> I'm too faced earlier with a similar situation when a BLE peripheral
>> works on Max/Linux, but does not works on Windows 8.1 Desktop (the reason
>> was in a wrong FW).
>>
>> BR,
>> Denis
>>
>>
>>
>> 2015-01-12 12:01 GMT+03:00 Blasche Alexander <
>> alexander.blasche at theqtcompany.com>:
>>
>> How do you define a custom BLE peripheral (aka what BLE devices work and
>> which don't) on Win 8.1? Is it one that is not defined by some well known
>> service or characteristic UUID?
>>
>>
>>
>> --
>>
>> Alex
>> ------------------------------
>>
>> *From:* Axel Jäger <axeljaeger at googlemail.com>
>> *Sent:* Sunday, January 11, 2015 22:35
>> *To:* Blasche Alexander; interest at qt-project.org
>> *Subject:* AW: [Interest] Bluetooth Low Energy on Windows: Options and
>> feasabilty of implementing own backend
>>
>>
>>
>> Hello Alex,
>>
>> thank you for your answer. So if there is someone working on a port of
>> windows, time might be my friend and I might start on my mac using 5.5.
>> However, in the meantime I found out that the implementation of Bluetooth
>> LE on Windows behaves differently regarding the need to bond and pair
>> devices.
>>
>>
>>
>> So far, I was not able to communicate with a custom BLE peripheral using
>> either Windows Phone 8.1 or Windows 8.1 on a desktop.
>>
>>
>>
>> I guess an implementation of the Qt Bluetooth LE API will inherit this
>> behaviour. If this is case and currently I guess it is the case, I better
>> go with the bluegiga SDK directly.
>>
>>
>>
>> Best regards,
>>
>>
>>
>> Axel
>>
>>
>>
>> *Von:* interest-bounces+axeljaeger=googlemail.com at qt-project.org [mailto:
>> interest-bounces+axeljaeger=googlemail.com at qt-project.org] *Im Auftrag
>> von *Blasche Alexander
>> *Gesendet:* Mittwoch, 7. Januar 2015 09:28
>> *An:* interest at qt-project.org
>> *Betreff:* Re: [Interest] Bluetooth Low Energy on Windows: Options and
>> feasabilty of implementing own backend
>>
>>
>>
>> Hi Axel,
>>
>>
>>
>> Your assumption about 5.5 is correct. Android gets LE support and ios/OSX
>> get classic and LE support.
>>
>>
>>
>> Windows is currently work in progress. There is a wip/win branch on
>> codereview. The windows port is mostly community driven at this stage which
>> makes prediction somewhat hard. Ccurrently, you can find devices and I
>> believe the initial connect to a BTLE device is somewhat done. This is done
>> for classic desktop windows (which would cover win 8.1). There is no WinRT
>> code at this stage.
>>
>>
>>
>> to your questions:
>>
>>
>>
>> 1.) I am confident Windows should have no unfixable problems. In many
>> cases it is better than ios/OSX/Android when it comes to LE. I cannot say
>> much about WinRT.
>>
>>
>>
>> 2.) I am not the WinRT expert but I was told in some cases it works in
>> other's it doesn't. QtPositioning apparantly couldn't use RT on desktop. Qt
>> doesn't mix desktop and RT and I got the feeling that the responsiple devs
>> would like to keep it that way.
>>
>>
>>
>> 3.) The QtBluetooth library doesn't use a backend plugin. It is hardcoded
>> into the library.
>>
>>
>>
>> --
>>
>> Alex
>> ------------------------------
>>
>> *From:*
>> interest-bounces+alexander.blasche=theqtcompany.com at qt-project.org <
>> interest-bounces+alexander.blasche=theqtcompany.com at qt-project.org> on
>> behalf of Axel Jäger <axeljaeger at googlemail.com>
>> *Sent:* Tuesday, January 6, 2015 23:51
>> *To:* interest at qt-project.org
>> *Subject:* [Interest] Bluetooth Low Energy on Windows: Options and
>> feasabilty of implementing own backend
>>
>>
>>
>> Hello,
>>
>> I have created a Bluetooth Low Energy Peripheral and need to develop a
>> companion application on a windows desktop for it. I see that windows is
>> currently not in the list of supported plattforms of Qt’s Low Energy Module
>> and it looks like it will not be in Qt 5.5 according to this commit:
>>
>>
>> https://qt.gitorious.org/qt/qtconnectivity/commit/ffbb91da8e8f14d7d5ffa8bbeace3e6c42eb525b
>>
>>
>>
>> I am using bluetooth modules from bluegiga and they also offer a
>> bluetooth stick with an own C API.
>>
>>
>>
>> I see three options getting my task done and I am asking you which one
>> you think is most sensible one:
>>
>> 1) Implement my application using bluegiga’s API
>>
>> 2) Implement a backend for Qt to use bluegiga’s hardware
>>
>> 3) Implement a backend for Qt to use the Windows Bluetooth API from
>> WinRT/Windows 8.1
>>
>>
>>
>> The options are ordered by estimated amount of work from least to most.
>> Surprisingly I get the same order when sorting by sustainability.
>>
>>
>>
>> This means that actually option 3) is to be prefered. This brings me to a
>> couple of questions:
>>
>> 1)      Has anyone already looked into the Windows API and wants to make
>> a statement whether mapping Qt’s API to the Windows API is feasable?
>>
>> 2)      Is it actually possible to use WinRT on the Desktop as backend
>> for Qt?
>>
>> 3)      Is there an API or a plugin interface for Bluetooth LE backends
>> in Qt?
>>
>>
>>
>> Can you comment on any of my points?
>>
>>
>>
>> Best regards,
>>
>>
>>
>> Axel
>>
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150113/514edf32/attachment.html>


More information about the Interest mailing list