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

Denis Shienkov denis.shienkov at gmail.com
Tue Jan 13 12:25:24 CET 2015


> 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/30d32b71/attachment.html>


More information about the Interest mailing list