Bluetooth with Windows ? (Bluetooth Low Energy)



  • Hello All,

    My last post on this forum was very useful for me so i restart the experience :)

    Is somebody able to give me a clue on a third party library that allows to scan Bluetooth Low Energy around ?
    I mean i need it for Windows Platform.

    I already tested with BluetoothApis.h from Microsoft SDK but this api is only able to detect Regular Bluetooth and not BLE (things that i don't understand because my windows 10 show me my BLE device in setting).

    My research on this topic gives me 3 things :

    • Windows BluetoothApi (Already tested)
    • Bluesoleil (don't know how it works really and if i can use it with Mingw)
    • QZeroBluetooth (didn't really understand what it is)

    So my question is simply, if somebody already created a soft using BLE could he gave me the library he used.

    Sorry for my English that is might be poor, but this is not my main language.

    Regards.


  • Lifetime Qt Champion

    Hi,

    One thing you can take a look at is the wip/win branch of the QtConnectivity module. It contains a work in progress Windows implementation.

    Hope it helps



  • Aw thanks but i omit to mention that i already tried it, maybe i done wrong, but it doesn't work for me.

    I cloned the git, then i opened multiple project such as Btscanner, Low energy scanner, ... with QtCreator 2.0, then i compil .... annnnd paff
    compiled with QT 5.8 MingW 32b

    "qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional."


  • Lifetime Qt Champion

    Maybe a silly question but did you rebuild the module ?



  • Aie, maybe the problem is here ...
    How to do this rebuild on windows ?

    While you answer me i'll will search

    Edit :
    By the way, i'm on Qt 5.8, free version (i don't know if it's usefull ...)

    I copied the qtconnectivity branch to my "D:\Qt\5.8\Src\qtconnectivity" to replace it ( i made a backup just in case).
    Now when i check the qmake.conf (with notepad) i see that the version is 5.8.1 instead of 5.8.0.

    I guess that i need to rebuild in order to put the right lib file in my Mingw folder but i don't know how :)


  • Lifetime Qt Champion

    No need to copy anything.

    Open a Qt command line

    cd /some/place/
    mkdir build_qtconnectivity
    cd build_qtconnectivity
    qmake /path/to/your/cloned/qtconnectivity
    nmake << or jom
    nmake install << **WARNING** will overwrite your currently installed qtconnectivity libraries
    


  • Many thanks for your reply.

    Here is my result :
    qmake -r D:\Qt\qtconnectivity


    Configure summary:

    Qt Bluetooth:
    BlueZ .................................. no
    BlueZ Low Energy ....................... no
    Linux Crypto API ....................... no

    Reading D:/Qt/qtconnectivity/src/src.pro [D:/Qt/qtConnectivyBuild/src]
    Reading D:/Qt/qtconnectivity/src/bluetooth/bluetooth.pro [D:/Qt/qtConnectivyBuild/src/bluetooth]
    Project MESSAGE: Unsupported Bluetooth platform, will not build a working QtBluetooth library.
    Project MESSAGE: Either no Qt D-Bus found or no BlueZ headers available.
    Project MESSAGE: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild
    D:/Qt/qtconnectivity
    'perl' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Project ERROR: Failed to run: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity

    And of course when i "jom" (because nmake is not found)

    jom 1.1.2 - empower your cores

        cd src\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\src.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile
        cd bluetooth\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\bluetooth\bluetooth.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile
    

    'perl' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Project MESSAGE: Unsupported Bluetooth platform, will not build a working QtBluetooth library.
    Project MESSAGE: Either no Qt D-Bus found or no BlueZ headers available.
    Project MESSAGE: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild
    D:/Qt/qtconnectivity
    Project ERROR: Failed to run: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    cd nfc\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\nfc\nfc.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile
    'perl' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Project MESSAGE: Unsupported NFC platform, will not build a working QtNfc library.
    Project MESSAGE: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtNfc -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    Project ERROR: Failed to run: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtNfc -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    jom: D:\Qt\qtConnectivyBuild\src\Makefile [sub-bluetooth-make_first] Error 3
    jom: D:\Qt\qtConnectivyBuild\src\Makefile [sub-nfc-make_first] Error 3
    jom: D:\Qt\qtConnectivyBuild\Makefile [sub-src-make_first] Error 2

    And finally

    jom install

    jom 1.1.2 - empower your cores

        cd src\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\src.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile install
        cd bluetooth\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\bluetooth\bluetooth.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile install
    

    'perl' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Project MESSAGE: Unsupported Bluetooth platform, will not build a working QtBluetooth library.
    Project MESSAGE: Either no Qt D-Bus found or no BlueZ headers available.
    Project MESSAGE: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild
    D:/Qt/qtconnectivity
    Project ERROR: Failed to run: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtBluetooth -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    cd nfc\ && ( if not exist Makefile D:\Qt\5.8\mingw53_32\bin\qmake.exe -o Makefile D:\Qt\qtconnectivity\src\nfc\nfc.pro ) && D:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile install
    'perl' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.

    Project MESSAGE: Unsupported NFC platform, will not build a working QtNfc library.
    Project MESSAGE: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtNfc -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    Project ERROR: Failed to run: perl -w D:\Qt\5.8\mingw53_32\bin\syncqt.pl -module QtNfc -version 5.8.1 -outdir D:/Qt/qtConnectivyBuild D:/Qt/qtconnectivity
    jom: D:\Qt\qtConnectivyBuild\src\Makefile [sub-bluetooth-install_subtargets] Error 3
    jom: D:\Qt\qtConnectivyBuild\src\Makefile [sub-nfc-install_subtargets] Error 3
    jom: D:\Qt\qtConnectivyBuild\Makefile [sub-src-install_subtargets] Error 2

    I Highlighted some problem if it is. i will test to make perl to be reconignez then i will edit this if any problem.

    EDIT :
    What a hell, i encountered many isue to install PERL on windows, then i had to download the portable version.
    I modified my qtenv2.bat in order to add jom directory and my perl portable directory.

    the build is under progress, i will keep you in touch of the result ....

    EDIT :
    Same error : qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional.

    I encoutered some error during the build 'file acces error used by another process' ....

    I'm lost :p


  • Lifetime Qt Champion

    Did you restart from scratch once you had perl properly installed ?

    And a silly question but, did you checkout the wip branch before building ?



  • @SGaist

    You are a monster ! that was this f**** command checkout.
    I don't really understand how git works so that probably why i do weird things.

    I need to learn more about git, i see it everywhere without knowing what it is :)

    By the way i wish to thank you very very very much for your patience.
    It Works, now i need to understand by my self why one of my ble device is not discovered :p but for that you can't help me.

    Have a nice day and maybe see you soon on Qt Forum.



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.