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

Blasche Alexander alexander.blasche at theqtcompany.com
Mon Jan 12 10:01:46 CET 2015


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<mailto:interest-bounces+alexander.blasche=theqtcompany.com at qt-project.org> <interest-bounces+alexander.blasche=theqtcompany.com at qt-project.org<mailto:interest-bounces+alexander.blasche=theqtcompany.com at qt-project.org>> on behalf of Axel Jäger <axeljaeger at googlemail.com<mailto:axeljaeger at googlemail.com>>
Sent: Tuesday, January 6, 2015 23:51
To: interest at qt-project.org<mailto: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/20150112/8ef11fd3/attachment.html>


More information about the Interest mailing list