QT笔记:BLE库

QT笔记:BLE库

说明

QT自带蓝牙库,但是QT的蓝牙库又有很多坑,这里记录下

安装QT蓝牙库

​ 和其他模组类似,可以通过QT的维护工具进行添加,跟之前添加串口库类似。不过要注意,蓝牙库并不是独立存在,而是和NFC等组件统一在Connectivity库中。添加时需要检查仔细

安装MSVC

​ 在添加蓝牙库时需要注意,在Window中进行QT蓝牙开发,编译工具链不要使用mingw工具链。出于平台支持缘故,蓝牙库只有使用MSVC工具链进行编译才能生效,因此如果没安装MSVC工具链的在添加蓝牙库时候也可以一起添加

​ 注意光在QT上添加MSVC组件是不够的,真正的MSVC工具链还需要下载安装microsoft visual studio,并且安装时需要选择安装跟qt对于版本的MSVC工具链。例如QT中我安装了MSVC 2019 64bit的组件,那么安装VS时也需要安装对应的工具链

​ 安装时候选择C++开发,并且添加MSVC对应版本工具链(目前VS最新的是2022版本,默认的MSVC工具链也是2022的,不过QT的组件还是2019的,所有安装时需要另外添加2019版本的MSVC,上面的图是我网上找的,里面安装的不是2019),QT添加MSVC的教程网上有很多,这里只做简要说明,安装好MSVC后,QT会自动识别MSVC的配置

BLE扫描例程

​ 打开Qt Creator,我们从官方的蓝牙示例工程开始入手,在欢迎界面搜索BLE,找到BLE Scanner例程并打开

选择MSVC工具链,不要选择mingw

编译工具链配置如下:

如果提示CMake中Debug类型找不到的话,点击重新配置即可

编译运行成功

代码功能

​ BLE库要怎么用,这个网上也好,QT本身也好都有充足的资料去参考,这里我就不重复工作了。这里我总结下用这个QT库遇到的一些经验,库版本为6.6.3:

  1. QT的蓝牙库目前在Window上只能做主机进行扫描,连接,无法作为从机进行广播。Linux/安卓下都可以
  2. QT的蓝牙库目前在Window上不支持连接参数动态更新,只能在连接时固定死,或者由从机设备来发起更新。Linux/安卓下都可以
  3. QT的蓝牙库目前在任何平台上都不支持动态修改MTU,和PHY。只能从机发起
  4. QT的蓝牙库目前在任何平台上都不支持设置SCAN的interval和duration,只能设置一个timeout时间,用于管理扫描行为持续时间

demo展示

最后展示自己写的一个基本demo,用来实现BLE的透传功能

posted on   不回本不改名  阅读(571)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示