Windows下QT5蓝牙通信开发编程相关问题

蓝牙透传模块芯片有如下两种BLE和SPP协议子集

BLE蓝牙是蓝牙2.0以上的蓝牙模块,属于低功耗蓝牙部分。spp经典蓝牙是蓝牙2.0以下的蓝牙。

spp蓝牙型号有HC-02/HC-04/HC-05/HC-06/HC-07,默认配对密码1234。spp蓝牙协议的模块可以与手机直接配对。
ble蓝牙协议的模块需要通过ble协议的app或小程序进行连接,BLE蓝牙型号有HC-04/HC-08/HC-09/HC-42。

因此在使用QT编程时,spp蓝牙与ble蓝牙有两种不同的通信方式,所需要的配置各不相同.

首先我们来讲解spp经典蓝牙通信方式的一些经典问题:

首先,QT版本开发环境尽量为5.14.2以上,否则编译时会报错qt.bluetooth: Dummy backend running. Qt Bluetooth module is non-functional.

spp经典蓝牙使用socket编程进行客户端与服务器之间的通信(与网络socket相似),可使用MinGW编译器。

若要在Qt中使用蓝牙库需要在.pro文件添加一下一句话

QT       += bluetooth

然后我们来讲解一下ble低功耗蓝牙通信方式的一些经典问题:

BLE蓝牙则无法使用socket进行通信。BLE蓝牙下有服务、特征值,所谓的BLE蓝牙通信其实就是对特征值的一个读写操作。QT编译器必须选用MSVC编译器,否则无法扫描出低功耗蓝牙。搜索API中参数需要添加为下列形式:

Discovery->start(QBluetoothDeviceDiscoveryAgent::LowEnergyMethod);
void MainWindow::addBlueToothDevicesToList(QBluetoothDeviceInfo Info)
{
    if(Info.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration)
    {
        QString showStr = QString(Info.name()) + QString("(") + QString(Info.address().toString()) + QString (")");
        ui->listWidget->addItem(showStr);
        deviceList.append(Info);
    }
}

具体例程源码,后续会上传到资源。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lisan_离散

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值