QT 之蓝牙BLE编程

news/2024/10/18 14:20:12/

简介

使用PC蓝牙和蓝牙透传模块通讯。

准备

QT       += core gui bluetooth

QT蓝牙库相关头文件

#include <QtBluetooth/qbluetoothglobal.h>
#include <QtBluetooth/qbluetoothlocaldevice.h>
#include <qbluetoothaddress.h>
#include <qbluetoothdevicediscoveryagent.h>
#include <qbluetoothlocaldevice.h>
#include <qbluetoothsocket.h>

QT蓝牙重要的接口类

在这里插入图片描述
****

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

QBluetoothDeviceDiscoveryAgent -- 蓝牙搜索类(BLE蓝牙或经典蓝牙都使用此类进行搜索)
QBluetoothLocalDevice			-- BLE本地蓝牙设备管理类
QBluetoothSocket				-- BLE蓝牙通讯相关

获取本地蓝牙情况

if( localDevice->hostMode() == QBluetoothLocalDevice::HostPoweredOff)//设备没有打开蓝牙
{localDevice->powerOn();//调用打开本地的蓝牙设备m_bleDiscoveryAgent->start();//开始扫描蓝牙设备
}

关闭蓝牙

localDevice->setHostMode(QBluetoothLocalDevice::HostPoweredOff);

蓝牙连接处理

需要服务UUID serviceUuid和蓝牙MAC地址address

 socket->connectToService(address, QBluetoothUuid(serviceUuid) ,QIODevice::ReadWrite);

发送蓝牙数据处理

QByteArray arrayData;
QString s("aa bb cc dd\n");
socket->write(s.toUtf8());

接收蓝牙数据处理

QBluetoothSocket *socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);
//接收BLE蓝牙数据触发下面槽函数
connect(socket,SIGNAL(readyRead()),this,SLOT(readBluetoothDataEvent()));//读取蓝牙数据只需要readALL()
void MainWindow::readBluetoothDataEvent()
{QByteArray line = socket->readAll();QString strData = line.toHex();comStr.append(strData);if(comStr.length() >= 4){ui->textBrowser->append(comStr + "\n");comStr.clear();}
}

效果如下

查找蓝牙设备
在这里插入图片描述
连接
在这里插入图片描述

向蓝牙模块发送数据

在这里插入图片描述

在这里插入图片描述

接收蓝牙模块数据

在这里插入图片描述

补充中

。。。休息


http://www.ppmy.cn/news/774996.html

相关文章

笙默考试管理系统-MyTestMean(3)

笙默考试管理系统-MyTestMean&#xff08;3&#xff09; 目录 一、 笙默考试管理系统-MyTestMean 二、 笙默考试管理系统-MyTestMean 三、 笙默考试管理系统-MyTestMean 四、 笙默考试管理系统-MyTestMean 五、 笙默考试管理系统-MyTestMean 笙默考试管理系统-MyTest…

Windows 11 家庭版、专业版、企业版、教育版、SE 版之间的区别

Windows 11 上市不到一年&#xff0c;于 2021 年 10 月首次亮相&#xff0c;以各种版本的形式向公众提供。 对于仅使用 Windows 11 浏览 Internet 或执行基本任务的人来说&#xff0c;版本可能无关紧要。 但是&#xff0c;如果您有兴趣对您的操作系统进行更多控制&#xff0c;那…

Office各个windows版本支持大全

本人下载了个office2019&#xff0c;结果没装上&#xff08;我是win7&#xff09;。老老实实装回了office2016。为了避免大家走弯路&#xff0c;耗时耗力&#xff0c;总结各个版本如下&#xff0c;希望对大家有帮助。 具体如下&#xff1a; Office 2019版(32位)&#xff1a;(…

office365有必要值得买吗?office365家庭版和个人版区别解析

一&#xff1a;office365有必要值得买吗&#xff1f; 微软的Office产品线有两条&#xff0c;一条是Office 365&#xff1b;一条是目前的Office2019。 office365又有两个版本&#xff1a; 1&#xff1a;Office 365个人版&#xff08;官网&#xff09; 2&#xff1a;Office 3…

Microsoft365与Office到底啥区别?如何选择下载安装哪个版本?

Microsoft 365 是一种订阅服务&#xff0c;可确保你始终拥有最新的 Microsoft 新式生产力工具。 存在针对家庭和个人、中小型企业、大型企业、学校以及非营利组织的 Microsoft 365 计划。 适用于家庭和商业的 Microsoft 365 计划 包括你所熟悉的功能强大的 Microsoft 365 桌面应…

在office 2019(家庭版)的基础上,怎么安装visio 2021(专业版)

结论&#xff1a;应该先装Visio2021&#xff0c;再装Office2019&#xff0c;在电脑现有Office的基础上是装不了别的Visio的。 我从学校的正版软件下的visio 2021专业版&#xff0c;(正版就可) 在安装时显示与电脑上已有的office 2019&#xff08;家庭版&#xff09;冲突&#…

MicrosoftOffice 365家庭版有什么用 Microsoft365家庭版怎么取消订阅

随着越来越多的家庭开始采用数字化的生活方式&#xff0c;家庭成员之间的协作和沟通也越来越重要。Microsoft Office 365家庭版是一款为家庭设计的办公软件套件&#xff0c;它包括了多个实用的工具&#xff0c;能够帮助家庭成员更好地协作、提高工作效率、保护数据安全。这篇文…

HTML5 游戏开发实战 | 俄罗斯方块

俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏&#xff0c;它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏看似简单但却变化无穷&#xff0c;游戏过程仅需要玩家将不断下落的各种形状的方块移动、翻转&#xff0c;如果某一行被方块充满了&…